Язык программирования Перфолента.Net - Официальный сайт

 Язык программирования Перфолента.Net - Официальный сайт.

Поиск   
Главная :: О проекте :: Контакты :: Обратная связь :: Благодарности :: ВходГость

   >   >   > 


Пример «Функции с множеством операндов»

Файлы:

  • Синтаксис языка
    • Встроенные функции
      • Функции с множеством операндов.перфо

Пример программы на языке программирования Перфо:



//Эта программа написана на языке Перфо
//Для демонстрации встроенных функций с множеством операндов

// --- Математические функции ---

// Сложение четырёх чисел
(Вывод "(+ 1 2 3 4): " (+ 1 2 3 4) пс) // ожидаем: 10

// Вычитание
(Вывод "(- 10 2 3): " (- 10 2 3) пс) // ожидаем: 5

// Умножение
(Вывод "(* 2 3 4): " (* 2 3 4) пс) // ожидаем: 24

// Деление
(Вывод "(/ 48 4 2): " (/ 48 4 2) пс) // ожидаем: 6

// Возведение в степень через ^
(Вывод "(^ 2 3 2): " (^ 2 3 2) пс) // ожидаем: 64

// То же через **
(Вывод "(** 5 2 3): " (** 5 2 3) пс) // ожидаем: 15625

// Логическое И
(Вывод "(и Истина Истина Истина): " (и Истина Истина Истина) пс) // ожидаем: Истина
(Вывод "(и 1 1 1): " (и 1 1 1) пс)                               // ожидаем: Истина
(Вывод "(и Истина Истина Ложь): " (и Истина Истина Ложь) пс)     // ожидаем: Ложь
(Вывод "(и 1 0 1): " (и 1 0 1) пс)                               // ожидаем: Ложь

// Логическое ИЛИ
(Вывод "(или Ложь Ложь Истина): " (или Ложь Ложь Истина) пс) // ожидаем: Истина
(Вывод "(или Ложь Ложь Ложь): " (или Ложь Ложь Ложь) пс) // ожидаем: Ложь

// Побитовое И
(Вывод "(БитИ 15 7): " (БитИ 15 7) пс) // ожидаем: 7 — 0b1111 & 0b0111 = 0b0111

// Побитовое ИЛИ
(Вывод "(БитИЛИ 12 5): " (БитИЛИ 12 5) пс) // ожидаем: 13 — 0b1100 | 0b0101 = 0b1101

// Максимум
(Вывод "(Макс 3 9 7 1): " (Макс 3 9 7 1) пс) // ожидаем: 9

// Минимум
(Вывод "(Мин 3 9 7 1): " (Мин 3 9 7 1) пс) // ожидаем: 1

// --- Функции работы со строками ---

// Склеиваем строки
(Вывод "(& ""ао"" ""бо"" ""во"" ""го""): " (& "ао" "бо" "во" "го") пс) // ожидаем: "аобового"

// Склеиваем значения как строки. Все значения приводятся к строке
(Вывод "(& 5 "" ао "" '2025'): " (& 5 " ао " '2025') пс) // ожидаем: "5 ао 01.01.2025 0:00:00"

// Проверка соответствия шаблону
(Вывод "(СтрШаблон ""%1 съел %2 банана!"" ""Вася"" 23): " (СтрШаблон "%1 съел %2 банана!" "Вася" 23) пс) // ожидаем: Вася съел 23 банана!

// Поиск подстроки
(Вывод "(СтрНайти ""абвгде"" ""вг""): " (СтрНайти "абвгде" "вг") пс) // ожидаем: 3 

// Срез строки: от позиции 2 до позиции 4 с шагом 1
(Вывод "(СрезСтроки ""абвгдежз"" 2 4): " (СрезСтроки "абвгдежз" 2 4) пс)     // ожидаем: "вгд"
// Срез строки: от позиции 2 до позиции 6 с шагом 2
(Вывод "(СрезСтроки ""абвгдежз"" 2 6 2): " (СрезСтроки "абвгдежз" 2 6 2) пс) // ожидаем: "вдж" 

// --- Функции работы с коллекциями ---

