Лабораторна Робота № 9. Тема: turbopascal. Ітераційні циклічні програми

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

 

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

 

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

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

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

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

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

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

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

Хід роботи

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

 

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

 

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

 

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

 

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

 

Графічний алгоритм показаний на рис. 9.1.

 

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

 

Змінна xi xi+1 t e Кількість ітерацій
Ідентифікатор x y t e n

 

 

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

 

Program IT{ітерації};

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;

 

 

 
 

 


ні

 

 

так

 

Рисунок 9.1 – Графічний алгоритм

 

 

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

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

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

end.

 

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

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

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

 

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

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

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

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

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

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

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

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

Варіанти завдань наведені в таблиці 9.1.

Примітка. При використанні методу Ньютона необхідно визначити, яка з крайніх точок інтервалу ізоляції буде рухомою.

Таблиця 9.1 –Варіанти завдань

№ ва-ріанту Рівняння Інтервал ізоляції кореня Похибка обчислення Метод роз- в`язування
         
  4x3-5x2+3x=0 [1;2] 0,0001 ітерацій
  х3-x-1=0 [1;2] 0,001 Ньютона
  x3-3x2+4x-9=0 [2;3] 0,001 ітерацій
  x3+3x-1=0 [0;1] 0,001 Ньютона
  x3-ex-5.5=0 [2,6;3] 0,0001 ітерацій
  х3-x+1=0 [-2;-1] 0,001 Ньютона
  tg3(x)-tg(x)-1=0 [0,8;1] 0,001 ітерацій
  ex-1/x-1=0 [0,5;1] 0,0001 Ньютона
  2x3-7x2+3x-10=0 [3;4] 0,001 ітерацій
  x+ln(x)-2=0 [2;1] 0,0001 Ньютона

 

Продовження таблиці 9.1

         
  x3+3x+1=0 [0;-1] 0,0001 ітерацій
  2x3-5x2+5x-12=0 [2;3] 0,001 Ньютона
  xln(x)-2=0 [2;3] 0,001 ітерацій
  5x3-6x2+x-2=0 [1;2] 0,001 Ньютона
  x3- -8.5=0 [2;3] 0,0001 ітерацій
  ex-ln(x)-20=0 [3;3,2] 0,0001 Ньютона
  3x3-4x2+2x-3=0 [1;2] 0,0001 ітерацій
  x3+2x-11=0 [1;2] 0,001 Ньютона
  ex-2-ln(x+2)=0 [2;3] 0,001 ітерацій
  4x3-5x2+2x-3=0 [1;2] 0,001 Ньютона
  x3-2x-5=0 [2;3] 0,0001 ітерацій
  5x2+7x-15=0 [0;0,2] 0,0001 Ньютона
  ex-1/x-1=0 [2;3] 0,001 ітерацій
  2ex-2-lg(x+12)=0 [0,5;1] 0,0001 Ньютона

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: