SlideShare a Scribd company logo
1 of 19
Мова СМова Сі++і++
Програмування циклів
План:
1.Цикл з передумовою в
Сі++
2.Цикл з післяумовою в Сі+
+
3.Цикл з параметром
Цикл з передумовоюЦикл з передумовою
Формат оператора циклу з
передумовою:
while (вираз) оператор;
Приклад1:Приклад1:
Приклад 2Приклад 2
Цикл з післяумовоюЦикл з післяумовою
Формат оператора циклу з
післяумовою:
do оператор while (вираз);
Цикл виконується до тих пір, поки
вираз не дорівнює нулю, тобто
умова циклу, що знаходиться в нім,
істинна. Вихід з циклу походить
після того, як значення вираз стане
помилковим, іншими словами рівним
нулю.
Приклад 3Приклад 3
Цикл з параметромЦикл з параметром
Формат оператора циклу з параметром:
for (вираз_1; вираз_2; вираз_3) оператор;
Вираз_1 виконується тільки один раз на
початку циклу. Зазвичай він визначає
початкове значення параметра циклу
(ініціалізував параметр циклу). Вираз_2 — це
умова виконання циклу, вираз_3 зазвичай
визначає зміну параметра циклу, оператор —
тіло циклу, яке може бути простим або
складеним. У останньому випадку
Алгоритм виконання циклу forАлгоритм виконання циклу for
представлений на блок-схеміпредставлений на блок-схемі
За допомогою циклу for знаходження
N! можна організувати таким чином:
F=1;
for(i=1;i<=N;i++) F=F*i;
Використовуючи операцію «кома»,
можна у вираз_1 внести ініціалізацію
значень відразу декількох змінних :
for(F=1, i=1; i<=N;i++) F=F*i;
Деяких елементів в операторові for
може не бути, проте крапки, що
розділяють їх, з комою обов'язково
мають бути присутніми. У наступному
прикладі частина, що ініціалізувала,
винесена з оператора for :
F=1;
i=1;
for(;i<=N;i++) F=F*i;
Ще один варіант обчислення N!. На місці
тіла циклу знаходиться порожній
оператор, а обчислювальна частина
внесена у вираз 3.
for(F=1, i=1; i<=N;F=F*i, i++);
Цей же оператор можна записати в
наступній формі:
for(F=1, i=1; i<=N;F*=i++);
У мові Сі++ оператор for є досить
універсальним засобом для організації
циклів.
Приклад обчислення суми елементів
гармонійного ряду, що перевищують
задану величину ε:
for(n=1, S=0;1.0/n>eps &&
n<INT_MAX;n++) S+=1.0/n;
Це ж саме завдання з порожнім тілом
циклу:
for(n=1, S=0;1.0/n>eps &&
n<INT_MAX;S+=1.0/n++);
Фрагмент програми на Сі++ містить два
вкладені цикли for. В циклах запрограмоване
отримання на екрані таблиці множення.
for(x=2;х<=9;х++)
for(y=2;y<=9;y++)
cout<<"n"<<x<<"*"<<y<<"="<<x*y;
На екрані буде отриманий наступний
результат:
2*2=4
2*3=6
. . .
9*8=72
Оператор continueОператор continue
Наступний фрагмент програми
забезпечує вивід на екран усіх парних
чисел в діапазоні від 1 до 100.
for(i=l;i<=100;i++)
{if(i%2) continue; cout<<"t"<<i;}
Оператор gotoОператор goto
Формат оператора :
goto мітка;
Мітка є ідентифікатором з
подальшою двокрапкою,
ставиться перед оператором, що
позначається
Приклад 4Приклад 4
Одна з ситуацій, в яких використання
goto є виправданим, — це необхідність
«дострокового» виходу з вкладеного
циклу.
Ось приклад такої ситуації :
for(...)
{ while (...)
{ for(...)
{... goto exit ...}
}
}
exit: cout<<"Bихід з циклу";
При використанні оператора
безумовного переходу необхідно
враховувати наступні обмеження:
• не можна входити всередину блоку
ззовні;
• не можна входити всередину умовного
оператора (if ...else...);
• не можна входити всередину
перемикача;
• не можна входити всередину циклу.

More Related Content

What's hot

урок 19 цикли Складання програм
урок 19 цикли Складання програмурок 19 цикли Складання програм
урок 19 цикли Складання програмHelen Pat
 
програмування на мові паскаль
програмування на мові паскаль програмування на мові паскаль
програмування на мові паскаль Helen Pata
 
урок 11 виведення значень мова Паскаль
урок 11 виведення значень мова Паскальурок 11 виведення значень мова Паскаль
урок 11 виведення значень мова ПаскальHelen Pata
 
Базові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмівБазові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмівЗоя Муляр
 
