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

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

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

   >   >   > 


Пример «Цикл»

Файлы:

  • Синтаксис языка
    • Операторы
      • Циклы
        • Цикл.пфл

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



//Этот пример на языке программирования Перфолента.Net демонстрирует использование
//оператора цикла Цикл

//Формальное определение:
// Цикл повторяет блок операторов указанное или бесконечное количество раз.
//
//Синтаксис:
// Цикл [КоличествоИтераций] 
//     БлокОператоровТелаЦикла
// [Иначе
//     БлокОператоровСекцииИначе]
// КонецЦикла;
//где,
// - КоличествоИтераций - определяет количество итераций цикла;
// - БлокОператоровТелаЦикла - операторы, которые будут выполняться, пока количество итераций не закончится, либо цикл не будет прерван.
// - БлокОператоровСекцииИначе - операторы, которые будут выполняться, если ни одной итерации цикла не произойдет.
// Указанные в квадратных скобках части синтаксиса не являются обязательными и могут быть пропущены.
//
//Особенности:
// - Если количество итераций цикла не указано цикл будет бесконечным;
// - Тип значения количества итераций должен допускать операцию сложения с типом Целое;
// - КоличествоИтераций может быть любым допустимым выражением.
// - Секция Иначе может быть указана, только если указано количество итераций цикла.

Программа ПримерОператораЦикл
    
    Процедура Старт
        
        //простой бесконечный цикл
        ВыводСтроки "=== Бесконечный цикл ==="
        Цикл
            ВыводСтроки "Первая итерация"
            Прервать 
        КонецЦикла
        
        //более сложный бесконечный цикл
        ВыводСтроки "=== Бесконечный цикл с дополнительной логикой ==="
        Счетчик = 0
        Цикл
            //отрежем последнюю цифру у текущего времени выраженного в миллисекундах от полуночи
            //в качестве случайного числа
            Зн = Целое(Прав(Строка(ТекущаяУниверсальнаяДатаВМиллисекундах()), 1))
            Если Зн > 5
                ВыводСтроки "Угадали " + Зн
                Счетчик = Счетчик + 1 
            Иначе
                ВыводСтроки "Не угадали " + Зн
            КонецЕсли
            //прерываем выполнение цикла, если значение счетчика достигло 10
            Прервать Если Счетчик = 10
        КонецЦикла
        
        //цикл на 5 итераций
        ВыводСтроки "=== Цикл с указанным количеством итераций ==="
        Счетчик = 0
        Цикл 2
            Счетчик = Счетчик + 1 
            ВыводСтроки Счетчик
        КонецЦикла
        
        //цикл на случайное число итераций
        ВыводСтроки "=== Цикл с количеством итераций заданным выражением ==="
        Цикл Целое(Прав(Строка(ТекущаяУниверсальнаяДатаВМиллисекундах()), 1))
            Счетчик = Счетчик + 1 
            ВыводСтроки Счетчик
        КонецЦикла
        
        ВыводСтроки "=== Цикл с проверкой секции Иначе ==="
        //проверим секцию Иначе
        
        КвоИтер = -1
        ВыводСтроки "Количество итераций: " + КвоИтер
        Цикл КвоИтер
            //сюда мы не попадаем, т.к. количество итераций меньше 1
            ВыводСтроки "Выполнилось тело цикла..."
        Иначе
            ВыводСтроки "Выполнилась секция Иначе!!!"
        КонецЦикла
        
        КвоИтер = 0
        ВыводСтроки "Количество итераций: " + КвоИтер
        Цикл КвоИтер
            //сюда мы не попадаем, т.к. количество итераций меньше 1
            ВыводСтроки "Выполнилось тело цикла..."
        Иначе
            ВыводСтроки "Выполнилась секция Иначе!!!"
        КонецЦикла
        
        КвоИтер = 1
        ВыводСтроки "Количество итераций: " + КвоИтер
        Цикл КвоИтер
            //выполняется 1 раз
            ВыводСтроки "Выполнилось тело цикла..."
        Иначе
            ВыводСтроки "Выполнилась секция Иначе!!!"
        КонецЦикла
        
        КвоИтер = 2
        ВыводСтроки "Количество итераций: " + КвоИтер
        Цикл КвоИтер
            //Выполняется 2 раза
            ВыводСтроки "Выполнилось тело цикла..."
        Иначе
            ВыводСтроки "Выполнилась секция Иначе!!!"
        КонецЦикла

        ВыводСтроки "Конец программы..."
        ВводСтроки
        
    КонецПроцедуры
    
КонецПрограммы   

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


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

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

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

  Новости:
      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
       Все новости