Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ.РОБОТИ-1 семестр.doc
Скачиваний:
1
Добавлен:
10.11.2019
Размер:
713.22 Кб
Скачать

3. Контрольні запитання

1. Які дані необхідні для організації циклу?

2. Що таке цикл?

3. Напишіть програму без застосування оператора циклу.

4. Чи може розгалуження не входити до тіла циклу?

5. Побудуйте програму з використанням оператора циклу з післяумовою.

6. Як побудувати програму мовою Pascal за допомогою оператора циклу з параметром?

Лабораторна робота №7

Тема: Ітераційні циклічні програми .

Мета: Формування умінь складання програм для розв’язування рівнянь методом ітерації на алгоритмічній мові високого рівня Pascal.

1. Теоретичні відомості

Особливістю ітераційних циклів є те, що наперед невідома кількість циклів, які виконуються. Обчислення в циклі припиняється при досягненні заданої точності. Ітераційні цикли будуються за допомогою операторів умовного і безумовного переходів, а також використовуються структури організації циклів з передумовою чи з післяумовою.

Для заданого рівняння необхідно:

- скласти графічний алгоритм для визначення кореня рівняння із заданою похибкою методом ітерацій. В алгоритмі передбачити лічильник кількості ітерацій;

- скласти програму для ЕОМ;

- розв’язати рівняння на ЕОМ в діалоговому режимі;

- провести аналіз одержаного результату.

2. Хід роботи

2.1. Постановка задачі

Знайти корінь рівняння cos(x)+2x-5=0 на інтервалі [0;1] з точністю =0.0001, користуючись методом ітерацій.

2.2. Розв’язок задачі.

- Запишемо рівняння у вигляді xi+1=(5-cos(xi))/2 і наведем початкове значення кореня х=0.5 .

- Побудуємо графічний алгоритм.

2.3. Графічний алгоритм

ні

так

Рис.1. Графічний алгоритм

2.4. Таблиця ідентифікації змінних

Змінна

xi

xi+1

t

Кількість ітерацій

Ідентифікатор

x

y

t

e

n

2.5. Програма мовою Pascal та результати обчислень

Program ітерації;

Var

y,x,e,t:real;

n:integer;

Begin

x:=0.5;

e:=0.0001;

n:=0;

repeat

y:=(5-cos(x))/2;

t:=abs(x-y);

x:=y;

n:=n+1;

until t<e;

writeln('Результати обчислень: ');

writeln('Корінь рівняння =',y:6:3);

writeln('Кількість ітерацій =',n);

end.

Результати обчислень:

Корінь рівняння = 2.995

Кількість ітерацій = 7

3. Контрольні запитання

  1. Яка відмінність ітераційного циклу від циклу з регулярною зміною аргументу?

  2. Які дані необхідні для організації циклу?

  3. Як одержати ітераційну формулу для застосування методу ітерацій?

  4. Яка умова закінчення ітераційних обчислень?

  5. Як отримати кількість виконаних ітераційних циклів?

  6. Який оператор керує виходом з циклу?

  7. Побудуйте програму, використавши структуру циклу з передумовою.