// Срез массива
(Перем Мас (Массив 7 Строка "а" "б" "в" "г" "д" "е" "ж" "з"))
// от позиции 1 до позиции 3 с шагом 1
(Вывод "(СрезМассива Мас 1 3): " (.(СрезМассива Мас 1 3) Представление) пс) // ожидаем: б в г
// от позиции 1 до позиции 6 с шагом 2
(Вывод "(СрезМассива Мас 1 6 2): " (.(СрезМассива Мас 1 6 2) Представление) пс) // ожидаем: б г е

// Добавить элемент
(Уст Мас (Новый Массив))
(ДЭЛ Мас  "а" "б" "в" "г" "д")
(Вывод "(ДЭЛ Мас ""е""): " (.(ДЭЛ Мас "е") Представление) пс) // ожидаем: массив с "е" в конце
(Вывод "(ДобавитьЭлемент Мас ""ж""): " (.(ДобавитьЭлемент Мас "ж") Представление) пс) // ожидаем: массив с "ж" в конце

// Тест функции ДЭЛ: добавляет элемент к списку
(Перем Буквы (Список "а" "б" "в"))
(Вывод "(ДЭЛ Буквы ""г""): " (ДЭЛ Буквы "г") пс) // ожидаем: (а б в г)

// Добавление нескольких элементов последовательно
(Уст Буквы (ДЭЛ Буквы "д"))
(Уст Буквы (ДЭЛ Буквы "е"))
(Вывод "После нескольких добавлений: " Буквы пс) // ожидаем: (а б в г д е)

// СЭЛ — складываем элементы в список
(Вывод "(СЭЛ ""а"" ""б""): " (СЭЛ "а" "б") пс) // ожидаем: список (а б)

// СложитьЭлементы — складываем элементы в список
(Перем Числа (Список 1 2 3 4))
(Вывод "(СложитьЭлементы Числа 5 6 7): " (СложитьЭлементы Числа 5 6 7) пс) // ожидаем: (1 2 3 4 5 6 7)

// --- Функции работы с типами и значениями

// Тест функции ЗнчТипа: проверка значения на принадлежность к одному из указанных типов
(Вывод "(ЗнчТипа 1ч (Тип ""Строка"") (Тип ""Число"")): " (ЗнчТипа 1ч (Тип "Строка") (Тип "Число")) пс) // ожидаем: Истина
(Вывод "(ЗнчТипа ""абв"" ""Строка"" ""Число""): " (ЗнчТипа "абв" "Строка" "Число") пс)                 // ожидаем: Истина
(Вывод "(ЗнчТипа '2025' ""Строка"" ""Число""): " (ЗнчТипа '2025' "Строка" "Число") пс)                 // ожидаем: Ложь

// --- Прочие Функции ---

(Вывод "Команда системы выполнена: " (КомандаСистемы "CMD.exe /C Dir /B > DIR.txt" "C:\Temp") пс)// ожидаем: Истина
(Перем КодВ 0)
(Вывод "Приложение запущено: " (ЗапуститьПриложение "cmd /K dir" "c:\" Истина КодВ) пс) //показывает окно


К началу статьи


Вернуться в раздел:
Примеры по языку Перфо

Перейти в раздел:
Примеры
  Поддержи проект!

Вы можете поддержать разработку Перфоленты, перечислив любую удобную сумму, которая пойдет на развитие языка и поддержку инфраструктуры сайта.

  Новости:
      21.01.2026 На сайт добавлена статья "Конструируем класс. События"
      20.01.2026 Опубликован новый релиз 0.4.18.0_NY языка программирования Перфолента.Net
      29.12.2025 Анонс: Новая возможность - разрабатываем веб-сайты, веб-приложения и веб-API на Перфоленте!
      07.06.2025 Небольшие дополнения к документации на сайте - описание атрибута поля &Атомарное
      09.05.2025 На сайте опубликован релиз 0.4.16.0_SE дистрибутива языка программирования Перфолента.Net
      27.04.2025 Дополнена статья про циклы
      04.01.2025 Опубликован новый релиз дистрибутива языка программирования Перфолента.Net версии 0.4.15.0_CE
      23.09.2024 Опубликована новая статья: "Конструируем класс. Делегаты."
      30.08.2024 Опубликован новый релиз дистрибутива языка программирования Перфолента.Net версии 0.4.14.0
      24.05.2024 Обновлён справочный раздел сайта
      01.07.2023 Новая версия 0.4.13.0 языка программирования Перфолента.Net
       Все новости