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

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

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






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

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

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

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

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

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



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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

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

Устройство рабочих органов мясорубки Независимо от марки мясорубки и её технических характеристик, все они имеют принципиально одинаковые устройства...

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

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

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

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

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