Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
555.52 Кб
Скачать

1 Простые операторы

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

Оператор присваивания (:=) предписывает выполнить выражение, стоящее в его правой части, и присвоить результат идентификатору переменной, стоящей в левой части. Переменная и выражение должны иметь один и тот же тип. Исключение представляет случай, когда переменная имеет вещественный тип, а выражение – целочисленный. Допустимо присваивание любых типов данных, кроме файловых.

Формат

<идентификатор>:=<выражение>;

Пример

Sort:=1;

Cena:=15.23;

Nazv:=’Model N986’;

Res:=Sin(A)+Cos(B);

Оператор безусловного перехода GOTO означает «перейти к» и применяется в случаях, когда после выполнения некоторого оператора надо выполнить не следующий по порядку, а какой-нибудь другой, отмеченный меткой оператор. Метка может содержать как цифровые, так и буквенные символы.

Формат

GOTO <метка>;

Пример

...

Label Metka1, Metka2;

...

Metka1: GOTO Metka2;

Metka2: GOTO Metka1;

...

При записи оператора GOTO необходимо помнить следующее. Метка, на которую передается управление, должна быть описана в разделе описания меток того блока (процедуры, функции, основной программы), в котором эта метка используется. Областью действия метки является блок, в котором она описана. Попытка выйти за пределы блока вызывает программное прерывание.

Обычно оператор GOTO применяется для преждевременного выхода из цикла или при отладке программы.

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

Пример

Begin

Goto Metka; {переход в конец блока}

. . .

Metka; {пустой оператор помечен меткой}

End.

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

Формат

<имя процедуры> {(список параметров)};

Пример

Program Prim;

Procedure V1;

Begin

. . . {тело процедуры V1}

end;

Procedure V2;

Begin

. . . {тело процедуры V2}

end;

Procedure Sum(a,b:real; Var S:real);

Begin

. . . {тело процедуры Sum}

end;

Begin

V1; {вызов для выполнения процедуры V1}

V2; {вызов для выполнения процедуры V2}

Sum(x,y,S_xy); {вызов для выполнения процедуры Sum}

End.

2 Операторы ввода-вывода

Решение самой простой задачи не обходится без операций ввода-вывода информации.

Ввод данных – это передача информации от внешнего носителя в оперативную память для обработки.

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

Для выполнения операций ввода используются операторы Read и Readln.

Формат

Read(список ввода);

где в списке ввода могут фигурировать только переменные допустимых типов данных.

Пример

Var I: integer;

J: integer;

K: char;

Begin

read(I, J, K);

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

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

Формат

Write(список вывода);

где список вывода представляет собой набор переменных и выражений.

Например, Write(y1, y2, sin(3), yn) – выражения типа integer, byte, real, char, boolean и т.д.

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

Например, Write(X:3,C:7)

Для переменных вещественного типа используется обычно следующий формат: Write(X:P:q), где P означает общее число позиций на экране, выделенное для данной переменной, а q – число позиций (из общего числа) после десятичной точки.

Например,

Write(X:3:1, С:7:4) – правильный формат,

Write(X:1:3, С:7:6) – неправильный формат.

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

Пример

Write(‘Cумма ряда =’, S:7:3, ‘при X=’,X:4:2);

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

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

Пример

Вычислить значение функций

Текст программы:

Program Lin1;

{$APPTYPE CONSOLE} -

Uses SysUtils, Windows;

Const c=1.2;

Var x,y,z,a,b1,b2,b:real;

Begin

SetConsoleoutputСP(1251);

Writeln('Введите x,y,z');

Readln(x,y,z);

a:=arctan(x)-3/5*exp(x-y)+0.5*abs(x+y)/exp(c*ln(x+y));

b1:=exp(abs(x-y))*sin(z)/cos(z);

b2:=arctan(y)+sqrt(x);

b:=b1/b2+ln(x);

Writeln('При x=',x:0:1,' y=', y:0:2,' результаты: а=',a:0:2,' b=',b:0:2);

Sleep(7000);

End.

Пояснения к программе:

Директива компилятора {$APPTYPE CONSOLE} указывает на генерацию консольного приложения.

Процедура SetConsoleoutputСP(1251) из модуля Windows используется для правильного отображения русских шрифтов.

Процедура Sleep(7000) из модуля SysUtils используется для задержки на экране результата на 7 сек.