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

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

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






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

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

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

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

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

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



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

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

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

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

Законы Генри, Дальтона, Сеченова. Применение этих законов при лечении кессонной болезни, лечении в барокамере и исследовании электролитного состава крови Закон Генри: Количество газа, растворенного при данной температуре в определенном объеме жидкости, при равновесии прямо пропорциональны давлению газа...

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

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

Что такое пропорции? Это соотношение частей целого между собой. Что может являться частями в образе или в луке...

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