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


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


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


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


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


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


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


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


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


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



Цикл з параметром

 

Приведемо спочатку програмну реалізацію поставленої задачі з використанням даного циклу і на основі неї розберемо саму організацію даного виду циклу.

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

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

begin

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

for i := 1 to 100 do { цикл з параметром! }

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

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

readln;

end.

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

Отже, як працює дана програма. Але перед тим як це показати, пояснимо, що новий для нас рядок

for i := 1 to 100 do

перекладається так:

для і від 1 до 100 виконувати

Це і є спосіб організації циклу з параметром. У загальному випадку цикл з параметром записується так:

forзмінна := початкове значенняtoкінцеве значенняdo

На алгоритмічній мові цикл з параметром організовуються таким чином:

для і від апоч1 до акін

пц

... ( тут записуються команди, що виконуються в циклі )

кц

У машинному розумінні цикл розшифровуються так: для змінної починаючи від початкового значення і закінчуючи кінцевим значенням виконувати наступні інструкції. В умовах поставленої нами задачі в приведеній вище програмі розуміється наступне: для змінної і від 1 до 100 виконувати операцію додавання до змінної Sum значення змінної і.

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

Даний цикл самостійно виконуються рівно 100 разів (100 - 1 + 1, тобто для знаходження кількості ітерацій – необхідно від кінцевого значення відняти початкове і додати одиницю). Рекомендуємо виділене твердження запам’ятати.

А як бути у тому випадку, коли нам необхідно, щоб параметр не збільшувався, а зменшувався? Для цього служить такий спосіб організації даного циклу:

for i := 100 downto 1 do

тобто використання слова downto замість to слова вказує на те, що в циклі параметр автоматично зменшується через одиницю. Отже у нашому варіанті програми ми мали повне право записати саме так і отримати точно такий же результат.

А тепер пояснимо логіку «машинного мислення» у реалізації поставленої задачі. До початку організації циклу ми присвоюємо значення 0 шуканій сумі. Цикл починається з значення параметру рівного 1, ПЕОМ перевіряє, чи 1>100, отримує результат “ні”, виконує операцію циклу Sum := Sum +1, в результаті якої значення Sum = 1, автоматично збільшує значення параметраі на 1, і стає рівним 2. Знову перевіряється умова 2>100, отримується результат “ні”, виконується операція циклу Sum := Sum +1, в результаті якої значення Sum = 3 і автоматично збільшується значення параметра і на 1, і стає рівним 3 і т.д. На 99 кроці значення Sum було 4950 і параметр і став 100, перевіряється чи 100>100, отримується результат “ні”, виконується операція циклу Sum := Sum +100, в результаті якої значення Sum = 5050, автоматично збільшується значення параметра і на 1, і стає рівним 101. Перевіряється чи 101>100, отримується результат “так” і цикл на цьому закінчується. Наступною виконується операція, що йде за циклом: надрукувати результат. Весь хід приведених “машинних роздумів” зручно привести в такій таблиці.

і і > 100 дія S
     
ні +1
ні +2
ні +3
ні +4
... ... ... ...
       
ні +99
ні +100
так

У розглядуваному нами прикладі в циклі виконувалась лише одна операція: до значення суми додавалось значення параметру. А як бути в тому випадку, коли нам потрібно виконати в циклі декілька дій. В цьому випадку всі оператори, що входять до циклу перуться в операторні дужки, нашу нерозлучну солодку парочку Begin ... End. Ми в принципі і в нашому варіанті розв’язку могли написати так:

...

for i := 1 to 100 do

Begin

sum := sum + i;

End;

...

Але якщо в циклі стоїть лише одна операція, то операторні дужки можна не писати, і ми рекомендуємо вам їх не писати, але якщо ви використовуєте в циклі декілька операторів, то писати їх обов’язково.

Підведемо деякі підсумки. Отже, для циклів з параметрами необхідно запам’ятати, що:


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

  1. Важливим параметром конденсаторів є пробивна напруга конденсатора. Чим вона більша, тим надійніший конденсатор, тим більша енергія може сконцентруватись на ньому.
  2. Метод сечений при решении задач с параметром.
  3. При дії постійної локальної та загальної вібрації параметром, що
  4. Характеристика циклу з параметром
  5. Цикл з параметром виконується строгу, наперед задану кількість разів




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

<== попередня сторінка | наступна сторінка ==>
Організація циклів | Цикл з параметром виконується строгу, наперед задану кількість разів

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

  

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


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