Студопедия — Оператори циклу.
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Оператори циклу.






Оператори циклу дозволяють описати повторюваний процес. Дії, які повторюються, прийнято називати тілом циклу. Кількість повторень тіла циклу має бути яким-небудь способом задана; інакше цикл буде нескінченним.

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

Розрізняють арифметичні та ітеративні цикли. В арифметичних циклах число повторень може бути визначене на основі закону зміни параметра циклу; в ітеративних циклах - цикл повторюється до тих пір, поки не буде виконана умова виходу із циклу.

Оператор арифметичного циклу. Служить для кодування арифметичних циклів, тобто циклів, число повторень яких відомо заздалегідь.

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

Блок-схема, що відповідає циклу з параметром, представлена на рис. 1.

Рис.1 Блок-схема арифметичного циклу

 

Тут i - параметр циклу, i0 - початкове значення параметра, iT - кінцеве значення параметра, iS - крок приросту параметра. Циклічна гілка блок-схеми виконується для всіх i, починаючи з i0 і закінчуючи iT з кроком iS (тобто для i0, i0+iS, i0+2iS, i0+3iS,...). Як тільки i вийде за межі інтервалу [ i0 ,iT ], повторення перериваються і програма виходить з циклу.

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

У мові С оператор арифметичного циклу має формат:

for (вираз_1; вираз_2; вираз_3)

оператор;

де вираз_1 - ініціалізація параметра циклу;

вираз_2 - умова повторення циклу;

вираз_3 - крок зміни параметра циклу.

Особливості реалізації у мові С:

- допускає задання кроку для зміни параметра циклу

for (int i=1; i<=n; i+=2) { … };

- у заголовку циклу допускається оголошення типу параметра циклу

for (int i =1; i<=n; i+= 2) { … };

- можливе використання декількох параметрів циклу

for (n = 0,k = 5; n<k; n++,k--) { … };

Алгоритмічні мови програмування, зокрема, Pascal і С, накладають певні обмеження на використання лічильника (параметра) циклу:

- він може бути тільки порядкового типу;

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

Приклад програми на мові С. Визначити суму N введених дійсних чисел.

#include <iostream.h>

#include <stdio.h>

#include <conio.h>

main ()

{ float s=0, // сума

num; // число

int i, // лічильник циклу

n; // кількість введених чисел

cout <<“Input amount of numbers:”;

cin >> n;

for (i=1; i<=n; i++)

{ printf(“Input number:”);

scanf(“%f”, &num);

s+= num;

}

printf(“\nSum=%5.2f”,s);

getch();

}

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

У випадку мови С оператором циклу з передумовою є оператор while наступного формату:

while (умова працездатності)

оператор;

Оператор циклу з передумовою зручний у випадках, коли за певних умов тіло циклу не повинне виконуватися жодного разу.

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

Приклад програми на мові С. Дано числа a, b (a > 1, b > a). Одержати всі члени послідовності а, а2, а3, …, що менші числа b.

#include <iostream.h>

#include <conio.h>

main ()

{ float a,b, // вхідні дані

c; // елементи послідовності

cout <<“Input a,b:”;

cin >> a >> b;

c = a;

while (c < b)

{ cout << c << “ “;

c*= a;

}

getch();

}

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

У випадку мови С оператором циклу зпостумовою є оператор do-while. Його формат:

do

оператор

while (умова працездатності);

Особливості:

- тіло циклу виконується поки умова є істинною (true).

Приклад програми на мові С. Знайти суму i кiлькiсть введених чисел.

#include <stdio.h>

#include <conio.h>

main ()

{ int number, // введене число

total = 0, // сума введених чисел

count = 1; // кiлькiсть введених чисел

do

{ printf ("number \n");

scanf ("%d", &number);

total += number;

count++;

}

while (number!= 0);

count--;

printf("total=%d count=%d \n", total, count);

getch ();

}

Всі оператори циклів допускають вкладеність інших операторів, у тому числі і інших циклів.

 

Рекомендації з вибору циклів:

- якщо число повторень циклу відомо заздалегідь - for;

- якщо число повторень циклу заздалегідь невідомо, але існують умови, при яких цикл може не виконуватися жодного разу - while;

- якщо число повторень циклу заздалегідь невідомо, але цикл повинний виконатися хоча б один раз - do–while.

 

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

* BREAK - дострокове закінчення циклу;

* CONTINUE - дострокове закінчення ітерації циклу.







Дата добавления: 2015-10-15; просмотров: 550. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Тема 5. Анализ количественного и качественного состава персонала Персонал является одним из важнейших факторов в организации. Его состояние и эффективное использование прямо влияет на конечные результаты хозяйственной деятельности организации.

Билет №7 (1 вопрос) Язык как средство общения и форма существования национальной культуры. Русский литературный язык как нормированная и обработанная форма общенародного языка Важнейшая функция языка - коммуникативная функция, т.е. функция общения Язык представлен в двух своих разновидностях...

Патристика и схоластика как этап в средневековой философии Основной задачей теологии является толкование Священного писания, доказательство существования Бога и формулировка догматов Церкви...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

Studopedia.info - Студопедия - 2014-2024 год . (0.007 сек.) русская версия | украинская версия