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

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

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





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

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

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

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

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

Блок-схема, що відповідає циклу з параметром, представлена на рис. 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; просмотров: 586. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Условия, необходимые для появления жизни История жизни и история Земли неотделимы друг от друга, так как именно в процессах развития нашей планеты как космического тела закладывались определенные физические и химические условия, необходимые для появления и развития жизни...

Метод архитекторов Этот метод является наиболее часто используемым и может применяться в трех модификациях: способ с двумя точками схода, способ с одной точкой схода, способ вертикальной плоскости и опущенного плана...

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

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