- •20.Операції над вказівниками
- •21. Розподіл памяті
- •22. Списки
- •23. Лінійні списки
- •25.Моделі памяті
- •26. Двійкова, шістнадцяткова системи. Подання чисел в різних системах числення.
- •Переклад чисел з шістнадцяткової системи в десяткову
- •Переклад чисел із двійкової системи в шістнадцяткову та навпаки
- •27. Константи, змінні, типи даних
- •29. Основні оператори: присвоєння , розгалуження, множинний вибір, цикл.
- •До операторів вибору відносять оператор умовного переходу if та оператор-перемикачswitch.
- •Процес розгалуження при обчисленні функції за першою або другою формулами здійснюється умовним оператором if.
- •30. Типи циклів та принципи їх застосування
Процес розгалуження при обчисленні функції за першою або другою формулами здійснюється умовним оператором if.
30. Типи циклів та принципи їх застосування
Цикл - це послідовність команд, яка виконується кілька разів.
Цикл з умовою (while)
Оператор циклу while виконує оператор або блок операторів до тих пір поки умова істинна. Його синтаксис наступний:
while (вираз)
оператор_або_блок_операторів;
Якщо вираз представляє собою константу з істинним значенням, тіло циклу буде виконуватися нескіченно. Тобто необхідно в циклі змінювати первинних вираз зазначений в умові,щоб після однієї з ітерацій умова стала хибною, та відбувся вихід з циклу.
int n=1;
while (n<10)
{
n++;
cout<<n;
}
Цикл з постумовою (do … while)
Синтаксис даного оператору:
do
Блок_оператрів
while (вираз)
В цьому операторі спочатку виконується блок_операторів, а потім перевіряється умова. Така конструкція гарантує що тіло оператора виконається хоча б один раз. Оператор закінчить своє виконання, якщо умова стане істинною. Тобто буде виконуватися тільки до тих пір поки умова хибна.
int n=1;
do
{
n++;
cout<<n;
}
While (n>10)
Цикл з відомим числом кроків (for)
Синтаксис циклу має виглад:
for (вираз1; вираз2; вираз3)
блок_операторів;
Цей оператор працює наступним чином. Спочатку виконується вираз1, якщо він присутній в конструкції. Потім обчислюється величина виразу2, і якщо отриманий результат прийняв істинне значення виконується тіло циклу блок_операторів. У протилежному випаду виконання циклу зупиняється і відбувається перехід до оператора, що слідує безпосередньо за тілом циклу. Після виконання тіла циклу виконується вираз3 і відбувається перехід до пункту обчислення виразу2.
Вираз1 частіше за все служить в якості ініціалізації якої небудь змінної, що виконує роль лічильника ітерацій.
Вираз2 використовується як перевірочна умова і на практиці найчастіше містить вираз з операторами порівняння. За замовченням величина виразу2 приймає істинне значення.
Вираз3 зазвичай використовуєтсья для зміни значення лічильника циклу або ж містить вираз, що якимось чином впливає на перевірочну умову.
Усі три вирази не обов’язково повинні бути присутніми в конструкції, проте синтаксис не допускає пропуску символа крапка з комою (;). Тому найпростіший приклад нескінченного циклу виглядає наступним чином:
for ( ; ; )
cout<<”Нескінчений цикл”;
Якщо в циклі повинні синхронно змінюватися значення декілької змінних, які залежать від змінної циклу, обчислення їх значень можна помістити в оператор for, використавши оператор «кома».
Типова помилка програмування таких циклів – змінення значення лічильника як в конструкції, так і далі в тілі циклу. Це може призвести до таких негативних наслідків, як «випадення» або повтор ітерацій.
int s=0;
for(int i=1; i<10;i++)
{
s+=i;
cout<<s;
}
Використовуючи оператор «кома» цикл можна переписати наступним чином:
int s=0;
for(int i=1; i<10; i++, s+=i);
cout<<s;
