Лабораторна робота №3 Цикл while з передумовою та постумовою Мета роботи : Отримати навички роботи з циклом while Теоретичні icon

Лабораторна робота №3 Цикл while з передумовою та постумовою Мета роботи : Отримати навички роботи з циклом while Теоретичні



НазваниеЛабораторна робота №3 Цикл while з передумовою та постумовою Мета роботи : Отримати навички роботи з циклом while Теоретичні
Дата конвертации15.07.2013
Размер75.53 Kb.
ТипЛабораторна робота
скачать >>>

Лабораторна робота №3
Цикл WHILE з передумовою та постумовою




Мета роботи: Отримати навички роботи з циклом while

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




Типи операторів циклів



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

Цикл представляє собою частину програми, у якій одні й ті самі обчислення реалізуються неодноразово над різними значеннями одних й тих самих змінних (об’єктів).

Для організації циклів в С++ використовуються наступні три оператора: while, for і do — while.

^

Цикл типу while



Цикл типу while є циклом з передумовою. Він використовується у випадку, коли, по-перше, не відома точна кількість повторів і, по-друге, при цьому немає необхідності, щоб цикл неодмінно був виконаний хоча б один раз. Цикл типу while має наступну форму запису:

while (вираз)

оператор;

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

Якщо вираз істинний (не рівний нулю), то тіло циклу виконується один раз, далі вираз перевіряється знову. Ітерації (перевірка умови та тіло циклу) виконуються до тих пір, поки вираз не стане хибним (рівним нулю).

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

Приклад 1. Цикл типу while.

Користувачу дається 10 спроб щоб вгадати задане програмою число.



int i=1, rez=1;

while (i++<=10&&rez!=25)

{

cout<<"\nВведіть число:" ;

cin>>rez;

}

if (i==12)cout<<"\nBи не вгадали.";

else cout<<"\nВітаю! Ви вгадали число.";



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

^

Цикл типу do — while



Цикл типу do — while є циклом з постумовою і використовується у тих випадках, коли невідома точна кількість повторів, але водночас цикл необхідно виконати не менше одного разу. Цикл типу do — while дуже схожий на цикл типу while; різниця тільки в тому, що перевірка істинності виразу в циклі do — while має місце після виконання тіла циклу. Цей цикл має наступну форму запису:

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

Приклад 2. Цикл типу do — while.

Необхідно вгадати задане у програмі число. Один з варіантів реалізації:



do cin>>r;

while (r!=13);

cout<<"Bи вгадали число.";



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

^

Керуючі оператори в циклах



Існують ще три оператора, призначених для керування порядком виконання програми на мові С++.

Оператор break є найбільш важливим з цих трьох операторів. Оператор break може використовуватися в циклах всіх трьох типів. Виконання оператора break призводить до виходу з циклу, в якому він знаходиться, і переходу до наступного за циклом оператора. Якщо оператор break знаходиться всередині вкладених циклів, то його дія поширюється тільки на той цикл, в якому він безпосередньо знаходиться.

Приклад 3. Використання оператора break.

Треба вгадати число з 10 спроб.



i=l;

while( i++<=10 )

{

cin>>rez;

if (rez==15) break;

cout<<"\nПощастить наступного разу.";

}

if ( i!=12 ) cout<<"\nBи вгадали!.";



В цьому прикладі завершення виконання циклу відбувається за допомогою оператора break.

Оператор continue може використовуватися тільки серед операторів тіла циклу. Цей оператор призводить до переходу до наступної ітерації без завершення поточної.

Приклад 4. Використання оператора continue.

Вводяться числа місяця для обробки. Необхідно здійснити перевірку коректності вводу. Число 31 буде кінцем обробки.



while(den!=31)

{

cin>>den;

if (den<1||den>31) continue;

… // Обробка числа den

}



В даному прикладі неправильне введення значення призводить до пропуску частини ітерації, призначеної для обробки цього значення.

Оператор goto (перехід на задану мітку) в мові С++ є поганим засобом. Його використання призводить до значних ускладнень логіки програми .

Існує лише один випадок, коли програмісти-професіонали допускають використання goto, — це вихід з вкладеного набору циклів при виявленні помилок (break дає можливість виходу лише з одного циклу).

3.2. Приклад



Програма для підрахунку середньої оцінки учня.