урок 12 вирази мова Паскаль
урок 12 вирази  мова Паскальурок 12 вирази  мова Паскаль
урок 12 вирази мова ПаскальHelen Pata
 
урок 15 умова паскаль
урок 15 умова паскальурок 15 умова паскаль
урок 15 умова паскальHelen Pat
 
урок 17 поліваріантне розгалуження
урок 17 поліваріантне розгалуженняурок 17 поліваріантне розгалуження
урок 17 поліваріантне розгалуженняHelen Pata
 
Реалізація циклічних алгоритмічних структур
Реалізація циклічних алгоритмічних структурРеалізація циклічних алгоритмічних структур
Реалізація циклічних алгоритмічних структурinnaivy
 
лекції 4
лекції 4лекції 4
лекції 4cit-cit
 
09 Static Polymorphism
09 Static Polymorphism09 Static Polymorphism
09 Static Polymorphismolegapster
 
Operator cikly z napametpom
Operator cikly z napametpomOperator cikly z napametpom
Operator cikly z napametpommetallurg056
 
Funk grafik 7klas
Funk grafik 7klasFunk grafik 7klas
Funk grafik 7klasMaya_Yuzyuk
 

What's hot (20)

урок 19 цикли Складання програм
урок 19 цикли Складання програмурок 19 цикли Складання програм
урок 19 цикли Складання програм
 
Урок 39. Алгоритми з розгалуженнями
Урок 39. Алгоритми з розгалуженнямиУрок 39. Алгоритми з розгалуженнями
Урок 39. Алгоритми з розгалуженнями
 
Урок 38. Алгоритми з розгалуженням
Урок 38. Алгоритми з розгалуженнямУрок 38. Алгоритми з розгалуженням
Урок 38. Алгоритми з розгалуженням
 
програмування на мові паскаль
програмування на мові паскаль програмування на мові паскаль
програмування на мові паскаль
 
оператори розгалуження
оператори розгалуженняоператори розгалуження
оператори розгалуження
 
урок 11 виведення значень мова Паскаль
урок 11 виведення значень мова Паскальурок 11 виведення значень мова Паскаль
урок 11 виведення значень мова Паскаль
 
Базові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмівБазові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмів
 
урок 12 вирази мова Паскаль
урок 12 вирази  мова Паскальурок 12 вирази  мова Паскаль
урок 12 вирази мова Паскаль
 
Функція
ФункціяФункція
Функція
 
урок 15 умова паскаль
урок 15 умова паскальурок 15 умова паскаль
урок 15 умова паскаль
 
8 13 new
8 13 new8 13 new
8 13 new
 
урок 17 поліваріантне розгалуження
урок 17 поліваріантне розгалуженняурок 17 поліваріантне розгалуження
урок 17 поліваріантне розгалуження
 
Реалізація циклічних алгоритмічних структур
Реалізація циклічних алгоритмічних структурРеалізація циклічних алгоритмічних структур
Реалізація циклічних алгоритмічних структур
 
+5 розгал в с++
+5 розгал в с+++5 розгал в с++
+5 розгал в с++
 
лекції 4
лекції 4лекції 4
лекції 4
 
09 Static Polymorphism
09 Static Polymorphism09 Static Polymorphism
09 Static Polymorphism
 
Operator cikly z napametpom
Operator cikly z napametpomOperator cikly z napametpom
Operator cikly z napametpom
 
Урок 57 8 клас
Урок 57 8 класУрок 57 8 клас
Урок 57 8 клас
 
Povtor 7 8kl
Povtor 7 8klPovtor 7 8kl
Povtor 7 8kl
 
Funk grafik 7klas
Funk grafik 7klasFunk grafik 7klas
Funk grafik 7klas
 

Similar to 4

Similar to 4 (20)

8 20
8 208 20
8 20
 
3
33
3
 
3
33
3
 
Урок 54 8 клас
Урок 54 8 класУрок 54 8 клас
Урок 54 8 клас
 
Konspekt uroku
Konspekt urokuKonspekt uroku
Konspekt uroku
 
Konspekt uroku
Konspekt urokuKonspekt uroku
Konspekt uroku
 
Урок 55 8 клас
Урок 55 8 класУрок 55 8 клас
Урок 55 8 клас
 
Lr7
Lr7Lr7
Lr7
 
Operator perehody
Operator perehodyOperator perehody
Operator perehody
 
лекції 4 7
лекції 4 7лекції 4 7
лекції 4 7
 
лекції 5-6
лекції 5-6лекції 5-6
лекції 5-6
 
7 klas 11_urok_m
7 klas 11_urok_m7 klas 11_urok_m
7 klas 11_urok_m
 
Базові структури алгоритмів. Конструювання алгоритмів
Базові структури алгоритмів. Конструювання алгоритмівБазові структури алгоритмів. Конструювання алгоритмів
Базові структури алгоритмів. Конструювання алгоритмів
 
