Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Розділ 10. Базові засоби мови С++.docx
Скачиваний:
5
Добавлен:
01.05.2019
Размер:
366.53 Кб
Скачать

Самостійна робота Оператори переривання роботи циклу

Часто у циклах корисно застосовувати команди break і continue. Команда break достроково припиняє роботу циклу і забезпечує перехід до наступної після циклу команди.

Команда continue припиняє виконання поточної ітерації та починає виконувати наступну ітерацію (повторення) циклу.

Зазвичай ці команди належать до деякої умовної команди. Наприклад, якщо виконуватиметься певна умова, то буде вихід з циклу, або, якщо умова не виконуватиметься, то буде перехід до наступної ітерації, тощо.

Приклад. Визначити чи число а, можна так:

for (int n=2,p=1;n<=(int)sqrt((double)a);n++)

if(!(p=a%n))break;

p ? cout<<”просте”: cout<<”складне”;

Лабораторна робота №4. Циклічні оператори (while, do…while).

Мета: Засвоєння структури простої програми на мові С++, набуття навичок в організації вводу/виводу, набуття навичок при написанні програм з використанням циклічних операторів while та do…while.

Обладнання: ПК, програмне забезпечення Borland С++, методичні вказівки та завдання до лабораторної роботи.

Теоретичні відомості

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

Перед роботою циклу необхідно задавати початкові значення параметрів, що використовуються у циклі.

Цикл завершується, якщо умова його продовження не виконується. Можлива організація примусового виходу з поточної ітерації та і з циклу в цілому. Для цього застосовують оператори break, continue, return і goto. Передавати керування ззовні в середину циклу не рекомендується.

Цикл з передумовою while

Синтаксис оператора:

While ( вираз )оператор;

Дія: Виконання оператора розпочинається з обчислення виразу. Якщо вираз істинний, то виконується оператор циклу. Оператор виконується доти, поки вираз не хибним.

Приклад 1. Надрукувати таблицю значень функції у=х2+1 в заданому діапазоні:

#include <iostream.h>

void main()

{

float Xn,Xk, Dx;

cout<<”\n Введіть діапазон і крок зміни аргументу”;

cin>>Xn>>Xk>>Dx;

float X=Xn;

cout.precision(2);

while (X <= Xk)

{

cout<<”\n”<<X<<”\t”<<sqr(x)+1;

X+=Dx;

}

}

Приклад 2. Знайти всі дільники цілого додатного числа:

#include <iostream.h>

void main()

{

int num;;

cout<<”\n Введіть ціле додатне число”;

cin>>num;

int half = num / 2;

int div = 2;

while (div <= half)

{

if (!(num % div)) cout<< div<<”\n”;

div++;

}

}

Оператор циклу з постумовою або післяумовою) do ... while

do оператор; while ( вираз );

Дія команди.

1) Виконується команда 1 і обчислюється значення виразу.

2) Якщо значення виразу істинне, то див. пункт 1), якщо значення виразу хибне - відбувається перехід до на­ступної після do-while команди.

Команда 1 у циклі do-while, на відміну від циклу while, бу­де виконуватись хоча б один раз завжди.

Порядок виконання роботи:

  1. Створити алгоритм (блок-схему) та програму для розв’язування завдання з вашого варіанту.

  2. Відладити програму.

  3. Запустити програму на виконання і перевірити правильність роботи програми.

  4. Відповісти на контрольні запитання та оформити звіт.

Контрольні запитання

  1. Який синтаксис та дія оператора for?

  2. Який синтаксис та дія оператора while?

  3. Який синтаксис та дія оператора do-while?

  4. Які оператори переривають роботи циклічних операторів? Запишіть їхню дію.

  5. Коли доцільно використовувати той чи інший оператор циклу

Звіт повинен містити:

  1. Мету, обладнання лабораторної роботи.

  2. Завдання згідно варіанту.

  3. Текст програми.

  4. Аналіз допущених під час роботи помилок.

  5. Відповіді на контрольні запитання

  6. Висновки.

Викладач Смерека А.Г.

Завдання до лабораторної роботи №4

Завдання 1.

Варіант 1. Дано 20 дійсних чисел. Написати програму, яка обчислює різницю між максимальним і мінімальним із них.

Варіант 2. Дана послідовність різних натуральних чисел, в кінці якої слідує 0. Написати програму, яка визначає порядковий номер найбільшого та найменшого з них.

Варiант 3. Написати програму, що обчислює суму у = соsх + соsх2 + соs х3 + ... + соs хп.

Варіант 4. Дано послідовність дійсних чисел. Написати програму, яка визначає із скількох від'ємних чисел вона починається (до першого додатного числа).

Варіант 5. Написати програму, яка знаходить в послідовності чисел кількість від'ємних.

Варіант 6. Дано п цілих чисел. Написати програму, визначає скільки із них приймають найбільше і найменше значення (п>0 і вводиться з клавіатури).

Варіант 7. Дано п цілих натуральних чисел, за якими іде 0. Написати програму, яка визначає три найбільших числа серед них (п>3 і вводиться з клавіатури).

Варіант 8. Дано п дійсних чисел. Написати програму, що визначає скільки із них більше своїх "сусідів", тобто попереднього і наступного.

Варіант 9. Дано послідовність дійсних чисел. Написати програму, яка визначає чи утворюють ці числа зростаючу послідовність.

Варіант 10. Написати програму, яка з точністю до epsilon обчислює . Вважати, що необхідна точність досягнена, якщо наступний доданок по модулю менший epsilon.

Варіант 11. Написати програму, яка з точністю epsilon обчислює . Вважати, що точність досягнута, якщо наступний доданок по модулю менший за epsilon