#include

int main()

{

int total=0,

gradeCounter,

grade,

average;

gradeCounter=1;

while (gradeCounter <= 10)

{

cout << “Введіть оцінку:”;

cin >> grade;

total=total+grade;

gradeCounter=gradeCounter+1;

}

average=total/10;

cout << “Середня оцінка дорівнює” << average << endl;

return 0;

}

^

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



3.3.1. Проаналізувати умову задачі.

3.3.2. Розробити алгоритм та створити програму розв’язання задачі згідно з номером варіанту.

3.3.3. Результати роботи оформити протоколом.

^

3.4. Варіанти завдань



1. Використовуючи оператор циклу while з передумовою та постумовою, розв’язати наступні задачі:

2. Написати програму введення додатних чисел.

3. Написати програму знаходження всіх чисел кратних введеному та таких, що не перевищують 300.

4. Вивести члени арифметичної прогресії, що не перевищують 100, з заданим початковим членом та кроком.

5. Вивести перших 10 членів арифметичної прогресії з заданим початковим членом та кроком.

6. Вивести члени геометричної прогресії, що не перевищують 100, з заданим початковим членом та кроком.

7. Вивести перших 10 членів геометричної прогресії з заданим початковим членом та кроком.

^ Завдання підвищеної складності:

1) Дано натуральне число n (). Знайти всі прості числа, що не перевищують число n, використовуючи решето Ератосфена. Решетом Ератосфена називається наступний метод. Випишемо підряд всі цілі числа від 2 до n. Першим простим числом є число 2. Підкреслимо його, а всі більші за нього числа, кратні числу 2, викреслимо. Першим числом в ряду чисел, що залишились, є число 3. Підкреслимо його як просте число, а всі більші за нього числа, кратні числу 3, викреслимо. Першим числом серед тих, що залишились, є число 5, оскільки 4 вже закреслено. Підкреслимо його як просте число, а всі більші за нього числа, кратні числу 5, викреслимо і т.д.

2) Дано натуральне число n. Знайти всі числа Мерсена, що не перевищують число n. Просте число називається числом Мерсена, якщо його можна представити у вигляді , де  — теж просте число.

3) Два натуральних числа називаються дружніми, якщо кожне з них дорівнює сумі всіх дільників іншого, крім самого цього числа. Знайти всі пари дружніх чисел, що містяться у діапазоні від 200 до 300.

4) Дано натуральне число n. Серед чисел 1, ..., n знайти такі числа, запис яких співпадає з останніми цифрами запису їх квадрату. Наприклад, 6 (), 25 () і т.д.

5) Натуральне число називається паліндромом, якщо його запис читається однаково з початку та з кінця (наприклад, 4884, 393, 1). Знайти всі числа-паліндроми, що не перевищують 100, та при піднесенні до квадрату також дають паліндроми.

6) Натуральне число називається паліндромом, якщо його запис читається однаково з початку та з кінця (наприклад, 4884, 393, 1). Знайти всі числа, що не перевищують 100.

7) Дано натуральне число n. Перевірити, чи можна подати n! у вигляді добутку трьох послідовних цілих чисел.

8) Натуральне число, що складається з n цифр є числом Армстронга, якщо сума його цифр, піднесених до n-го ступеня, дорівнює самому числу (наприклад, ). Знайти всі числа Армстронга, що складаються з 2, 3 або 4 цифр.

9) Дано натуральне число n. Отримати всі прості дільники цього числа.

10) Дано натуральні числа . Знайти члени послідовності , що мають таку властивість: корені рівняння є дійсними та додатними.

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

12) Дано натуральне число . Обчислити суму тих чисел вигляду , (), що являють собою потроєні непарні числа.

13) Дано натуральні числа ,. Знайти ті члени послідовності , що при діленні на 7 дають залишок 1, 2 або 5.

14) Дано натуральні числа . Знайти члени послідовності , що є потроєними непарними числами.

15) Дано натуральні числа . Знайти кількість членів послідовності , що мають парні порядкові номери, та є непарними числами.

16) Дано натуральні числа . Знайти члени послідовності , що є подвоєними непарними числами.

17) Дано натуральне число n. Отримати всі його натуральні дільники.

18) Дано натуральне число n. Отримати всі натуральні числа q, такі, що n ділиться на та не ділиться на .

