Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Організація циклів

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

Нас будуть цікавити цикли, які використовуються в програмуванні, їх організація, правила використання і способи застосування. В мові Pascal використовують три види циклів:1

n цикл з параметром;

n цикл з передумовою;

n цикл з післяумовою.

Взагалі, якщо висловлюватись науково, то перші два цикли можна було б об’єднати в один – цикл з передумовою, що і зроблено в деяких книгах по програмуванню. Ми не робимо це по тій причині, що вважаємо, що ці цикли є все–таки різними і постараємось вам це довести. Крім того, запропонований вам поділ прийнятий серед більшості програмістів і дає розуміння процесу «машинного мислення».

Третій цикл – цикл з післяумовою часто називають циклом з постумовою, але ми поділяємо думку тієї частини програмістів, які називають його циклом з післяумовою. Чому саме – розберемось при розгляді даного виду циклу.

Розглянемо всі три види циклів на прикладі однієї простої, класичної задачі.

Задача 73. Знайти суму перших 100 натуральних чисел.

Розв’язання: Перед тим, як перейти до згадуваних трьох видів циклів розв’яжемо дану задачу з використанням команди розгалуження.

Program summa0; { варіант програми без операторів циклу }

label mmm;{введемо мітку з іменем вже неіснуючої відомої компанії}

var i, sum : integer; { i – число, що додається, sum – шукана сума }

begin

i := 1; { перше число, яке нам потрібно додати }

sum := 0; { поки не почали додавати, сума дорівнює нулеві }

mmm : sum := sum + i; { до суми додаємо чергове число }

i := i+1; { збільшуємо доданок на одиницю }

if i <= 100 then goto mmm; { якщо доданок <=100 то повертаємось на мітку і продовжуємо додавати }

write ('S = ',sum); { друкуємо результат }

readln;

end.

Дехто, може сказати, що цю задачу можна розв’язати значно простіше – достатньо використати лише формулу суми членів арифметичної прогресії. Згодні, це так, але нам ця задача була потрібна виключно для учбових цілей. Крім того, ми можемо (для найбільш прискіпливих) накласти додаткову умову: при розв’язанні задачі дозволяється використовувати лише операції додавання! Тому перейдемо до детальнішого розгляду розв’язку.

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

Як працює дана програма? Оскільки нам потрібно додати всі числа від 1 до 100, то першим числом, яке потрібно додати є 1, тому ми і першому значенню доданку присвоїли 1. До початку додавання шукана сума становить 0. А далі ставимо мітку перед початком додавання і до суми додаємо черговий доданок. Після чого доданок збільшується на 1 і перевіряється умова, чи новий доданок відповідає поставленій умові задачі. Якщо відповідає, то повертаємось на додавання (власне для цього і вводилась мітка), якщо ні – друкуємо результат.

Деякі читачі можуть нам зауважити, що запропонована структура і є циклом. Так, шановні, ви повністю праві, але і ми кажемо те ж саме, але наголошуємо, що цю організацію циклу зроблено без використання операторів циклу. І зроблено це для того, щоб показати, що, в принципі, можна взагалі обійтись без операторів циклу, але це було б не зовсім раціонально, оскільки використання операторів циклу значно полегшує розуміння тексту програми, зменшує кількість використаних міток, перевірок різних умов і т.д. Крім того, не забуваймо, що ми граємо в деяку гру і маємо право промоделювати довільну ситуацію для кращого розуміння самої гри.

Але не будемо знову вдаватись до філософських роздумів і перейдемо до розгляду конкретних організацій циклів.

 

 


Читайте також:

  1. II. Організація і проведення спортивних походів
  2. II. Організація перевезень
  3. II. Організація перевезень
  4. А. Організація Острозького колегіуму – Академії
  5. Адміністративно-територіальна організація
  6. Бюджетний устрій в зарубіжних країнах. Організація бюджетного процесу
  7. Бюрократична організація
  8. Вентиляція. Види вентиляції. Організація повітрообміну в приміщеннях, повітряний баланс, кратність повітрообміну
  9. Взаємини з агентствами та організаціями
  10. Взаємодія органів публічної влади з трудовими колективами, підприємствами, установами, організаціями
  11. Вибір оптимального розкладу (режиму) роботи в наукових організаціях.
  12. Види економічних циклів




Переглядів: 519

<== попередня сторінка | наступна сторінка ==>
Вправи та завдання | Цикл з параметром

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.003 сек.