Опубликован: 03.09.2010 | Уровень: для всех | Доступ: свободно
Лекция 1:

Основные понятия языка

Лекция 1: 12345 || Лекция 2 >

Линейные программы

Линейной называется программа, все операторы которой выполняются в том порядке, в котором они записаны. Это самый простой вид программ.

Переменные

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

var number : integer;
    x, y   : real;
    option : char;

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

Тип переменных выбирается исходя из диапазона и требуемой точности представления данных.

При объявлении можно присвоить переменной некоторое начальное значение, то есть инициализировать ее. Под инициализацией понимается задание значения, выполняемое до начала работы программы. Инициализированные переменные описываются после ключевого слова const.

const number : integer = 100;
      x      : real = 0.02;
      option : char = 'ю';

По умолчанию все переменные, описанные в главной программе, обнуляются.

Выражения

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

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

Ниже приведены операции Паскаля, упорядоченные по убыванию приоритетов.

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

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

ВНИМАНИЕ Константа и переменная являются частными случаями выражения.

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

  • t + sin(x)/2 * x — результат имеет вещественный тип;
  • a <= b + 2 — результат имеет логический тип;
  • (x > 0) and (y < 0) — результат имеет логический тип.

Порядок вычисления первого выражения такой: сначала выполняется обращение к стандартной функции sin и результат делится на 2, затем получившееся число умножается на x, и только после этого выполняется сложение с переменной t. Скобки в третьем выражении необходимы по той причине, что приоритет операций отношения ниже, чем логической операции and .

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

Программа на Паскале состоит из заголовка, разделов описаний и раздела операторов.

program имя;                { заголовок – не обязателен }
    разделы описаний
begin
    раздел операторов
end.                        (* программа заканчивается точкой *)

Программа может содержать комментарии, заключенные в фигурные скобки { } или в скобки вида (* *). Комментарии служат для документирования программы — компилятор их игнорирует, поэтому на их содержимое никаких ограничений не накладывается. Операторы отделяются друг от друга символом ; (точка с запятой).

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

Разделы описаний бывают нескольких видов: описание модулей, констант, типов, переменных, меток, процедур и функций. Модуль — это подключаемая к программе библиотека ресурсов (подпрограмм, констант и т. п.).

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

uses crt, graph, my_module;

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

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

const   MaxLen = 100; g = 9.8;
        koeff = 5;

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

const weight : real = 61.5;

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

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

label 1, 2, error;
Оператор присваивания

Присваивание — это занесение значения в память. В общем виде оператор присваивания записывается так:

переменная := выражение

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

переменная <- выражение

Примеры операторов присваивания:

a := b + c / 2;
b := a;
a := b;
x := 1;
x := x + 0.5;

Обратите внимание: b := a и a := b — это совершенно разные действия!

ПРИМЕЧАНИЕ Чтобы не перепутать, что чему присваивается, запомните мнемоническое правило: присваивание — это передача данных 'налево'.

Правая и левая части оператора присваивания должны быть совместимы по присваиванию (о совместимости мы поговорим в конце третьей лекции). Например, выражение целого типа можно присвоить вещественной переменной.

Лекция 1: 12345 || Лекция 2 >
София Шишова
София Шишова

Я завершила экзамен 90 баллов на 5. Сертификат не заказала. Сейчас пытаюсь найти как его заказать. у меня указано экзамен пройден баллы оценка видно, а чтоб заказать сертификат нигде не видно.

Юрий Макушин
Юрий Макушин
Россия, Москва, РЭА им. Плеханова, 2004