- •Інформація та інформаційні процеси Поняття інформації.
- •Одиниці вимірювання інформації.
- •Подання інформації та типи комп'ютерів.
- •Способи пересилання інформації.
- •Будова комп'ютера
- •Пристрої введення-виведення інформації.
- •Процесор
- •Принципи функціонування комп'ютера Фізичні принципи
- •Програмний принцип
- •Поняття про середовища програмування
- •Загальна характеристика мови паскаль
- •Поняття інтегрованого середовища
- •Команда New
- •Команда Open
- •Основи алгоритмізації Алгоритми та їх властивості
- •Блок-схеми
- •Загальна характеристика Паскаль-програми
- •Структура Паскаль-програми
- •Елементи мови Паскаль
- •Прості типи даних
- •Стандартні типи даних
- •Дійсний тип
- •Логічний тип
- •Символьний тип
- •Конструйовані типи
- •Перелічуваний тип
- •Оператори надання значень змінним Оператор присвоєння
- •Уведення-виведення
- •Порядок виконання операцій
- •Складений оператор
- •Стиль запису програми
- •Структури керування
- •Структура послідовного виконання
- •Структура розгалуження
- •Умовний оператор
- •Оператор варіанта
- •Оператор безумовного переходу
- •Структура повторення
- •Цикл з параметром
- •Цикл з передумовою
- •Цикл з післяумовою
- •Ітераційні цикли
- •Обчислення суми знакозмінного ряду із заданою точністю
- •Процедури і функції
- •Процедури з параметрами. Параметри-значення
- •Одномірні масиви
- •Поняття масиву. Одномірний масив та його опис в програмі
- •Обчислення скалярного добутку двох векторів
- •Знаходження найбільшого (найменшого) значень серед елементів масиву
- •Обчислення суми та добутку елементів масиву
- •Перетворення масиву по заданому закону
- •Впорядкування одномірних масивів
- •Впорядкування шляхом вибору
- •Впорядкування обмінами
- •Впорядкування вставками
- •Зливання впорядкованих масивів
- •Двомірні масиви Поняття двомірного масиву та його опис у програмі
- •Ввід та вивід значень елементів двомірного масиву Ввід значень елементів двомірного масиву
- •Вивід значень елементів двомірного масиву a[m,n]
- •Рядковий тип (string)
- •Комбіновані типи Організація комбінованих типів у Паскалі
- •Оператор приєднання
- •Множинні типи Організація множин
- •Файлові типи Організація файлів
- •Підготовчі та завершальні операції
- •Операції уведення-виведення
- •Стандартні файли input і output
- •Модулі Модуль і його структура
- •Стандартні модулі
- •Наближене знаходження коренів рівнянь Дослідження рівняння. Відокремлення коренів
- •Метод поділу проміжку пополам
- •Метод хорд
- •Метод дотичних
- •Чисельне інтегрування
- •Квадратурні формули прямокутників
- •Загальні формули прямокутників
- •Квадратурна формула трапецій
- •Практичні оцінки точності квадратурних формул. Вибір кроку інтегрування
- •Список літератури
Ітераційні цикли
У процесі різних обчислень доводиться будувати послідовність значень g1, g2, ...gn, що визначаються внаслідок повторення тіла циклу. Ці значення утворюють збіжну послідовність, що прямує до деякої границі а
Це, звичайно, цикли з невідомою наперед кількістю повторень. Кожне наступне значення послідовності обчислюється через попереднє gn-1 і з урахуванням збіжності є точнішим наближенням до результату, тобто границі а. Цикли, що реалізують таку послідовність наближень, називаються ітераційними.
Умова продовження (чи закінчення) в ітераційних циклах ґрунтується на властивості безмежного наближення елементів послідовності до границі а. Ітераційний цикл закінчується, коли для деякого п виконується умова
,
де ε - допустима похибка обчислень.
Розглянемо приклади використання ітераційних циклів.
Обчислення суми знакозмінного ряду із заданою точністю
Обчислити в точці х значення функції y=cos(x) та суму нескінченного ряду:
,
де
Визначимо загальний член ряду за рекурентною формулою
.
Звідси
Тоді
Програма має такий вигляд:
program SumZnZm;
var
x,y,yn,pn,s,eps: real;
n: integer;
begin
writeln(' Введіть значення x',
' та точність eps');
readln(x,eps);
s:=0;
yn:=1;
n:=0;
while abs(yn)>eps do
begin
s:=s+yn;
n:=n+1;
pn:=-sqr(x)/(2*n*(2*n-1));
yn:=yn*pn
end;
y:=cos(x);
writeln('cos(',x:6:2,')=',y:7:3);
writeln('Сума ряду s=',s:7:3);
readln;
end.
Обчислення суми знакопостійного ряду із заданою точністю з використанням формули залишкового члена
Обчислити з точністю ε всі значення функції та відповідні суми знакопостійного ряду
змінюючи х на інтервалі [с; d] з кроком h.
Залишковий член оцінювати за формулою
В даному випадку маємо складний циклічний процес, а саме процес типу “цикл в циклі”. Зовнішній цикл (арифметичний) змінює значення х на інтервалі [а; b] з кроком h. Внутрішній цикл забезпечує для конкретного значення х обчислення відповідних значень функції y та суми S. Оскільки обчислення суми необхідно виконати з заданою точністю ε, то внутрішній цикл буде ітераційним.
На відміну від попереднього прикладу всі члени даного ряду одного і того ж знаку. Оцінку точності такого ряду здійснюють не за величиною поточного члена ряду, а за величиною залишкового члена. Зауважимо, що формули залишкових членів рядів доводяться в курсі математичного аналізу і, при потребі, їх можна знайти в довідниках.
Побудуємо рекурентні співвідношення.
Для поточного ряду:
Для залишкового члена ряду:
Для суми:
program SumZnPo;
uses
Crt;
Var c,d,h,eps,x,y,a,r,s:real;
k:integer;
Begin
CIrScr;
Writeln(' Введіть межі інтервалу c,d,',
' та крок h:');
Readln(c,d,h);
Write('Введіть точність обчислень eps:');
Readln(eps);
x:=c;
While x<=d+h/2 do
Begin
a:=1; s:=a; r:=2*x*x/3; k:=1;
While abs(r)>=eps do
Begin
a:=(x/(2*k-1))*(x/(2*k))*a;
r:=(x/(2*k+1))*(x/(2*k+2))*r;
s:=s+a;
k:=k+1;
End;
y:=(exp(x)+exp(-x))/2;
Writeln('x=',x:8:3,' y=',y:9:4,' s=',s:9:4);
x:=x+h;
End;
Readln;
End.