Цикл с постусловием
End.
Begin
Var
End.
Begin
Begin
Var
End.
Begin
Var
End.
Begin
Var
Оператор цикла с параметром
Применение оператора перехода оправдано только в случае необходимости выхода из глубоко вложенного цикла.
Оператор перехода
Структурное программирование
Управление формой вывода
Примеры программ
Пример 1. Определение
Program YesOrNo;
var
a, b, c, d, x:real;
q:boolean;
begin
writeln(‘Введите границы и число x’);
read(a,b,c,d,x);
q:=(a < = x) and or (c < = x) and (x < = d);
writeln(‘число’,x,’попало в один из интервалов’);
writeln(‘[‘,a,’ ‘,b,’] или[‘, c,’ ‘,d,’]’);
writeln(q);
end.
Пример 2. Ввести цифровую литеру, найти ее численное значение.
program symboltodigit;
var
kod, value:integer;
symbol: char;
begin
writeln(‘введите цифру’);
read(symbol);
kod:=ord(symbol);
value:=Kod – ord(0); {находим значение цифровой литеры}
writeln(‘Код литеры ’,symbol,’ равен ‘,kod);
writeln(‘Значение литеры ‘, value);
end.
write(<выражение>:<ширина>:<точность>);
Ширина – общее количество позиций, отводимых под данные.
Точность – количество цифр в дробной части числа
Примеры
Write(i:6) | _ _ _134 | |
46.78 | write(-r:12) | -4.67800E+01 |
-46.78 | write(r:9:4) | _-46,7800 |
‘x’ | write(x:5) | _ _ _ _X |
ЛЕКЦИЯ №9
Составной оператор
<составной оператор>::=begin<оператор>{;<оператор>;}end;
Условный оператор
If <логическое выражение> then <оператор 1> else <оператор 2>;
Оператор выбора (варианта)
Case <метка> of
<список меток 1>:<оператор 1>;
…
<список меток n>:<оператор n>
else <оператор>;
end;
Дальнейшая работа продолжается в другой части текста программы.
<оператор перехода>::=goto <метка>
Правила использования меток
1) Метка должна быть в описана разделе описания меток
2) Метка должна стоять только перед одним оператором
3) Переходы внутрь сложного оператора извне запрещены
Предусматривает повторное выполнение оператор для очередного значения
для x:=хнач до xкон повторять действие 1
for <переменная>:=<выражение 1> to <выражение 2> do
1) Переменная цикла должна относиться к ординальному типу и быть описана в том же блоке, где появляется сам оператор цикла
2) Начальное и конечное значение, определяемые с выражениями 1 и 2, вычисляются при входе в цикл единожды и должны относиться к ординальному типу, совместным с переменной цикла
3) Очередное значение переменной цикла определяется автоматически с помощью succ(x). Внутри цикла переменная цикла изменяться не будет и не должна. Значение переменной при выходе из цикла остается определенным.
Пример программы на цикл с параметром.
Пусть требуется вычислить a^n
Program stepen;
i, n:integer;
a, p:real;
writeln(‘Введите а и степень n’);
read(a,n);
p:=1;{задаем значение произведения}
for i:=1 to n do p:=p*a;
writeln(‘а в степени n равно’, p);
Также цикл с параметром можно применять от большего к меньшему.
for <переменная>:=<выражение 1> downto <выражение 2> do <оператор 1>
Пример программы
programsumma;
i, n:integer;
h:real;
writeln(‘Введите N’);
readln(n);
h:=0;
for i:=n downto 1 do h:=h+1/n;
writeln(‘Суммаравна’,h)
Программа табуляции функции.
интервал изменения – dx
N – целая часть – число повторений
program TabFunction;
x0, xk, dx, y, x:real;
I, n:integer;
writeln(‘Введите x0, xk, dx’);
readln(x0, xk, dx);
n:=trunc((xk-x0)/dx) + 1;
x:=x0;
for i:=0 to n do
y:=sin(x) + cos(x);
writeln(x,’ ‘,y);
x:=x+dx;
end;
Программа, выводящая коды литер от А до Т
program kodChracters;
uses crt;
c:char;
clrscr;
writeln(‘--------------------‘);
writeln(‘!Литера!, код‘);
writeln(‘--------------------‘);
for c:=’A’ to ‘T’ do
writeln(‘!’,c:6,’ !’, ord(c):6,’ ‘);
readln;
Цикл управляется условием «до».