Цикл с постусловием


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;

Цикл управляется условием «до».