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

47 Привести общий вид и пример использования оператора цикла с параметром for языка программирования Pascal

Блок-схема, соответствующая циклу с параметром языка Pascal, представлена на рисунке. Здесь i – параметр цикла; i0 – начальное значение параметра; iTконечное значение параметра.

Рисунок Блок-схема цикла с параметром

Оператор цикла с параметром имеет следующий формат:

For i:=i0 to iT do <оператор>;

Здесь For, to, do – зарезервированные слова («для», «до», «выполнить»);

i – параметр цикла - переменная типа INTEGER (точнее, в общем случае, любого порядкового типа);

i0, iT - начальное и конечное значение – выражение того же типа;

<оператор> - простой или составной оператор языка Pascal, образующий тело цикла (повторяющуюся последовательность действий).

Шаг приращения параметра при этом постоянен и равняется +1, число повторений <оператора> при этом составляет iT- i0+1.

Пример. Вычислить функцию f=x+e-x при х=0, 1, 2, …, 10.

Возможный текст программы:

program calc_f;

var f: real;

x: integer;

begin

for x:=0 to 10 do

begin

f:=x+exp(-x);

writeln(‘x=’, x, ‘f=’, f);

end

end.

Существует и другая форма записи оператора For, при которой шаг приращения параметра принимает значение –1. В этом случае оператор For будет иметь вид For i:=i0 downto iT do <оператор>;

48 Охарактеризовать цикл с предпроверкой условия while языка программирования Pascal

Оператор цикла с предпроверкой условия прекращений повторений While…Do схематично представлен в виде блок-схемы на рисунке и имеет следующий формат:

While <условие> Do <оператор>;

Здесь While, Do – зарезервированные слова («Пока [выполняется условие]», «делать»);

<условие> - выражение логического типа;

<оператор> - произвольный простой или составной оператор.

Если условие имеет значение ИСТИНА (TRUE), то выполняется <оператор>, после чего проверка условия повторяется. Если условие имеет значение ЛОЖЬ (FALSE), то оператор While прекращает свою работу. Если условие с самого начало ложно, то данный цикл не выполнится ни разу.

Рисунок Блок-схема цикла с предпроверкой условия

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

Пример. Найти количество цифр заданного натурального числа N.

Возможный пример решения задачи:

program kolich;

var n: longint; k: integer;

begin

k:=1;

writeln ('Введите натуральное число '); readln(n);

while n>=10 do

begin

n:=n div 10;

k:=k+1

end;

writeln(k)

end.

49 Охарактеризовать цикл с постпроверкой условия repeat языка программирования Pascal

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

Repeat <тело цикла> Until <условие>;

Здесь Repeat, Until – зарезервированные слова («Повторять», «пока не [выполнится условие]»);

<тело цикла> - произвольная последовательность операторов;

<условие> - выражение логического типа.

Блок-схема данного оператора представлена на рисунке. Операторы тела цикла всегда выполняются хотя бы один раз, после чего вычисляется значение <условие>: если его значение ложно (FALSE), операторы тела цикла повторяются, в противном случае оператор Repeat завершает свою работу.

Рисунок Блок-схема цикла с постпроверкой условия

Пример. Дан бесконечный ряд вида S=1+1/2+1/3+1/4+1/5+… Найти сумму данного ряда с заданной погрешностью Е, т.е. продолжать процесс суммирования до тех пор, пока модуль разности между суммами для k-го и (k+1)-го шага не станет меньше Е.

Оператор цикла Repeat позволяет получить решение данной задачи в следующем виде:

program Summa;

var k: integer;

s, ss, eps: real;

begin

writeln('Введите погрешность E'); readln(E);

s:=1; ss:=0;

k:=1;

repeat

ss:=s;

k:=k+1;

s:=s+1/k

until abs(s-ss)< Е;

writeln(‘Сумма ряда =’,s:6:3)

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]