Тема: 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 | Ньютона |