Professional Documents
Culture Documents
FP урок 05 new ua
FP урок 05 new ua
Урок № 5
Вкладені
цикли
Зміст
1. Вкладена конструкція................................................. 3
2. Практичні приклади................................................... 7
Приклад 1...............................................................................7
Приклад 2...............................................................................9
Приклад 3.............................................................................11
3. Використання інтегрованого відладчика
Microsoft Visual Studio.............................................. 16
Поняття налагодження.
Необхідність використання відладчика......................16
Виконання програми по кроках.....................................17
Точка зупину.......................................................................20
«Розумна» точка зупину...................................................22
4. Домашнє завдання.................................................... 26
2
1. Вкладена конструкція
1. Вкладена конструкція
У минулих уроках ви познайомилися з конструкцією
під назвою цикл і варіантами реалізації циклу в мові С++.
Як ви вже встигли помітити, цикл є однією з основопо-
ложних конструкцій програмування. З його допомогою
виконується величезна кількість завдань. Також ви вже
зіткнулися з тим, що в цикл можна вкладати конструкції
логічного вибору, як-от if і switch. Однак не будемо зупиня-
тися на досягнутому і спробуємо вкласти в цикл подібний
до нього оператор, тобто інший цикл. Такі конструкції
називаються вкладеними циклами. За своєю структурою
такі цикли нагадують коробки різного розміру. Їх можна
вкладати одна в одну, тобто в коробку більшого розміру
можна помістити меншу коробку. Зрештою, щоб подиви-
тися внутрішню коробку, доведеться спочатку відкрити
всі зовнішні.
Малюнок 1
3
Урок № 5
Малюнок 2
4
1. Вкладена конструкція
Малюнок 3
5
Урок № 5
Малюнок 4
6
2. Практичні приклади
2. Практичні приклади
Приклад 1
Постановка задачі
Написати програму, яка виводить на екран таблицю
множення.
Код реалізації:
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i<10; i++)
{
for (int j = 0; j<10; j++)
{
cout << i*j << "\t";
}
cout << "\n\n";
}
return 0;
}
Коментар до коду
1. Керуючі змінні зовнішнього і внутрішнього циклів
виконують функції множників.
2. Керуюча змінна i створюється й ініціалізується зна-
ченням 1.
7
Урок № 5
Малюнок 5
8
2. Практичні приклади
Приклад 2
Постановка задачі
Вивести на екран прямокутник із символів 20 на 20.
Код реалізації
#include <iostream>
using namespace std;
int main()
{
int str;
int star_count;
int length = 20;
str = 1;
while (str <= length)
{
star_count = 1;
while (star_count <= length)
{
cout << "*";
star_count++;
}
9
Урок № 5
Коментар до коду
1. Керуюча змінна зовнішнього циклу — str контролює
кількість рядків у прямокутнику.
2. Керуюча змінна внутрішнього циклу — star_count
контролює кількість символів у кожному рядку.
3. length — довжина сторони прямокутника.
4. Після відтворення кожного рядка, зовнішній цикл
здійснює перехід на наступний рядок прямокутника.
5. Результат такий:
Малюнок 6
10
2. Практичні приклади
Приклад 3
Одним із часто використовуваних прикладів вкладених
циклів є таблиці. Коли необхідно проаналізувати всі рядки
й у кожному рядку переглянути його осередки. Зовнішній
цикл буде перебирати рядки від першого до останнього.
А внутрішній — усі осередки кожного такого рядка. Дуже
часто ми стикаємося з таблицями на роботі, навчанні. Їх
зручно використовувати, коли необхідно систематизувати
великий обсяг даних. Це можуть бути турнірні таблиці,
таблиці відстаней між містами тощо.
У програмуванні такі таблиці розділяють на прямо-
кутні та квадратні.
0 1 2 3 0 1 2
0 + + + + 0 № № №
1 + + + + 1 № № №
2 + + + + 2 № № №
Прямокутна таблиця Квадратна таблиця
(різна кількість рядків (однакова кількість рядків
і стовпців) і стовпців)
11
Урок № 5
Малюнок 7 Малюнок 8
12
2. Практичні приклади
int N = 4; int N = 4;
// N — розмірність // N — розмірність
// таблиці // таблиці
for (int i = 0; for (int i = 0;
i < N; i++) i < N; i++)
{ {
for (int j = 0; for (int j = 0;
j < N; j++) j < N; j++)
{ {
Малюнок 9 Малюнок 10
13
Урок № 5
Малюнок 11
|===| |===|
|===| |===| |===| |===| |===| |===| |===| |===| |===| |===|
14
2. Практичні приклади
Малюнок 12
15
Урок № 5
3. Використання
інтегрованого відладчика
Microsoft Visual Studio
Поняття налагодження.
Необхідність використання відладчика
Як ви вже знаєте, є два види помилок програми.
Помилка на етапі компіляції — помилка синтакси-
су мови програмування. Такі помилки або друкарські
помилки контролюються компілятором. Програма,
яка містить таку помилку, просто не запуститься на
виконання, і компілятор вкаже, у якому рядку коду
сталася помилка.
Помилка на етапі виконання — помилка, що приводить
до некоректної роботи програми або до повної зупинки
останньої. При цьому треба враховувати, що така помил-
ка компілятором не контролюється. Лише в рідкісних
випадках компілятор може видати попередження про
якусь некоректну інструкцію, і загалом у таких ситуаціях
програмісту доводиться виплутуватися самому.
Саме про помилки на етапі виконання й піде мова.
Найчастіше, щоб виявити таку помилку, необхідно про-
йти якийсь фрагмент програми по кроках, так, ніби
програма виконується. Безумовно, при цьому бажано
чітко прорахувати, яке значення в певний момент часу
знаходиться в конкретних змінних. Можна, звичайно,
16
3. Використання інтегрованого відладчика Microsoft Visual Studio
#include<iostream>
using namespace std;
int main()
{
int a = 0, b = 0;
cout << "Enter a number" << endl;
cin >> a;
cout << "Enter a number" << endl;
cin >> b;
double c = a / b;
cout << "Result " << c << endl;
return 0;
}
17
Урок № 5
Малюнок 13
Малюнок 14
18
3. Використання інтегрованого відладчика Microsoft Visual Studio
Малюнок 15
Малюнок 16
19
Урок № 5
Точка зупину
Розглянемо ситуацію, коли ми маємо виконати від-
різок коду і, зупинившись у певному місці, запустити
відладчик. Для цього використовується так звана точка
зупину.
Встановіть курсор у рядок double c = a / b; і натисніть
клавішу F9. Поруч із рядком з’явилася червона точка, це
і є точка зупину.
Малюнок 17
20
3. Використання інтегрованого відладчика Microsoft Visual Studio
Малюнок 18
Малюнок 19
21
Урок № 5
Малюнок 20
Малюнок 21
22
3. Використання інтегрованого відладчика Microsoft Visual Studio
Малюнок 22
Малюнок 23
23
Урок № 5
Малюнок 24
Малюнок 25
Малюнок 26
24
3. Використання інтегрованого відладчика Microsoft Visual Studio
Малюнок 27
25
Урок № 5
4. Домашнє завдання
1. Написати програму, яка для чисел у діапазоні від A
до B визначала кількість їхніх дільників. Наприклад,
A = 10, B = 15.
Дільники для числа 10 — 1 2 5 10;
Дільники для числа 11 — 1 11;
Дільники для числа 12 — 1 2 3 4 6 12;
Дільники для числа 13 — 1 13;
Дільники для числа 14 — 1 2 7 14;
Дільники для числа 15 — 1 3 5 15.
2. Створити програму, яка виводить на екран прості числа
в діапазоні від 2 до 1000. (Число називається простим,
якщо воно ділиться тільки на 1 і на саме себе без за-
лишку; причому числа 1 і 2 за прості не вважаються).
3. Написати програму, яка виводить на екран — таку
фігуру:
* * *
* * *
* * *
* * * * * * *
* * *
* * *
* * *
26
4. Домашнє завдання
27
Урок № 5
Вкладені цикли
© Тетяна Лапшун
© Компьютерна Академія «Шаг», www.itstep.org