Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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





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

Задание 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

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

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

Задание. Вычислить сумму ряда и функцию Y.

Постановка задачи. Определив тип общего члена ряда, и организовав вычисление его суммы со структурой вложенных циклов, получить таблицу, состоящую из переменных X, Y, S, при |X|<1.

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

1. При организации вложенных циклических структур необходимо обратить внимание на правильность выбора внешнего и внутреннего циклов. Замена внешнего цикла на внутренний цикл приведёт к изменению постановки задачи и получению неверного результата.

2. При вычислении суммы по формуле S=S+An, необходимо правильно определить начальное значение S, которое равно первому элементу ряда. Например, в ряде при n=0 начальное значение S=0, а в ряде при n=0 начальное значение S=0.

3. Получив результаты выполнения программы, сравнить их: значения S и Y должны быть одинаковыми.


Например, вычислить сумму ряда S и функцию Y.

Общий член ряда выражается по формуле , выражение n-ого члена через (n-1)-ый равно . Шаг изменения X определяется H=(XM-X0)/M, где XM, X0 – диапазон изменения X, а M – число разбиений - может любым.

PROGRAM PRIMER1;

VAR

S, A, X, Y, X0, XM: REAL;

K, N, M: INTEGER;

BEGIN

WRITE (‘Введите интервал изменения значения X’);

READLM (X0, XM);

WRITE (‘Введите количество точек M на этом отрезке’);

READLN (M);

WRITE (‘Введите число элементов ряда’);

READLN (K);

X := X0;

H := (XM-X0)/M;

REPEAT

S := 1;

A := 1;

FOR N := 1 TO K DO

BEGIN

A := A*X/N;

S := S+A;

END;

Y := ESP (X);

WRITELN (‘S = ’, S:8:5, ‘’:3, ‘Y = ’, Y:8:5);

X := X+H;

UNTIL X>=XM;

END.

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





Рекомендуемые страницы:

Воспользуйтесь поиском по сайту:



©2015- 2021 megalektsii.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.