Выражения и операции в языке Кумир
Выражение в языке КуМир - это языковая конструкция, описывающая порядок получения нового значения, путем выполнения предусмотренных операций над уже известными значениями.
Выражения в программе на языке Кумир могут располагаться:
- в правой части оператора присваивания;
- в индексе таблицы;
- в аргументе (типа арг) вызова функции;
- в качестве подвыражения другого выражения;
- в команде вывод.
Например,
- площадь := длина * ширина
- рост[2 * х]
- вывод (а - в) ** 2
Значение выражения вычисляется с учетом приоритетов операций и скобок.
Команда присваивания в языке Кумир
В первом примере выше величине площадь присваивается значение выражения длина * ширина. Это происходит с помощью простой команды присваивания, которая используется для изменения значений простых величин и элементов таблиц. Формат команды присваивания имеет следующий вид:
- величина := выражение
- Элементом величина может быть имя простой величины или элемент таблиц.
- Элементом выражение являются выражения, составленные из величин, констант, вызовов алгоритмов-функций и знаков операций.
Неразрывный символ := между элементами является оператором присваивания. Заметим, что такой же вид имеет оператор присваивания в языке Паскаль.
Важно: тип величины должен быть согласован с типом выражения (смотрите ниже).
- цел а, b; вещ с
- c := sqrt(а**2 + в**2)
Операции в языке Кумир
В языке Кумир в зависимости от возможного числа аргументов и способа их записи выделяют три группы операций:
- базовые операции (арифметические, логические, текстовые);
- вырезка из строки;
- операции, задаваемые алгоритмами-функциями.
Для каждой операции определены типы значений-аргументов и их количество, а также тип результата операции. Например,
с := а * в
В операции умножения два аргумента числового типа, результат операции также относится к числовому типу.
Базовые операции
В группе базовых операций, в зависимости от типов аргументов и результата, выделяют следующие классы:
- арифметические операции (аргументы и результат – числового типа);
- сравнение арифметическое (аргументы – числового типа, результат – логического);
- сравнение текстовое (аргументы – текстового типа, результат – логического);
- логические операции (аргументы и результат - логического типа);
- текстовые операции (аргументы и результат – текстового типа).
Для обозначения каждой базовой операции используется определенный символ. В отдельных случаях применяется составной символ, который записывается в тексте программы без пробела:
- ** – возведение в степень;
- <= – меньше или равно;
- >= – больше или равно;
- <> – не равно.
Тип выражения в Кумир
Тип выражения соответствует типу результата операции, которая выполняется последней.
При записи выражений необходимо следить за тем, чтобы типы всех подвыражений были согласованы с типами аргументов выполняемых операций.
Рассмотрим следующий пример:
- цел а = 10, в = 90; вещ с = 20
- вывод а + в, нс
- вывод а + с
Выражение в первой команде вывода содержит два аргумента целого типа, поэтому тип выражения также целый. Во втором случае один из аргументов имеет вещественный тип, в результате, выражение также получает тип вещ.
Вырезка из строки и операции, задаваемые алгоритмами-функциями, будут рассмотрены в соответствующих темах.