Скрипты и программы на языке Перфо — различия между версиями
Материал из ТХАБ.РФ
Тест (обсуждение | вклад) м |
Админ (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
// *** Тестовый скрипт на языке Перфо *** | // *** Тестовый скрипт на языке Перфо *** | ||
− | |||
(Отладка Истина) //включим режим отладки скрипта | (Отладка Истина) //включим режим отладки скрипта | ||
− | |||
(Очистить) //очищаем экран консоли | (Очистить) //очищаем экран консоли | ||
#Область "Привет, МИР!" | #Область "Привет, МИР!" | ||
− | |||
(Вывод "Привет, МИР! Это программа на языке Перфо." ПС) | (Вывод "Привет, МИР! Это программа на языке Перфо." ПС) | ||
//запросим у пользователя имя и сохраним в переменную | //запросим у пользователя имя и сохраним в переменную | ||
Строка 14: | Строка 11: | ||
(Пауза) | (Пауза) | ||
(Вывод ПС) // ПС это символ перевода строки | (Вывод ПС) // ПС это символ перевода строки | ||
− | |||
#КонецОбласти | #КонецОбласти | ||
#Область "Арифметические выражения" | #Область "Арифметические выражения" | ||
− | |||
//попробуем вычислять арифметические выражения | //попробуем вычислять арифметические выражения | ||
(Перем А 5.3) (Вывод "Перем А=" А ПС) //создадим переменную А и выведем её значение на экран | (Перем А 5.3) (Вывод "Перем А=" А ПС) //создадим переменную А и выведем её значение на экран | ||
Строка 31: | Строка 26: | ||
(Пауза) | (Пауза) | ||
(Вывод ПС) | (Вывод ПС) | ||
− | |||
#КонецОбласти | #КонецОбласти | ||
Текущая версия на 20:49, 7 августа 2020
// *** Тестовый скрипт на языке Перфо *** (Отладка Истина) //включим режим отладки скрипта (Очистить) //очищаем экран консоли
#Область "Привет, МИР!" (Вывод "Привет, МИР! Это программа на языке Перфо." ПС) //запросим у пользователя имя и сохраним в переменную (Перем Пользователь (Ввод "Введи своё имя: ")) (Вывод "Вас зовут " Пользователь ПС) (Пауза) (Вывод ПС) // ПС это символ перевода строки #КонецОбласти
#Область "Арифметические выражения" //попробуем вычислять арифметические выражения (Перем А 5.3) (Вывод "Перем А=" А ПС) //создадим переменную А и выведем её значение на экран //тут мы налету создадим идентификатор Б из строки "Б" (Перем (Идент "Б") 4.7) //после создания идентификатора (Идент "Б") сразу вычислим его значение ((Идент "Б")) (Вывод "Перем Б=" ((Идент "Б")) ПС) (Вывод "Выражение: (+ А Б)" ПС) (Вывод "Результат = " (+ А Б) ПС) (Вывод "Выражение: (* А (+ А Б))" ПС) (Вывод "Результат = " (* А (+ А Б)) ПС) (Пауза) (Вывод ПС) #КонецОбласти
//проверим оператор Если (если (> А 100)
( (Вывод "А=" А " больше 100!" ПС) (перем Б (* Б 2)) (вывод "Б умножилось на 2 = " Б ПС) ) ( (Вывод "А=" А " НЕ больше 100!" ПС) (перем Б (* Б 10)) (вывод "Б умножилось на 10 = " Б ПС) )
) //оператор Если возвращает последнее значение из выбранной по условию последовательности (Вывод (Если (< А 100) "меньше 100" "больше 100") пс) (Пауза) (Вывод ПС)
//создадим функцию с одним аргументом (Функция (Квадрат х) (* х х))
//проверим функцию (Вывод "Выражение: (Квадрат А)" ПС) (Вывод "Результат = " (Квадрат А) ПС) (Пауза) (Вывод ПС)
//создадим функцию с двумя аргументами (Функция (Множ х у) (* х у))
//проверим функцию (Вывод "Выражение: (Множ А Б)" ПС) (Вывод "Результат = " (Множ А Б) ПС) (Пауза) (Вывод ПС)
//определим функцию очень хитрым способом //условие возвращает действие + или -, которое затем применяется к х (функция (абс х)
((если (>= х 0) + -) х)
) (Вывод "Результат (абс -3) = " (абс -3) ПС)
//определим факториал (функция (факториал х)
(если (= х 0) 1 (* х (факториал (- х 1))) )
) (Вывод "Результат (факториал 0) = " (факториал 0) ПС) (Вывод "Результат (факториал 1) = " (факториал 1) ПС) (Вывод "Результат (факториал 2) = " (факториал 2) ПС) (Вывод "Результат (факториал 3) = " (факториал 3) ПС) (Вывод "Результат (факториал 4) = " (факториал 4) ПС)
//используем лямбду без параметров (перем ЛЯМ (функ () "значение лямбды")) (Вывод "Результат (лям) = " (лям) ПС) //используем лямбду с двумя параметрами (перем ЛЯМ2 (функ (х у) (+ х у))) (Вывод "Результат (лям2 3 5) = " (лям2 3 5) ПС)
//проверим область видимости (функция (ФА Б) (+ (* Б Б) 25)) (функция (ФД Б) (+ (ФА (+ Б 1)) (ФА (- Б 1)))) (Вывод "(ФА 5)=" (ФА 5) пс) (Вывод "(ФБ 10)=" (ФА 10) пс)
Список скриптов на Перфо.NET
- Тестовый скрипт на Перфо.NET - работает на Альфа версии Перфо.NET
- Тестовый скрипт на Перфо.NET - 2
См. также
- Перфо - описание языка
- Введения в функциональный язык программирования Перфо - Описание языка, учебник по Перфо.NET