Цикл з передумовою
Цикл з передумовоюЦикл з передумовою
Цикл з передумовою
 
Operator cikly z napametpomd
Operator cikly z napametpomdOperator cikly z napametpomd
Operator cikly z napametpomd
 
Povtorennya(dist zavd8 klass)
Povtorennya(dist zavd8 klass)Povtorennya(dist zavd8 klass)
Povtorennya(dist zavd8 klass)
 
Lr7
Lr7Lr7
Lr7
 
Основи мови Ci
Основи мови CiОснови мови Ci
Основи мови Ci
 
9 13
9 139 13
9 13
 
General Functors
General FunctorsGeneral Functors
General Functors
 

More from VeraKolodeeva (8)

1
11
1
 
4
44
4
 
1
11
1
 
2
22
2
 
2
22
2
 
1
11
1
 
1
11
1
 
2
22
2
 

4

  • 2. План: 1.Цикл з передумовою в Сі++ 2.Цикл з післяумовою в Сі+ + 3.Цикл з параметром
  • 3. Цикл з передумовоюЦикл з передумовою Формат оператора циклу з передумовою: while (вираз) оператор;
  • 6. Цикл з післяумовоюЦикл з післяумовою Формат оператора циклу з післяумовою: do оператор while (вираз); Цикл виконується до тих пір, поки вираз не дорівнює нулю, тобто умова циклу, що знаходиться в нім, істинна. Вихід з циклу походить після того, як значення вираз стане помилковим, іншими словами рівним нулю.
  • 8. Цикл з параметромЦикл з параметром Формат оператора циклу з параметром: for (вираз_1; вираз_2; вираз_3) оператор; Вираз_1 виконується тільки один раз на початку циклу. Зазвичай він визначає початкове значення параметра циклу (ініціалізував параметр циклу). Вираз_2 — це умова виконання циклу, вираз_3 зазвичай визначає зміну параметра циклу, оператор — тіло циклу, яке може бути простим або складеним. У останньому випадку
  • 9. Алгоритм виконання циклу forАлгоритм виконання циклу for представлений на блок-схеміпредставлений на блок-схемі
  • 10. За допомогою циклу for знаходження N! можна організувати таким чином: F=1; for(i=1;i<=N;i++) F=F*i; Використовуючи операцію «кома», можна у вираз_1 внести ініціалізацію значень відразу декількох змінних : for(F=1, i=1; i<=N;i++) F=F*i;
  • 11. Деяких елементів в операторові for може не бути, проте крапки, що розділяють їх, з комою обов'язково мають бути присутніми. У наступному прикладі частина, що ініціалізувала, винесена з оператора for : F=1; i=1; for(;i<=N;i++) F=F*i;
  • 12. Ще один варіант обчислення N!. На місці тіла циклу знаходиться порожній оператор, а обчислювальна частина внесена у вираз 3. for(F=1, i=1; i<=N;F=F*i, i++); Цей же оператор можна записати в наступній формі: for(F=1, i=1; i<=N;F*=i++); У мові Сі++ оператор for є досить універсальним засобом для організації циклів.
  • 13. Приклад обчислення суми елементів гармонійного ряду, що перевищують задану величину ε: for(n=1, S=0;1.0/n>eps && n<INT_MAX;n++) S+=1.0/n; Це ж саме завдання з порожнім тілом циклу: for(n=1, S=0;1.0/n>eps && n<INT_MAX;S+=1.0/n++);
  • 14. Фрагмент програми на Сі++ містить два вкладені цикли for. В циклах запрограмоване отримання на екрані таблиці множення. for(x=2;х<=9;х++) for(y=2;y<=9;y++) cout<<"n"<<x<<"*"<<y<<"="<<x*y; На екрані буде отриманий наступний результат: 2*2=4 2*3=6 . . . 9*8=72
  • 15. Оператор continueОператор continue Наступний фрагмент програми забезпечує вивід на екран усіх парних чисел в діапазоні від 1 до 100. for(i=l;i<=100;i++) {if(i%2) continue; cout<<"t"<<i;}
  • 16. Оператор gotoОператор goto Формат оператора : goto мітка; Мітка є ідентифікатором з подальшою двокрапкою, ставиться перед оператором, що позначається
  • 18. Одна з ситуацій, в яких використання goto є виправданим, — це необхідність «дострокового» виходу з вкладеного циклу. Ось приклад такої ситуації : for(...) { while (...) { for(...) {... goto exit ...} } } exit: cout<<"Bихід з циклу";
  • 19. При використанні оператора безумовного переходу необхідно враховувати наступні обмеження: • не можна входити всередину блоку ззовні; • не можна входити всередину умовного оператора (if ...else...); • не можна входити всередину перемикача; • не можна входити всередину циклу.