Цикл з параметром
Якщо кількість повторень наперед відома, то доцільно використовувати структуру циклу з параметром, однак не обов'язково, оскільки її можна замінити іншою - наприклад, циклом з передумовою. Отже, у випадку циклу з параметром кількість повторень оператора, що виконується в циклі, не залежить від результату роботи цього оператора, її обчислюють за допомогою спеціальної змінної, яку називають параметром циклу. Для неї відоме початкове і кінцеве значення, а також крок її зміни, який задають неявно. Керування циклом відбувається шляхом порівняння поточного значення параметра циклу з кінцевим.
Розглянемо простий приклад. Нехай треба обчислити суму п перших членів гармонічного ряду
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.
- Інформація та інформаційні процеси Поняття інформації.
- Одиниці вимірювання інформації.
- Подання інформації та типи комп'ютерів.
- Способи пересилання інформації.
- Будова комп'ютера
- Пристрої введення-виведення інформації.
- Процесор
- Принципи функціонування комп'ютера Фізичні принципи
- Програмний принцип
- Поняття про середовища програмування
- Загальна характеристика мови паскаль
- Поняття інтегрованого середовища
- Команда New
- Команда Open
- Основи алгоритмізації Алгоритми та їх властивості
- Блок-схеми
- Загальна характеристика Паскаль-програми
- Структура Паскаль-програми
- Елементи мови Паскаль
- Прості типи даних
- Стандартні типи даних
- Дійсний тип
- Логічний тип
- Символьний тип
- Конструйовані типи
- Перелічуваний тип
- Оператори надання значень змінним Оператор присвоєння
- Уведення-виведення
- Порядок виконання операцій
- Складений оператор
- Стиль запису програми
- Структури керування
- Структура послідовного виконання
- Структура розгалуження
- Умовний оператор
- Оператор варіанта
- Оператор безумовного переходу
- Структура повторення
- Цикл з параметром
- Цикл з передумовою
- Цикл з післяумовою
- Ітераційні цикли
- Обчислення суми знакозмінного ряду із заданою точністю
- Процедури і функції
- Процедури з параметрами. Параметри-значення
- Одномірні масиви
- Поняття масиву. Одномірний масив та його опис в програмі
- Обчислення скалярного добутку двох векторів
- Знаходження найбільшого (найменшого) значень серед елементів масиву
- Обчислення суми та добутку елементів масиву
- Перетворення масиву по заданому закону
- Впорядкування одномірних масивів
- Впорядкування шляхом вибору
- Впорядкування обмінами
- Впорядкування вставками
- Зливання впорядкованих масивів
- Двомірні масиви Поняття двомірного масиву та його опис у програмі
- Ввід та вивід значень елементів двомірного масиву Ввід значень елементів двомірного масиву
- Вивід значень елементів двомірного масиву a[m,n]
- Рядковий тип (string)
- Комбіновані типи Організація комбінованих типів у Паскалі
- Оператор приєднання
- Множинні типи Організація множин
- Файлові типи Організація файлів
- Підготовчі та завершальні операції
- Операції уведення-виведення
- Стандартні файли input і output
- Модулі Модуль і його структура
- Стандартні модулі
- Наближене знаходження коренів рівнянь Дослідження рівняння. Відокремлення коренів
- Метод поділу проміжку пополам
- Метод хорд
- Метод дотичних
- Чисельне інтегрування
- Квадратурні формули прямокутників
- Загальні формули прямокутників
- Квадратурна формула трапецій
- Практичні оцінки точності квадратурних формул. Вибір кроку інтегрування
- Список літератури