
- •Арифметичні цикли
- •Теоретичні відомостi
- •Приклад програми
- •Варіанти завдань
- •Ітераційні цикли
- •Теоретичні відомостi
- •Цикл з передумовою
- •Цикл з постумовою
- •Приклад програми
- •Варіанти завдань
- •Складні цикли
- •Теоретичні відомостi
- •Вкладеність циклів
- •Оператор переривання break
- •Оператор продовження continue
- •Приклад програми
- •Варіанти завдань
- •Контрольні питання
Комп’ютерний практикум №3
ОРГАНІЗАЦІЯ ЦИКЛІЧНИХ ПРОЦЕСІВ
Арифметичні цикли
Мета роботи - вивчити особливості роботи арифметичних циклів.
Теоретичні відомостi
Цикли, як різновиди базових алгоритмічних конструкцій, служать для програмування послідовності дій, що повторюється багато разів при різних значеннях проміжних даних. Розрізняють цикли із заданою та невідомою кількістю повторень, що реалізуються відповідними операторами.
Якщо кількість повторень циклу відома заздалегідь, то використовують так звані арифметичні цикли (цикли з параметром), що реалізуються, зазвичай, за допомогою оператора циклу for.
Основним способом організації такого циклу є використання спеціальної змінної – лічильника (параметра) циклу, який буде змінюватися під час повторення циклу. Для лічильника циклу явно або опосередковано задається його початкове та кінцеве значення, а також крок зміни перед кожним новим повторенням. На використання лічильника циклу накладаються певні обмеження:
- він може бути тільки порядкового типу (множина його значень являє собою впорядковану послідовність, кожен елемент якої має свій порядковий номер);
- забороняється явна зміна його значення у тілі циклу (наприклад, оператором присвоювання).
У С/С++ оператор арифметичного циклу має формат:
for (вираз_1; вираз_2; вираз_3) оператор;
де вираз_1 - ініціалізація параметра циклу; вираз_2 - умова повторення циклу; вираз_3 - крок зміни параметра циклу.
Механізм реалізації:
1) Обчислюється вираз_1.
2) Обчислюється вираз_2.
3) Якщо значення виразу_2 відмінне від нуля (тобто, true), виконується тіло циклу, обчислюється вираз_3 і здійснюється перехід до пункту 2; якщо ж вираз_2 дорівнює нулю (тобто, false), то керування передається на оператор, який слідує за оператором for.
Наприклад,
for (i=1; i<10; i++)
cout << 2*i;
Істотним є те, що перевірка умови завжди виконується на початку циклу. Це означає, що тіло циклу може жодного разу не виконатися, якщо умова виконання відразу буде помилковою.
В якості оператора може використовуватися простий оператор або сукупність операторів, об’єднаних у блок дужками {}.
Особливості реалізації оператора for у мові С++:
допускається задання кроку для зміни параметра циклу, наприклад,
for (i=1; i<=n; i+=2) { … };
у заголовку циклу допускається оголошення типу параметра циклу, наприклад,
for (int i =1; i<=n; i+= 2) { … };
можливе використання декількох параметрів циклу, наприклад,
for (n=0, k=5; n<k; n++, k--) { … };
Початкове і кінцеве значення лічильника циклу можуть задаватися виразами, наприклад,
for (i=k+1; i<=n-1; i+=2) { … };
Приклад програми
Приклад. Для х, що змінюється в діапазоні [a, b] з кроком d надрукувати таблицю значень функції y=(x-3)2+7.
#include<stdio.h>
#include<math.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{ fload a,b,d; //значення меж і кроку зміни функції
fload x; //значення аргумнта функції
printf("enter diapason and step: ");
scanf("%f %f %f",&a, &b, &d); //введення даних
printf("| x | y |\n");
for (x=a; x<=b; x+=d) //цикл виведення таблиці значень
printf("| %5.2f | %5.2f |\n", x,pow(x-3,2)+7);
system("pause");
}
Відеокопія результату: