Выражения и операции в языке Кумир

Выражение в языке КуМир - это языковая конструкция, описывающая порядок получения нового значения, путем выполнения предусмотренных операций над уже известными значениями.

Выражения в программе на языке Кумир могут располагаться:

  • в правой части оператора присваивания;
  • в индексе таблицы;
  • в аргументе (типа арг) вызова функции;
  • в качестве подвыражения другого выражения;
  • в команде вывод.

Например,

  • площадь := длина * ширина
  • рост[2 * х]
  • вывод (а - в) ** 2

Значение выражения вычисляется с учетом приоритетов операций и скобок.

Команда присваивания в языке Кумир

В первом примере выше величине площадь присваивается значение выражения длина * ширина. Это происходит с помощью простой команды присваивания, которая используется для изменения значений простых величин и элементов таблиц. Формат команды присваивания имеет следующий вид:

  • величина := выражение
  • Элементом величина может быть имя простой величины или элемент таблиц.
  • Элементом выражение являются выражения, составленные из величин, констант, вызовов алгоритмов-функций и знаков операций.

Неразрывный символ := между элементами является оператором присваивания. Заметим, что такой же вид имеет оператор присваивания в языке Паскаль.

Важно: тип величины должен быть согласован с типом выражения (смотрите ниже).

  • цел а, b; вещ с
  • c := sqrt(а**2 + в**2)

Операции в языке Кумир

В языке Кумир в зависимости от возможного числа аргументов и способа их записи выделяют три группы операций:

  • базовые операции (арифметические, логические, текстовые);
  • вырезка из строки;
  • операции, задаваемые алгоритмами-функциями.

Для каждой операции определены типы значений-аргументов и их количество, а также тип результата операции. Например,

с := а * в

В операции умножения два аргумента числового типа, результат операции также относится к числовому типу.

Базовые операции

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

  • арифметические операции (аргументы и результат – числового типа);
  • сравнение арифметическое (аргументы – числового типа, результат – логического);
  • сравнение текстовое (аргументы – текстового типа, результат – логического);
  • логические операции (аргументы и результат - логического типа);
  • текстовые операции (аргументы и результат – текстового типа).

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

  • ** – возведение в степень;
  • <= – меньше или равно;
  • >= – больше или равно;
  • <> – не равно.

Тип выражения в Кумир

Тип выражения соответствует типу результата операции, которая выполняется последней.

При записи выражений необходимо следить за тем, чтобы типы всех подвыражений были согласованы с типами аргументов выполняемых операций.

Рассмотрим следующий пример:

  • цел а = 10, в = 90; вещ с = 20
  • вывод а + в, нс
  • вывод а + с

Выражение в первой команде вывода содержит два аргумента целого типа, поэтому тип выражения также целый. Во втором случае один из аргументов имеет вещественный тип, в результате, выражение также получает тип вещ.

Вырезка из строки и операции, задаваемые алгоритмами-функциями, будут рассмотрены в соответствующих темах.