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

3. Программирование алгоритмов циклической структуры

Циклическая структура программы позволяет производить многократные вычисления группы операторов при изменении одного или нескольких параметров одновременно. B языке ТУРБО-ПАСКАЛЬ имеются три оператора цикла.

Оператор цикла FOR используется для организации цикла с известным числом повторений.

Общий вид записи:

-при увеличении значения параметра

FOR I:= m1 TO m2 DOS;

-при уменьшении значения параметра

FOR I:=m1 DOWNTO m2 DO S;

где I - параметр цикла;

17

m1 - начальное значение параметра;

m2 - конечное значение параметра;

S - тело цикла, состоящее из простого или составного оператора.

Оператор цикла WHILE используется для организации цикла с неизвестным числом повторений. Общий вид записи оператора цикла с предварительным условием:

WHlLE b DO S;

где b - логическое выражение; S - тело цикла, состоящее из простого или составного оператора.

Оператор цикла REPEAT используется для организации цикла с неизвестным числом повторений. Общий вид записи оператора цикла с последующим условием:

REPEAT S UNTIL b ;

где S - тело цикла, состоящее из одного или нескольких простых операторов; b - логическое выражение.

B отличие от оператора WHILE в операторе REPEAT проверка условия выполняется в конце оператора, поэтому он обеспечивает хотя бы одно вычисление при значении логического выражения TRUE (истина).

3,1. Вычисление суммы и произведения

Если необходимо вычислить сумму значений некоторой функции у = f(x) при различных значениях аргумента, то целесообразно организовать цикл, в котором не только вычисляются текущие значения функции, но и накапливается их сумма путем сложения полученного слагаемого с суммой предыдущих. Формула, используемая для накопления, имеет вид

18

При первом выполнении цикла вычисляется значение S1 = S0 + у1, которое должно быть равно y1. Поэтому начальному значению суммы перед циклом следует присвоить значение ноль.

ПримерЗ.1.1

Составить программу для вычисления функции

PROGRAM SYMMA,

VAR I: INTEGER;

W:REAL; CONST N = 10;

BEGIN

W: = O ; {начальное значение суммы}

FOR I: = 1 TO N DO

W: = W + cos( I) /I;

WRITELN (‘SUMMA =’ , W: 7 : 4)

END.

Аналогично накапливается и произведение, с той лишь разницей, что для его накопления используется формула Pj = Pi-l · уi, а начальное значение произведения должно быть равно единице.

3.2.Программирование алгоритмов со структурой вложенных циклов

B цикл, называемый внешним, могут входить один или несколько вложенных циклов, называемых внутренними. Организации как внешнего, так и внутреннего цикла осуществляются по тем же правилам, что и простого цикла. Параметры внешнего и внутреннего циклов разные и изменяются не

19

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

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

(символом "П"обозначено накопление произведения).

PROGRAM PROIZV;

VOR I, J: BYTE ;

Z: REAL;

BEGIN

Z: = 1

FOR I: = 1 TO 10 DO

FOR J: = 1 TO 5 DO

Z: = Z * ABS (SIN(I) * COS(J)) / (I + J) ; WRITELN(‘PROIZVEDENIE=’, Z: 8: 4)

END.

Задания к теме № 3

Задачи 31-40

Вычислить сумму и произведение:

31) а) б)

32) а) б)

33) а) б)

34) а) б)

20

35) а) б)

36) а) б)

37) а) б)

38) а) б)

39) а) б)

40) а) б)

Контрольные вопросы

  1. Каково назначение операторов цикла?

  2. Укажите отличительные особенности каждого из трех операторов цикла.

  3. Будет ли выполняться циклическая часть программы, если логическое выражение является ложным с самого начала в операторе цикла WHILE?

  4. Чему равен шаг изменения параметра цикла в операторе FOR?

  5. Будет ли выполняться циклическая часть программы, если логическое выражение истинно с самого начала в операторе REPEAT?

  6. Как изменяются параметры внешнего и внутреннего циклов во вложенных циклах?

3.3. Итерационные циклы 3.3.1. Табулирование функции

Задача табулирования функции на интервале от Хнач до Хкон с шагом h является очень распространенной.

21