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

Оператор цикла с предусловием в Паскале

Оператор цикла с предусловием реализует следующую базовую конструкцию:

Формат записи: While  L do  OP; где:  While       - пока не; do    – выполнить; L     –  выражение логического типа; OP – тело цикла; оператор (простой или составной).

   

Рис. 9.3. Структурная схема оператора цикла с предусловием

 

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

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

     Пример 9.3.  Составить программу вычисления функции  y для заданного значения x.

где: C=2,7;  n=2;  a=0.5;   0<t<1;  Dt=0,1.

Program Ex_2;   Uses crt; Var y, C,  a, t     :real; n               :integer; Begin clrscr; Writeln('Введите C, a,  n');    Read(C, a,  n); Writeln('Результат:'); Writeln('t’:5,’y’:15); t:=0; While t<1 do Begin y:=C*exp(a*t)*cos(n*t);    Writeln(t:4:1,’ ‘:5, y:10); t:=t+0.1; End; End.

 

Оператор цикла с постусловием в языке Паскаль

Оператор цикла с постусловием реализует следующую конструкцию:

Формат записи:         Repeat              OP        Until   L; где:  Repeat   - повторять; Until  – пока не; L     –  выражение логического типа; OP – тело цикла; оператор (простой или составной).

   

Рис. 9.4. Структурная схема оператора цикла с постусловием

 

 

Работа оператора: Выполняется оператор OP после чего вычисляется значение логического выражения L, если вычисленное значение False, то  снова выполняется оператор OP  в противном случае осуществляется выход из цикла.

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

В отличие от цикла с предусловием, в цикле с постусловием тело цикла выполняется о крайней мере один раз не зависимо от условия. В операторе цикла с постусловием  ключевые слова Repeat и  Until играют роль операторных скобок. Пример 9.4. Составить программу вычисления функции  y для заданного значения x.

где: C=2,7;  n=2;  a=0.5;   0<t<1;  Dt=0,1.

Program Ex_2;   Uses crt; Var y, C,  a, t       :real; n                 :integer; Begin clrscr; Writeln('Введите C, a,  n'); Read(C, a,  n); Writeln('Результат:');  Writeln('t’:5,’y’:15); t:=0; Repeat y:=C*exp(a*t)*cos(n*t);    Writeln(t:4:1,’ ‘:5, y:10); t:=t+0.1; Untile t>=1; End.

 

 

Оператор цикла с параметром в языке Паскаль

Оператор цикла с параметром реализует следующую базовую конструкцию:

Рис. 9.5. Структурная схема оператора цикла с параметром.

Формат записи:     1.   For P:=Pn to Pk do OP;     2.   For P:=Pk downto Pn do OP; где:  For   - для; to  – до; downto – уменьшая до do     –  выполнить; OP – тело цикла; оператор (простой или составной); P  - параметр цикла, переменная порядкового типа;  Pn, Pk – начальное и конечное значение параметра.

 

Работа оператора: Вычисляется начальное значение параметра цикла Pn и присваивается параметру P.  Проверяется условие P?Pk, и если оно Trueвыполняются операторы тела цикла  OP . После чего наращивается  значение P на единицу и опять проверяется условие P?Pk . Если условие False  осуществляется выход из цикла. В операторе с downto шаг изменения параметра цикла равен –1.

Примеры записи:

For i:=1 to n do n:=sqr(i)+1; For s:=’A’ to ‘Z’ do R:=R+ord(s)/127; For L:=False to True do H:= (False or L) And Not (L);

Пример 9.5.  Составить программу вычисления функции  y для заданного значения n.

где: C=2,7; a=0.5; t=0,1; 0<n<10;  Dn=1.

Program Ex_3;   Uses crt; Var y, C,  a, t                :real; n                            :integer; Begin clrscr; Writeln('Введите C, a,  t'); Read(C, a,  n); Writeln('Результат:'); Writeln(‘n’:5,’y’:15); For n:=1 to 10 do  Begin y:=C*exp(a*t)*cos(n*t);    Writeln(n:4,’ ‘:5, y:10); end; End.

Просмотров: 34184