- •Інформація та інформаційні процеси Поняття інформації.
- •Одиниці вимірювання інформації.
- •Подання інформації та типи комп'ютерів.
- •Способи пересилання інформації.
- •Будова комп'ютера
- •Пристрої введення-виведення інформації.
- •Процесор
- •Принципи функціонування комп'ютера Фізичні принципи
- •Програмний принцип
- •Поняття про середовища програмування
- •Загальна характеристика мови паскаль
- •Поняття інтегрованого середовища
- •Команда New
- •Команда Open
- •Основи алгоритмізації Алгоритми та їх властивості
- •Блок-схеми
- •Загальна характеристика Паскаль-програми
- •Структура Паскаль-програми
- •Елементи мови Паскаль
- •Прості типи даних
- •Стандартні типи даних
- •Дійсний тип
- •Логічний тип
- •Символьний тип
- •Конструйовані типи
- •Перелічуваний тип
- •Оператори надання значень змінним Оператор присвоєння
- •Уведення-виведення
- •Порядок виконання операцій
- •Складений оператор
- •Стиль запису програми
- •Структури керування
- •Структура послідовного виконання
- •Структура розгалуження
- •Умовний оператор
- •Оператор варіанта
- •Оператор безумовного переходу
- •Структура повторення
- •Цикл з параметром
- •Цикл з передумовою
- •Цикл з післяумовою
- •Ітераційні цикли
- •Обчислення суми знакозмінного ряду із заданою точністю
- •Процедури і функції
- •Процедури з параметрами. Параметри-значення
- •Одномірні масиви
- •Поняття масиву. Одномірний масив та його опис в програмі
- •Обчислення скалярного добутку двох векторів
- •Знаходження найбільшого (найменшого) значень серед елементів масиву
- •Обчислення суми та добутку елементів масиву
- •Перетворення масиву по заданому закону
- •Впорядкування одномірних масивів
- •Впорядкування шляхом вибору
- •Впорядкування обмінами
- •Впорядкування вставками
- •Зливання впорядкованих масивів
- •Двомірні масиви Поняття двомірного масиву та його опис у програмі
- •Ввід та вивід значень елементів двомірного масиву Ввід значень елементів двомірного масиву
- •Вивід значень елементів двомірного масиву a[m,n]
- •Рядковий тип (string)
- •Комбіновані типи Організація комбінованих типів у Паскалі
- •Оператор приєднання
- •Множинні типи Організація множин
- •Файлові типи Організація файлів
- •Підготовчі та завершальні операції
- •Операції уведення-виведення
- •Стандартні файли input і output
- •Модулі Модуль і його структура
- •Стандартні модулі
- •Наближене знаходження коренів рівнянь Дослідження рівняння. Відокремлення коренів
- •Метод поділу проміжку пополам
- •Метод хорд
- •Метод дотичних
- •Чисельне інтегрування
- •Квадратурні формули прямокутників
- •Загальні формули прямокутників
- •Квадратурна формула трапецій
- •Практичні оцінки точності квадратурних формул. Вибір кроку інтегрування
- •Список літератури
Структура повторення
Для розв'язування деяких задач доводиться багаторазово виконувати обчислення за одними й тими ж залежностями, однак для різних значень величин, що є в цих залежностях.
Такий процес називають циклічним. Ділянки програми, які реалізують такий процес, називаються циклами, а змінні в циклі - циклічними змінними. Алгоритм циклічної структури повинен містити такі етапи:
підготовку циклу - задання початкових значень змінних циклу;
тіло циклу - дії, що виконуються в ньому;
модифікацію значень змінних циклу перед кожним новим його повторенням;
керування циклом - перевірку умови продовження циклу і перехід на початок циклу чи вихід із циклу залежно від виконання умови.
Прикладом простого циклічного процесу є табулювання функції - обчислення її значень у =f(x) для різних значень х в інтервалі [x0 ,xn] з кроком h.
У мові Паскаль є три можливості безпосередньо організувати циклічний процес - це оператори циклу з передумовою, з післяумовою та оператор циклу з параметром. Перші два використовують, коли кількість повторень невідома, а третій - коли кількість повторень відома.
Цикл з параметром
Якщо кількість повторень наперед відома, то доцільно використовувати структуру циклу з параметром, однак не обов'язково, оскільки її можна замінити іншою - наприклад, циклом з передумовою. Отже, у випадку циклу з параметром кількість повторень оператора, що виконується в циклі, не залежить від результату роботи цього оператора, її обчислюють за допомогою спеціальної змінної, яку називають параметром циклу. Для неї відоме початкове і кінцеве значення, а також крок її зміни, який задають неявно. Керування циклом відбувається шляхом порівняння поточного значення параметра циклу з кінцевим.
Розглянемо простий приклад. Нехай треба обчислити суму п перших членів гармонічного ряду
1+1/2+1/3+...+1/n.
Цю суму відшукаємо, якщо виконаємо в циклі операцію s:=s+1/i для і=1,..n, задавши перед циклом присвоєння s:=0. Отже, наперед відомо, що цикл повторюється п разів і параметр циклу змінюється від 1 до n. Обчислення найліпше виконати за допомогою циклу з параметром.
Загальний вигляд оператора циклу з параметром такий:
for <параметр_циклу>:=<вираз1> [to/downto] <вираз2>
do <оператор>;
де <параметр_циклу> - змінна будь-якого простого типу, крім дійсного; <вираз1> і <вираз2> - вирази, тип яких повинен збігатися з типом змінної параметра циклу; <оператор> - будь-який оператор мови Паскаль.
Оператор виконується для кожного значення параметра циклу від значення <вираз1> до <вираз2> включно. У цьому випадку під час використання службового слова to значення параметра циклу збільшується за правилом pc:=succ(pc), а в разі використання службового слова downto - зменшується за правилом pc:=pred(pc), де pс- змінна, яка позначає параметр циклу. Отже, якщо параметр циклу є змінною цілого типу, то крок дорівнює 1 у випадку використання to, і -1, якщо застосовують downto. Розглянутий приклад суми гармонічного ряду реалізують так:
s:=0;
for i:=1 to n do s:=s+1/i;
(Тут і надалі як приклади будемо наводити тільки фрагменти програм, переважно оминаючи описи змінних, уведення, виведення тощо, якщо це буде зайвим).
Використовуючи оператор циклу з параметром, треба враховувати такі правила.
1. Заборонено змінювати всередині циклу, тобто в тілі циклу, значення <параметр_циклу>, <вираз1>, <вираз2>.
Заборонено входити в цикл, оминувши оператор for, оскільки значення <параметр_циклу>, <вираз1> і <вираз2> будуть невизначеними.
Цикл не виконується взагалі, якщо початкове значення більше (а у випадку downto - менше) від кінцевого.
Після закінчення виконання циклу значення змінної <параметр_циклу> не визначене і не може бути використане для подальших обчислень.
Після службового слова do може стояти тільки один оператор; якщо в циклі треба виконати групу операторів, то їх беруть в операторні дужки begin-end;
Із складеного оператора можна вийти за допомогою оператора безумовного переходу goto. У цьому випадку останнє значення <параметр_циклу> зберігається.
Розглянемо
програму обчислення суми членів числової
послідовності
program SumChlPosl;
uses
Crt;
Var
s,a: real;
I,z,n: integer;
Begin
ClrScr;
Write(' Введіть кількість членів',
' послідовності n ');
Readln(n);
s:=0;
z:=-1;
for i:=1 to n do
begin
a:=z*i*i/(3*i*i+5*i+4);
writeln('a[',i:2,']=',a:9:3);
s:=s+a;
z:=-z;
end;
Writeln('Сума членів послідовності s=', s:9:4);
Readln;
End.
