лек.№4 информ
.pdfЛЕКЦИЯ 4. ОСНОВНЫЕ ОПЕРАТОРЫ АЛГОРИТМИЧЕСКОГО ЯЗЫКА ПАСКАЛЬ
ПЛАН
4.1.ОПЕРАТОРЫ ВЫВОДА ДАННЫХ
4.2.ОПЕРАТОРЫ ВВОДА ДАННЫХ С КЛАВИАТУРЫ
4.3.ОПЕРАТОР ВЫБОРА
4.4.УСЛОВНЫЙ ОПЕРАТОР
4.5.ОПЕРАТОР ЦИКЛА
4.6.ОПЕРАТОР ПЕРЕХОДА К МЕТКЕ
Для сведения |
|
Оператор присваивания |
:= |
x:=1; a:=5. 02; b := 32*a+Sin(x); S:= 'Иван Иваныч'; |
|
Составной оператор |
Begin "операторы" end; |
4.1. Операторы вывода данных
Операторы вывода данных на экран
Write("список переменных"); или Writeln("список переменных");
Writeln(a); Writeln(b); Writeln(c); Write('Моя первая программа !');
Writeln(32*a+Sin(x)); b:=32*a+Sin(x); Writeln(b);
Writeln(a:5:2);
Writeln(i:8);
а:=5. 02; Writeln('а=', a:6:2); а= _ _ 5. 02
n:= '116'; s:= 'Школа N'; Writeln(s:7, n:6);
Школа N _ _ _ 116
Writeln('а=', a:-8:2); а=5. 02
Writeln('а=', a); |
|
|
a=5. |
0200000000E+00 |
{тип Real, расчет без сопроцессора} |
a=5. |
02000000000000E+0000 |
{тип Double, расчет с сопроцессором} |
Пример программы, выполняющей различные операции с переменными разного
типа. |
|
|
Program N_1; |
{работа с переменными разного типа} |
|
var x, y, z : real; x0, y0: byte; |
{описание типов переменных} |
|
x1, y1, z1: integer; xb, yb, zb: boolean; |
|
|
c1, c2, c3: char; s1, s2, s3: string; |
|
|
Begin |
|
|
x := 5. 8;y:= 3. 4; x1:= 43;y1:= 28; |
{присвоение значений} |
|
c1:= 'Z'; c2:= 'S'; x0:= 65; |
|
|
xb:= True; yb:= False; |
|
|
s1:= 'Иванов _ '; s2:= 'Петров _ '; |
|
|
Writeln('Математические операции:');Z:= x+y; |
{ и т. д. } |
|
Write('x:=', x:3:1, ' _ _ y:=', y:3:1); |
|
|
Writeln(' _ _ Z:= x+y;', ' _ _ z=', z:5:2); |
|
|
Writeln; z1:= x1 div y1; |
|
{ и т. д. } |
Write('x1:=', x1:3, ' _ _ y1:=', y1:3); |
|
|
Writeln(' _ _ Z1:= x1 div y1;', ' _ _ z1=', z1:2); |
|
|
|
|
|||
Writeln; |
|
|
{ Пустая строка } |
|
|
||
readln; |
{ Задержка экрана до нажатия Enter } |
||||||
Writeln('Логические операции:');Zb:= xb and yb; |
{ и т. д. |
} |
|||||
Write('xb:=', |
xb, ' _ _ yb:=', |
yb); |
|
|
|
|
|
Writeln(' _ _ Zb:= xb and yb;', ' _ _ zb=', zb); |
|
|
|
|
|||
Writeln; { Пустая строка } |
|
|
|
|
|
|
|
readln; { Задержка экрана до нажатия Enter } |
|
|
|
|
|||
Writeln('Операции сравнения:'); Zb:= c1 > c2; |
|
{ и т. д. |
} |
||||
|
{ символы сравниваются по номеру ASCII кода } |
||||||
Write('c1:=', |
c1, ' _ _ c2:=', |
c2); |
|
|
|
|
|
Writeln(' _ _ Zb:= c1 > c2;', |
' _ _ zb=', |
zb); |
Writeln; |
|
|
||
{строки сравниваются по номеру ASCII кода первых символов} |
|||||||
{если первые символы совпадают, |
то сравниваются вторые и т. д. } |
||||||
Zb:= S1>S2; |
|
|
{ и т. д. |
} |
|
|
|
Write('s1:=', |
s1, ' _ _ s2:=', |
s2); |
|
|
|
|
|
Writeln(' _ _ Zb:= s1 > s2;', |
' _ _ zb=', |
zb); |
|
|
|
|
|
Writeln; |
|
|
{ Пустая строка } |
||||
readln; |
{ Задержка экрана до нажатия Enter } |
||||||
Writeln('Математические функции:');Z:= sin(x*Pi/180); |
{ и т. д. } |
||||||
Write('x:=', x:4:2); |
|
|
|
|
|
|
|
Writeln(' _ _ Z:= sin(x*Pi/180);', ' _ _ z=', z:10:7); |
|
|
|
||||
Writeln; |
|
|
{ Пустая строка } |
readln; |
{ Задержка экрана до нажатия Enter } |
Writeln('Математические процедуры:'); |
|
Write('x1:=', x1); Inc(x1); |
{ и т. д. } |
Writeln(' _ _ Inc(x1);', ' _ _ x1=', x1); |
|
Writeln; |
{Пустая строка} |
readln; |
{Задержка экрана до нажатия Enter } |
Writeln('Функции преобразования типов:'); c3:= Chr(x0); { и т. д. }
Write('x0:=', x0); |
|
Writeln(' _ _ c3:=Chr(x0);', |
' _ _ c3=', c3); |
Readln |
{ Задержка экрана до нажатия Enter } |
end. |
|
4.2. Операторы ввода данных с клавиатуры
Read("список переменных"); Readln("список переменных");
Write('введите значение а='); Readln(a); введите значение а= .
Readln(a); Readln(b); Readln(c); или Readln(a, b, c);
Readln(с1, с2, с3, c4); {ожидает ввода значений символьных переменных с1, с2,
с3, c4, например: "У", "Р", "А", "!" и нажатия Enter }
Writeln(с1, с2, с3, c4); выведет на экран надпись: УРА!
Пример программы возведения положительного числа “x” в степень”n”, т. е. y=xn. Расчет производится по формуле: y=en*ln(x).
Program N_2; {возведение положительного числа в степень}
Const S='введите значение'; Var n, x, y: real;
BEGIN
Writeln('Программу разработал Иванов'); Writeln('Возведение положительного числа x степень n');
Writeln(S, ' аргумента х>0'); Readln(x);
Write(S, ' показателя степени n='); Readln(n); y:=exp(n*ln(x));
Writeln('результат y=', y:10:6); writeln('Нажмите Enter'); readln; {задержка экрана до нажатия Enter}
END.
4.3. Оператор выбора
Case "параметр" Of
"список помеченных операторов" Else "оператор" End;
Пример операторов для определения порядка целого числа N от 0 до 999: case N of
0..9: writeln('однозначное'); 10..99: writeln('двузначное'); 100..999: writeln('трехзначное')
else writeln('Число "N" не входит в указанный диапазон') end;
4.4. Условный оператор
IF "условие" Then "оператор1" Else "оператор2";
Например, вычисление квадратного корня из числа "a" проводится при условии a>=0,
IF a >= 0 Then b:= Sqrt(a) Else begin WriteLn ( 'a<0' ); Readln; Halt end;
Оператор Halt прекращает выполнение программы.
Пример программы: Автобус движется по заданному маршруту с объявлением названий остановок. Зная остановку, на которой надо выходить, вы принимаете определенное решение: Выхожу, либо - Еду дальше, которое выводится на экран.
PROGRAM octanovka; |
|
|
|
CONST A1= 'Бульвар Славы'; A2= 'Горсовет'; |
{ A1, A2, A3, |
A4 - названия } |
|
A3= 'Спортивная'; A4= 'УГАТУ'; |
{ остановок } |
|
|
Y= 'Выхожу'; |
N= 'Еду дальше'; |
|
|
var A, A0 : String; |
|
{ A0 - текущая остановка } |
BEGIN
writeln('Ввести нужную остановку из списка:');
writeln(A1:15, A2:15, A3:15, |
A4:15); |
Writeln; readln(A); Writeln; |
{ A - нужная остановка } |
IF (A<>A1) and (A<>A2) and (A<>A3) and (A<>A4)
then begin |
|
Writeln('Нет такой остановки'); readln; Halt end; |
|
A0:= A1; |
|
|
{объявление остановки } |
IF A = A0 |
then begin writeln( Y, A:15); readln; Halt end |
||
else writeln( A0:-15, N:12); |
|||
A0:= A2; |
|
|
{объявление остановки } |
IF A = A0 |
|
then begin writeln( Y, A:15); readln; Halt end |
|
else |
writeln( A0:-15, N:12); |
||
A0:= A3; |
|
|
{объявление остановки } |
IF A = A0 |
then begin writeln( Y, A:15); readln; Halt end |
||
else |
writeln( A0:-15, N:12); |
||
A0:= A4; |
|
|
{объявление остановки } |
writeln( Y, |
A:15); |
readln; |
END.