Выражения

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

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

Далее приведены операции ПАСКАЛЯ, упорядоченные по убыванию приоритетов.

  • 1. Унарная операция not, унарный минус -, взятие адреса @.
  • 2. Операции типа умножения:* / div mod and shl shr.
  • 3. Операции типа сложения: + - or xor.
  • 4. Операции отношения: = о < > <= >= in.

Функции, используемые в выражении, вычисляются в первую

очередь.

Примеры выражений:

t + sin (х)/2 * х —результат имеет вещественный тип; а <= Ь + 2 —результат имеет логический тип;

(х > 0) and (у < 0) —результат имеет логический тип.

Структура программы

Программа на ПАСКАЛЕ состоит из необязательного заголовка, разделов описании и раздела операторов:

program имя; {заголовок) разделы описаний begin

раздел операторов

end. (* программа заканчивается точкой *)

Программа может содержать комментарии, заключенные в фигурные скобки {} или в скобки вида (* *).

Общая структура программы приведена на рис. 2.1.

В разделе операторов записываются исполняемые операторы программы. Ключевые слова begin и end не являются операторами, а служат для их объединения в так называемый составной оператор, или блок. Блок может записываться в любом месте программы, где допустим обычный оператор.

Разделы описаний бывают нескольких видов: описание модулей, констант, типов, переменных, меток, процедур и функций.

Модуль — это подключаемая к программе библиотека ресурсов (подпрограмм, констант и т.п.).

Общая структура программы на ПАСКАЛЕ

Рис. 2.1. Общая структура программы на ПАСКАЛЕ

Раздел описания модулей, если он присутствует, должен быть первым. Описание начинается с ключевого слова uses, за которым через запятую перечисляются все подключаемые к программе модули, как стандартные, так и собственного изготовления, например: uses crt, graph, my_module;

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

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

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

const weight: real = 61.5; n = 10;

Раздел описания меток начинается с ключевого слова label, за которым через запятую следует перечисление всех меток, встречающихся в программе. Метка — это либо имя, либо положительное число, не превышающее 9999. Метка ставится перед любым исполняемым оператором и отделяется от него двоеточием. Пример описания меток: label 1, 2, error;

Метки служат для организации перехода на конкретный оператор с помощью оператора безусловного перехода goto.

Процедуры ввода-вывода

Любая программа при вводе исходных данных и выводе результатов взаимодействует с внешними устройствами. Совокупность стандартных устройств ввода и вывода, т.е. клавиатуры и экрана дисплея, называется консолью.

Ввод с клавиатуры. Для ввода с клавиатуры определены следующие процедуры: read и readln: read (список); readln [(список)];

В скобках указывается список имен переменных через запятую. Квадратные скобки указывают на то, что список может отсутствовать. Например:

read (a, b, с); readln (у); readln;

ВНИМАНИЕ

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

Ввод значения каждой переменной выполняется так:

  • ? значение переменной выделяется как группа символов, расположенных между разделителями;
  • ? эти символы преобразуются во внутреннюю форму представления, соответствующую типу переменной;
  • ? значение записывается в ячейку памяти, определяемую именем переменной.

Кроме этого, процедура readln после ввода всех значений выполняет переход на следующую строку исходных данных. Процедура readln без параметров просто ожидает нажатия клавиши Enter.

Особенность ввода символов и строк состоит в том, что пробельные символы в них ничем не отличаются от всех остальных, поэтому разделителями являться не могут.

Вывод на экран. При выводе выполняется обратное преобразование: из внутреннего представления в символы, выводимые на экран. Для этого в языке определены стандартные процедуры write и writeln: write (список); writeln [(список)];

Процедура write выводит указанные в списке величины на экран, а процедура writeln вдобавок к этому еще и переводит курсор на следующую строку. Процедура writeln без параметров просто переводит курсор на следующую строку.

Выводить можно величины логических, целых, вещественных, символьного и строкового типов. В списке могут присутствовать не только имена переменных, но и выражения, а также их частный случай — константы. Кроме того, для каждого выводимого значения можно задавать его формат, например: writeln (а:4, Ь:6:2);

После имени переменной а через двоеточие указано количество отводимых под нее позиций, внутри которых значение выравнивается по правому краю. Для b указано две форматные спецификации, означающие, что под эту переменную отводится всего шесть позиций, причем две из них — под дробную часть.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >