Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Цикли в Паскалі

Реферат Цикли в Паскалі





При вирішенні переважної більшості завдань (у тому числі й досить нескладних) в програмі практично неможливо задати в явному вигляді всі операції, які необхідно виконати. Справді, нехай необхідно обчислити суму перших n членів гармонійного ряду:


Y = 1 + 1/2 + 1/3 + ... + 1/n


Очевидно, що з використанням тільки розглянутих вище типів операторів можна скласти програму лише для фіксованого значення n. Наприклад, при n = 5 необхідні обчислення можна задати за допомогою оператора привласнення види:


Y: = 1 +1/2 +1/3 +1/4 +1/5


Якщо ж значення n не фіксується, а є вихідними даними, що вводиться в процесі виконання програми (і навіть константою, описаної в програмі), то аналогічний оператор присвоювання записати неможливо. Бо запис виду Y: = 1 +1/2 +1/3 + ... +1/n в мовах програмування неприпустима.

Для усунення виникаючих труднощів служать оператори циклу . Вони дозволяють повторювати виконання окремих частин програми. Можна виділити чотири про імператора циклу , присутніх у тому чи іншому вигляді у всіх мовах програмування: простий арифметичний оператор циклу (цикл з параметром з кроком 1), складний арифметичний оператор циклу (цикл з параметром довільного кроку), ітераційний оператор циклу з передумовою , ітераційний оператор циклу з постусловіем .

Простий арифметичний оператор циклу Паскаля (цикл з параметром)

Повернемося до розглянутої вище задачі обчислення суми перших n членів гармонійного ряду, правила якої неможливо задати у вигляді арифметичного виразу, якщо значення n заздалегідь не фіксоване.

Насправді обчислення цієї суми можна здійснити за дуже простим і компактному алгоритмом: попередньо покладемо y = 0 (за допомогою оператора присвоєння y: = 0), а потім виконаємо оператор присвоювання y: = y +1/i для послідовних значень i = 1,2, ..., n. При кожному черговому виконанні цього оператора до поточного значенням y буде додаватися чергове доданок. Як видно, в цьому випадку процес обчислень буде носити циклічний характер: оператор y: = y +1/i повинен виконуватися багаторазово, тобто циклічно, при різних значеннях i.

Цей приклад циклічного обчислювального процесу є вельми типовим; його характерні особливості полягають у тому, що

В· число повторень циклу відомо до початку його виконання (в даному випадку воно дорівнює значенням n, яке передбачається заданим до цього часу);

В· управління циклом здійснюється за допомогою змінної порядкового типу, яка цього циклічному процесі бере послідовні значення від заданого початкового до заданого кінцевого значень (в нашому випадку - це целочисленная мінлива i, приймаюча послідовні значення від 1 до n).

Для компактного завдання подібного роду обчислювальних процесів і служить оператор циклу з параметром . Найчастіше використовується наступний вигляд цього оператора У Паскалі:


For V: = E1 to E2 do S,


де for (Для), to (збільшуючись до) і do (виконувати, робити) - службові слова, V - мінлива порядкового типу, звана параметром циклу, Е1 і Е2 - вираження того ж типу, що й параметр циклу, S - оператор, який і виконується багаторазово в циклі, званий тілом циклу.

Зауважимо, що в Паскалі після do повинен стояти один оператор, якщо необхідно виконати декілька дій, то вони повинні бути об'єднані в один складений оператор шляхом укладення в операторні дужки.

Цей оператор циклу Паскаля передбачає присвоювання параметру циклу V послідовних значень від початкового значення, рівного значенню виразу Е1, до кінцевого значення, рівного значенню виразу Е2, тобто при кожному повторенні виконується оператор присвоювання V: = succ (V) , і виконання оператора S при кожному значенні параметра циклу V. При цьому значення виразів Е1 і Е2 обчислюються один раз, при вході в оператор циклу, а значення параметра циклу V не повинно змінюватися в результаті виконання оператора S. Якщо задане кінцеве значення менше початкового значення (що припустимо), то оператор S не виконується ні разу.

У Паскалі вважається, що при нормальному завершенні виконання оператора циклу значення параметра циклу не визначено.

З використанням оператора циклу з параметром алгоритм обчислення суми перших n членів гармонійного ряду може бути заданий наступним чином:

Приклад коду програми для підсумовування перших n членів гармонійного ряду


Readln (n);

Y: = 0;

For i: = 1 to n do y: = y +1/i;


У деяких випадках буває зручно, щоб параметр циклу Паскаля брав послідовні, але не зростаючі, а убуваючі значення. Для таких випадків у Паскалі передбачений оператор циклу з параметром такого вигляду:


For V: = E1 downto E2 do S,...


сторінка 1 з 5 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Оператор присвоювання мови FORTRAN
  • Реферат на тему: Проектування технології виконання робіт нульового циклу
  • Реферат на тему: Особливості і завдання реклами на різних фазах життєвого циклу товару
  • Реферат на тему: Культура безпеки на всіх етапах життєвого циклу АЕС
  • Реферат на тему: Основні операції паросилового циклу Ренкіна