3.5. Контрольні запитання і завдання



1. Які оператори використовуються для організації циклів в С++?

2. Які з циклів є циклами з передумовою, а які з постумовою?



Похожие:

Лабораторна робота №3 Цикл while з передумовою та постумовою Мета роботи : Отримати навички роботи з циклом while Теоретичні iconЛабораторна робота №4 Цикл for мета роботи : отримати навички роботи з циклом for. Теоретичні
При цьому виконуються три операції: ініціалізація лічильників циклів, порівняння його значення з деяким граничним значенням і зміна...
Лабораторна робота №3 Цикл while з передумовою та постумовою Мета роботи : Отримати навички роботи з циклом while Теоретичні iconЛабораторна робота №7 Вказівники та посилання. Динамічні масиви Мета роботи : отримати навички роботи з вказівниками, посиланнями та динамічними масивами. Теоретичні
Мета роботи: отримати навички роботи з вказівниками, посиланнями та динамічними масивами
Лабораторна робота №3 Цикл while з передумовою та постумовою Мета роботи : Отримати навички роботи з циклом while Теоретичні iconЛабораторна робота №10 Робота з рядками (string) Мета роботи : отримати навички роботи з рядками. 10 Теоретичні
В с++ з'явилася дуже корисна бібліотека роботи з рядками. Вона досить ефективна І дозволяє легко вирішувати наступні задачі
Лабораторна робота №3 Цикл while з передумовою та постумовою Мета роботи : Отримати навички роботи з циклом while Теоретичні iconЛабораторна робота №2 Умовна операція та множинний вибір Мета роботи : отримати навички роботи з умовною операцією та оператором множинного вибору. Теоретичні
Мета роботи: отримати навички роботи з умовною операцією та оператором множинного вибору
Лабораторна робота №3 Цикл while з передумовою та постумовою Мета роботи : Отримати навички роботи з циклом while Теоретичні iconЛабораторна робота №5 Функції Мета роботи : отримати навички роботи з функціями. Теоретичні
Кожна програма у своєму складі повинна мати головну функцію main(). Саме функція main() забезпечує створення точки входу в об’єктний...
Лабораторна робота №3 Цикл while з передумовою та постумовою Мета роботи : Отримати навички роботи з циклом while Теоретичні iconЛабораторна робота №9 Передача масивів у функції Мета роботи: отримати навички роботи з масивами у функціях. Теоретичні
Масиви можуть бути параметрами функцій, і функції як результат можуть повертати вказівник на масив. Розглянемо ці можливості
Лабораторна робота №3 Цикл while з передумовою та постумовою Мета роботи : Отримати навички роботи з циклом while Теоретичні iconЛабораторна робота №1 Принципи програмування на С++ Мета роботи : отримати навички роботи з типами даних та виразами. Теоретичні
Кожна програма на С++ у своєму складі повинна мати головну функцію main(). Саме функція main() забезпечує створення точки входу в...
Лабораторна робота №3 Цикл while з передумовою та постумовою Мета роботи : Отримати навички роботи з циклом while Теоретичні iconЛабораторна робота №6 Масиви Мета роботи : отримати навички роботи з одно та багатовимірними масивами. Теоретичні
Масив являє собою набір однотипних об’єктів, які мають спільне ім’я і відрізняються місцезнаходженням в цьому наборі (або індексом,...
Лабораторна робота №3 Цикл while з передумовою та постумовою Мета роботи : Отримати навички роботи з циклом while Теоретичні iconЛабораторна робота №8 Рекурсивні функції Мета роботи : отримати навички роботи з рекурсивними функціями. Теоретичні
Така необхідність виникає при реалізації динамічних структур даних, таких як стеки, дерева, черги. Для реалізації рекурсивних алгоритмів...
Лабораторна робота №3 Цикл while з передумовою та постумовою Мета роботи : Отримати навички роботи з циклом while Теоретичні iconЛабораторна робота 1 Тема. Класи та об’єкти. Мета роботи: засвоїти основні поняття об’єктно-орієнтованого програмування на прикладі мови програмування С++. Теоретичні
Основні поняття, потрібні для виконання роботи. Це 1 класи; 2 область доступу; 3 ієрархія класів
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©gua.convdocs.org 2000-2015
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы

Разработка сайта — Веб студия Адаманов