Составление циклических программ

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

Задание 1. Вычислить таблицу значений функции одного аргумента.

Постановка задачи 1. Составить алгоритм и программу вычисления таблицы значений функции f(x) для N значении аргумента X, равномерно распределенных на отрезке [А, Б]. Для проверки программы задать N=10; A=0,55; B=1.

Варианты заданий

Функция Y=f(x)



Значение A Значение X1 Значение dX Значение A Значение X1 Значение dX
-2A A/5 -A A/4
1.5 A/4 1.5 -2A A/5
-2.5A A/5 -2.2A A/5
A/4 A/2
-2A A/5 3A/10
0.8 -A A/4 0.8 -4A 2A/5
1.5 -6A 3A/10 1.5 A/5
A/4 -2.2A A/5
0.7 -10A A/2 1.5 -2A A/5
1.5 -A 3A/10 0.7 -2A A/5
-5A 2A/5 -8A 2A/5
1.2 -2A A/4 1.2 -4A 3A/10
-6A 2A/5 -2A 3A/10
1.5 -4A A/5 1.5 -2A A/5
4A/5 -7A 2A/5

Задание 2. Организация итерационных циклов.

Постановка задачи 2. Используя, оператор цикла, найти сумму элементов, указанных в конкретном варианте.

Методические указания

При определении суммы членов ряда следует использовать рекуррентную формулу для получения следующего члена ряда. Например, требуется найти сумму ряда с точностью , общий член которого равен .

Для вычисления числа суммы целесообразно использовать рекуррентные соотношения, то есть выражать последующий член ряда через предыдущий член. Это существенно сокращает объём вычислительной работы.

Для получения рекуррентной формулы вычислим отношение следующего члена ряда к текущему члену:
откуда получаем

При составлении программы будем считать, что точность достигнута, если .

PROGRAM SUM;

CONST

E=0.1E-3;

VAR

N: INTEGER;

AN, SUMMA: REAL;

BEGIN

AN := 2/3; {первый член ряда}

SUMMA := 0; {первоначальное значение суммы}

N := 1; {порядковый номер элемента ряда}

WHILE abs(AN)>E DO

BEGIN

SUMMA := SUMMA+AN; {накопление суммы}

N := N+1; {увеличиваем порядковый номер ряда}

AN:=AN*(N+1)/(2*(2*N+1)); {вычисляем следующий член ряда}

END;

WRITELN (SUMMA, AN);

END.

Варианты заданий

f(x)

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

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

При этом область действия внутреннего цикла должна располагаться внутри охватывающего его цикла.

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

В данной работе рассматривается вычисление функций, представленных в виде ряда, и вычисление их значений сводится к вычислению частичных сумм.

Каждое слагаемое суммы зависит от параметра X и номера n, определяющего место этого слагаемого в сумме.

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

Вопросы для самопроверки

1. Дайте определение циклов?

2. Какие виды циклов различают?

3. Каков формат оператора While..do? Как осуществляется выход из тела цикла?

4. Каков формат оператора Repeat..until? Как осуществляется выход из тела цикла?

5. Каков формат оператора for..to..do? Как осуществляется выход из тела цикла?

6. Дайте определение вложенного и внешнего циклов?

Лабораторная работа №5

Наши рекомендации