Предпросмотр материала:
Язык программирования PASCAL
Блок 4.
План.
I. Алгоритмы цикла..
1. Цикл с параметром.
а) Решение задач
2. Оператор цикла с предусловием.
б) Решение задач.
3. Задание на самостоятельную работу.
При решении многих задач требуется многократно выполнять одни и те же
действия . Например, при нахождении суммы, произведения конечных и бесконечных рядов, нахождения значения факториала, расчета полета траектории различного вида летательных аппаратов. В этом случае в программировании предусмотрены алгоритмы, называемые циклическими.
Алгоритмы цикла подразделяются на алгоритмы цикла с предусловием, постусловием. Дадим характеристику данных видов алгоритмов. В общем виде блок-схема с оператором цикла выглядит так.
![]() |
Нет
Да
Оператор цикла с параметром применяют тогда, когда известно число повторений одного и тог же действия. Начальные и конечные значения параметра цикла могут быть представлены константами, переменными или арифметическими выражениями. Рассмотрим, как выполняется оператор цикла с параметром вида for <параметр>:=A to B do <тело цикла>/.
Сначала вычисляются значения выражений A и B. Если A<=B, то <параметр> последовательно принимает значения, равные A, A+1,…, B-1, B и для каждого из этих значений выполняется <тело цикла>. Если A>B, то тело цикла не будет выполнен ни разу и выполнение цикла с параметром сразу же закончится.
Оператор цикла с параметром с заданным шагом. For <параметр>:= A to B Step h do <тело цикла>. Если тело цикла нужно организовать, начиная с последнего значения B до начального значения A с шагом -1, то нужно использовать следующую конструкцию.
For <параметр цикла>:=A down to B <параметр> изменяются с шагом, равным -1.
Решение задач.
Пример 1. Составить блок-схему и программу нахождения значения выражения.
Y=1+1/2+1/3 +…+1/15
Для выполнения данного задания организуем цикл с параметром, изменяющимся от 1 до 15 с шагом 1.
![]() |
|
||||
![]() |
||||
Y=y+1/n N=N+1
![]() |
![]()
![]()
Нет
Да
Запишем программу.
Program pr1;
Uses CRT;
Var n: integer;
y: real;
Begin
Clrscr;
y:=0;
For n: =1 to 15 do begin
y:=y+1/n;
Writeln ('y=', y: 5:5);
End;
Readln;
End.
Задача 2. Составить алгоритм и программу, которая из чисел о 10 до 99 выводит те, сумма которых равна S( 0<S<12)
Для решения введем следующие обозначения: k- просматриваемое число,
P1-первая цифра числа k, P2- вторая цифра числа k/ S – это сумма цифр данного числа k. Чиcло k будем записывать только в том случае, когда сумма P1и P2 равна S.
![]() |
![]() |
Выделение последней цифры числа P1:=k div 10
![]()

![]() |

![]()
Нет
Да
Да

![]()
Согласно блок-схеме записываем программу.
Program pr2;
Uses CRT;
Var k, n, P1, P2, S: integer;
Begin
Clrscr;
Writeln ('Wwedite celoe chislo N=');
Readln (N);
S: =0;
For k: =10 to 99 do begin
P1:=k div 10;
P2:=k mod 10;
S: =P1+P2;
If S=N then writeln ('k=', k);
end;
Readln(k);
end.
Цикл с предусловием используется для программирования процессов, в которых число повторений оператора цикла неизвестно, а задается некоторое условие его окончания.
Выполнение оператора цикла с предусловием начинается с проверки условия, записанного после слова while. Если оно соблюдается, то выполняется <тело цикла>, а затем вновь проверяется условие и т. д. Как только на очередном шаге окажется, что условие не соблюдается, то выполнение <тела цикла> прекратится.
Задача 3. Последовательность чисел задана законом

Найти номер N члена последовательности, с которого выполняется неравенство An < 1E-3.
Решение.
В данном случае мы не знаем, сколько нужно выполнить шагов цикла для выполнения данного условия. Другими словами нужно найти границу, после которой выполняется условие.
Блок – схема «Граница»
![]() |
![]()
![]()

![]()
Запишем программу.
Program Pr3;
Uses CRT;
Var n: integer;
Begin
Clrscr;
For n:=1 to 1000 do Begin
if 1/(N+7)<1E-3 then writeln('N=',N);
end;
Readln(N);
end.
Задача 4. Дано натуральное число N. Посчитать количество цифр в числе.
Запишем алгоритм в виде пошагового исполнения.
1. Имя алгоритма.
2. Описание вводимых переменных.
3. Ввод целого числа N.
4. Запоминаем вводимое число и счетчику цифр присваиваем значение равное нулю. M:=n/ k=0/
5. Выполнение условия цикла пока m< >0
6. Уменьшаем число на последнюю цифру, т.е. в 10 раз
7. Вывод количества цифр.
Составляем программу, используя данный алгоритм.
Program pr4;
Uses crt;
Var n, m: longint;
K: integer;
Begin
Clrscr;
Writeln ('Wwedite chislo N='); readln (N);
M:=N; k:=0;
While M<>0 do Begin
K:=k+1; M:=M div 10;
End;
Writeln ('W chisle ', N,'- ', k,' cifr');
Readln;
End.
Задания для самостоятельной работы.
1. В задаче 1. изменить цикл с 20 до 1.
2. Определить значение переменной S после выполнения следующих операторов:
S:=0; n:=5 for i:=2 to n do S:=S+100 div 10
Какие из приведенных операторов правильные и почему?
For i:=12 to 15 do S:=S+I;
For a:=30 to 20 do
If a mod 3=0 then d:=d+1;
3. Дан ряд чисел от 5 до 125. Найти сумму чисел, кратных 3. Составит алгоритм и программу.
4. Вычислить значение суммы. Составить алгоритм в виде пошагового исполнения. Записать программу.
5. Определить номер N члена последовательности,
An=1/ k3
начиная с которого выполняется условие An < 0,01.
Составить блок-схему и записать программу.
I. Алгоритмы цикла..
1. Цикл с параметром.
а) Решение задач
2. Оператор цикла с предусловием.
б) Решение задач.
3. Задание на самостоятельную работу.
При решении многих задач требуется многократно выполнять одни и те же
действия . Например, при нахождении суммы, произведения конечных и бесконечных рядов, нахождения значения факториала, расчета полета траектории различного вида летательных аппаратов. В этом случае в программировании предусмотрены алгоритмы, называемые циклическими.
Алгоритмы цикла подразделяются на алгоритмы цикла с предусловием, постусловием. Дадим характеристику данных видов алгоритмов. В общем виде блок-схема с оператором цикла выглядит так.
I. Алгоритмы цикла..
1. Цикл с параметром.
а) Решение задач
2. Оператор цикла с предусловием.
б) Решение задач.
3. Задание на самостоятельную работу.
При решении многих задач требуется многократно выполнять одни и те же
действия . Например, при нахождении суммы, произведения конечных и бесконечных рядов, нахождения значения факториала, расчета полета траектории различного вида летательных аппаратов. В этом случае в программировании предусмотрены алгоритмы, называемые циклическими.
Алгоритмы цикла подразделяются на алгоритмы цикла с предусловием, постусловием. Дадим характеристику данных видов алгоритмов. В общем виде блок-схема с оператором цикла выглядит так.
Профессия: Менеджер по управлению сервисами ИТ
Профессия: Учитель информатики
Профессия: Преподаватель математики и информатики
Профессия: Специалист по формированию электронного архива
В каталоге 7 152 курса по разным направлениям