Лабораторна робота №4 Цикл for мета роботи : отримати навички роботи з циклом for. Теоретичні icon

Лабораторна робота №4 Цикл for мета роботи : отримати навички роботи з циклом for. Теоретичні



НазваниеЛабораторна робота №4 Цикл for мета роботи : отримати навички роботи з циклом for. Теоретичні
Дата конвертации15.07.2013
Размер73.75 Kb.
ТипЛабораторна робота
скачать >>>

Лабораторна робота №4
Цикл FOR




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

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




Цикл типу for



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

Цикл for має наступну форму запису:

for (вираз1; вираз2; вираз3) оператор;

Вираз1 обчислюється першим. Зазвичай тут виконується ініціалізація лічильників циклів і змінних. Цей вираз обчислюється один раз, коли цикл fоr починає виконуватися. Далі обчислюється вираз2. Він служить для перевірки умови. Якщо значення виразу2 не є нуль, то виконується оператор (тіло циклу). Якщо ж значення виразу2 рівне нулю, то цикл завершується. Вираз3 обчислюється в кінці кожного виконання тіла циклу.

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

Приклад 1. Цикл типу fоr.

Підрахувати yТ. Можливий варіант розв’язання цієї задачі має вигляд:

for ( i=1, rez=1; i<=Т; i++ ) rez=rez*y;

cout<<"rez="<
^

Вкладені цикли



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

Приклад 2. Вкладені цикли.

Треба заповнити увесь екран символами '#'. Можливий варіант розв’язання має вигляд:



for ( i=1; i<=25; i++ )

for (k=1; k<=80; k++)

cout<<'#';



В цій програмі 25 разів виконується виведення по 80 символів.

В програмі можна використовувати будь-які комбінації вкладених циклів всіх типів: while, for, do — while, якщо цього потребує логіка побудови програми.

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



for ( i=1; i<=10; i++ )

{

do cin>>den;

while(den<1||den>31);

cout<
}



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

^

4.2. Приклади реалізації циклів



Виникає питання: циклом якого типу краще всього користуватися?

Спочатку слід вирішити, чи потрібен цикл з передумовою, чи з постумовою.

Існує ряд причин, за яких професійні програмісти віддають перевагу використанню циклів с передумовою. Перша — це те, що краще спочатку прийняти рішення, чи потрібно щось робити, а не після того, як це вже зроблено. Друга — те, що програма більш зрозуміла, коли умова, яка перевіряється, знаходиться спочатку, а не в кінці циклічного блоку програми. Третя причина полягає в тому, що в більшості випадків необхідно, щоб тіло циклу ігнорувалося повністю, якщо умови не виконуються.

У випадку вибору циклу з передумовою виникає питання: що краще, for чи while? В принципі все, що можна зробити за допомогою одного циклу, можна зробити й за допомогою іншого. Виходячи з міркувань правильного стилю програмування використанню циклу fоr віддається перевага, коли в циклі використовується ініціалізація і корекція змінної. А цикл while зручніше використовувати, коли цього робити не треба.

В мові С++ оператор циклу for є більш гнучким засобом, ніж аналогічні оператори циклів в інших мовах програмування. Крім описаних вище, існує ще багато інших можливостей використання цього типу циклів. Приклади деяких з них:

Приклад 4. Потрібно обчислити у5. Можливий варіант розв’язання має вигляд:



for ( i=5, r=1; i>=1; i-- ) r=r*y;

cout<<"r="<


Приклад 5. Приріст при підрахунку, не рівний 1.



for ( n=5; n<61; n+=15) cout<


Приклад 6. Використання символів в якості лічильника.

Треба надрукувати алфавіт. Можливе рішення має вигляд:



for ( chr='A'; chr<='Z'; chr++) cout<


Приклад 7. Зміна лічильника в геометричній прогресії. Треба підрахувати борг. Можливе рішення має вигляд:



for ( k=100; k<185; k*=l.l) cout<<"Борг="<


Приклад 8. Використання в якості лічильника виразу.



for ( k=1; z<=196; z=5*k+23 ) cout<


Приклад 9. Неповний список виразів в заголовку тіла циклу.



for (p=2; p<=202;) p=p+n/k;



Приклад 10. Будь-який перший вираз в заголовку циклу.



for ( cout<<"Введіть числа."; p<=30;) cin>>p;



Приклад 11. Зміна управляючих змінних в тілі циклу.



delta=0.1;

for (k=1; k<500; k+=delta)

if (a>b) delta=0.5;



Приклад 12. Використання операції «кома» в специфікації циклу.



for ( i=1, r=1; i<=10; i++, r*=y )

cout<<"y в степені "<


Приклад 13. За допомогою циклу fоr вивести 5 ступенів введеного значення.

#include

#include

int main()

{

int a, b;

cout<<"Input a: ";

cin>>a;

b=a;

for(int i=0;i<5;i++)

{ cout<
b*=a;

}

getch();

return 0;

}

^

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



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

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

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

^

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



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

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

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 ділиться на та не ділиться на .

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



1. Які три операції виконуються в циклі fоr?

2. Що таке вкладені цикли?

3. Що таке пуста та складна конструкції?



Похожие:

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


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

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