Урок 1. Переменные, условия и циклы

В этом уроке: типы данных, переменные, условия если и циклы пока и для каждого.

Типы и переменные

Основные типы: целое, дробное, текст, верно (логический, значения да и нет). Переменная объявляется как «тип имя = значение;»:

функция главная(): целое
    целое возраст = 30;
    дробное рост = 1.82;
    текст имя = "Никита";
    верно студент = нет;
    вывести("Имя: %имя%");
    вывести("Возраст: %возраст%, рост: %рост%");
    вывести("Студент: %студент%");
    вывести("Через 5 лет: %(возраст + 5)%");
    вернуть 0;
конец
Имя: Никита
Возраст: 30, рост: 1.820000
Студент: нет
Через 5 лет: 35

Дробные числа в строке выводятся с шестью знаками после точки.

Вывод типа и неизменяемые значения

Тип можно не писать: компилятор выведет его из значения. Слово неизменно запрещает менять переменную после объявления. Оператор % — остаток от деления:

функция главная(): целое
    число = 7;
    приветствие = "Сфера";
    вывести("%приветствие%: %число%");

    неизменно целое лет_в_веке = 100;
    вывести("В веке %лет_в_веке% лет");

    целое остаток = 17 % 5;
    вывести("17 % 5 = %остаток%");
    вернуть 0;
конец
Сфера: 7
В веке 100 лет
17 % 5 = 2

Обратите внимание на строку "17 % 5 = %остаток%": одиночный % с пробелом остаётся обычным символом, а %остаток% — подстановка. Если вам нужен буквальный текст вроде %имя%, пишите %%имя%%.

Условия

Условие пишется в скобках, блок закрывается конец. Сравнения словами: больше, меньше, не больше, не меньше; равенство — ==, неравенство — !=. Логика: и, или, не.

функция главная(): целое
    целое температура = 22;
    если (температура больше 30)
        вывести("Жарко");
    иначе если (температура больше 15 и температура меньше 30)
        вывести("Тепло");
    иначе
        вывести("Прохладно");
    конец

    целое i = 1;
    пока (i не больше 5)
        вывести("i = %i%");
        i = i + 1;
    конец
    вернуть 0;
конец
Тепло
i = 1
i = 2
i = 3
i = 4
i = 5

Цепочка иначе если … иначе закрывается одним конец. Следите, чтобы «иначе» и «если» стояли на одной строке: так компилятор понимает, что это цепочка, а не вложенное условие.

Циклы

Цикл пока повторяется, пока условие верно. Цикл для каждого обходит массив или список. Внутри циклов работают прервать (выйти из цикла) и продолжить (перейти к следующей итерации):

функция главная(): целое
    целое(5) числа = массив(3, 8, 1, 9, 4);
    целое сумма = 0;
    для каждого число в числа
        сумма = сумма + число;
    конец
    вывести("Сумма: %сумма%");

    целое n = 0;
    пока (n меньше 20)
        n = n + 1;
        если (n % 2 == 0)
            продолжить;
        конец
        если (n больше 9)
            прервать;
        конец
        вывести("нечётное: %n%");
    конец
    вернуть 0;
конец
Сумма: 25
нечётное: 1
нечётное: 3
нечётное: 5
нечётное: 7
нечётное: 9

Запись целое(5) — это массив из пяти целых, а массив(3, 8, 1, 9, 4) — его литерал.

Зарезервированные слова

Слова конец, из, и, или, не, меньше, больше — часть языка, их нельзя использовать как имена переменных. Если нужно назвать переменную «конец», выберите другое слово (например, финиш).

Упражнения

  1. Выведите таблицу умножения на 7 от 1 до 10.
  2. Найдите сумму чисел от 1 до 100, кратных 3.
  3. Объявите массив из шести чисел и найдите наибольшее.

Дальше: Урок 2. Функции и структуры.