Скрипты и программы на языке Перфо
Материал из ТХАБ.РФ
// *** Тестовый скрипт на языке Перфо *** (Отладка Истина) //включим режим отладки скрипта (Очистить) //очищаем экран консоли
#Область "Привет, МИР!" (Вывод "Привет, МИР! Это программа на языке Перфо." ПС) //запросим у пользователя имя и сохраним в переменную (Перем Пользователь (Ввод "Введи своё имя: ")) (Вывод "Вас зовут " Пользователь ПС) (Пауза) (Вывод ПС) // ПС это символ перевода строки #КонецОбласти
#Область "Арифметические выражения" //попробуем вычислять арифметические выражения (Перем А 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