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