Professional Documents
Culture Documents
FP урок 06 new ua
FP урок 06 new ua
Урок № 6
Масиви
Зміст
1. Необхідність групування даних................................ 3
Поняття масиву....................................................................3
Синтаксис оголошення масиву........................................4
Розташування масиву в пам'яті........................................8
2. Створення масиву і заповнення його даними....... 12
Звернення до елементів масиву......................................12
Варіанти ініціалізації масиву..........................................13
Вивід вмісту масиву на екран.........................................15
3. Приклади програм роботи з масивом.................... 17
Задача 1.................................................................................17
Задача 2.................................................................................18
4. Домашнє завдання.................................................... 21
2
1. Необхідність групування даних
1. Необхідність
групування даних
Сьогодні ми поговоримо з вами на тему зберігання даних.
На одному з перших занять ми дізналися про існування
змінної і визначили її як відрізок оперативної пам'яті для
розміщення інформації. Безсумнівно, нормальна програма
не може існувати без змінних, однак, часом прості змінні
не вирішують проблеми оперування даними. Уявімо собі,
що нам необхідно порахувати середню оцінку в групі. Дуже
легко! Для цього ми в циклі запитаємо всі оцінки і додамо
їх до змінної для суми. А після виконання циклу цю змінну
розділимо на кількість студентів. Усе готово. А що, якщо нам
раптом після цього потрібно буде знайти ще й максимальну
оцінку в групі? Чи зможемо ми це зробити?! На жаль, ні.
А справа в тому, що кожна зі змінних здатна одночасно
зберігати лише один елемент інформації. І щоразу в циклі
вона перезаписувала попереднє значення оцінки. Буде дуже
незручно створювати для кожного елемента змінну. А що,
якщо потрібно працювати з багатьма сотнями елементів?
Завдання дуже швидко стає нездійсненним. Погодьтеся,
створювати кілька сотень змінних — божевілля.
Як же розв'язати таку, здавалося б, непросту задачу?! У
нашому випадку рішенням є так звані масиви. Розглянемо
визначення й особливості.
Поняття масиву
Масив — це набір однотипних даних, об'єднаний за-
гальним ім'ям. Уявімо собі масив у вигляді пасажирського
3
Урок № 6
Малюнок 1
тип_даних імя_масиву[кількість_елементів];
4
1. Необхідність групування даних
Малюнок 2
5
Урок № 6
train[0] = 3;
train[1] = 1;
train[2] = 4;
Малюнок 3
6
1. Необхідність групування даних
int number = 0;
cout << "Enter a number from the students list:" << endl;
cin >> number;
7
Урок № 6
Малюнок 4
8
1. Необхідність групування даних
ЗАГАЛЬНИЙ_РОЗМІР = РОЗМІР_ТИПУ_ДАНИХ *
КІЛЬКІСТЬ_ЕЛЕМЕНТІВ_У_МАСИВІ
#include <iostream>
using namespace std;
int main() {
// create a digit value array of three elements
int train[3];
9
Урок № 6
Малюнок 5
Малюнок 6
10
1. Необхідність групування даних
Малюнок 7
11
Урок № 6
2. Створення масиву
і заповнення його даними
Варіант перший
Оголошено масив ar, що складається з 5 елементів,
кожен із яких має тип даних int.
int ar[5];
Варіант другий
Оголошено константу size, значення якої дорівнює 3,
а потім, масив br, що складається з 3 елементів, кожен із
яких має тип даних double.
// запис значення
ім'я_масиву[індекс_елемента]=значення;
// отримання значення
cout<<ім'я_масиву[індекс_елемента];
12
2. Створення масиву і заповнення його даними
13
Урок № 6
#include <iostream>
using namespace std;
int main()
{
const int size = 3;
int ar[size];// створення масиву з трьох елементів
// цикл, що перебирає елементи масиву
14
2. Створення масиву і заповнення його даними
#include <iostream>
using namespace std;
int main()
{
const int size = 3;
int ar[size]; // створення масиву з трьох елементів
// цикл, що перебирає елементи масиву
for (int i=0;i<size;i++)
{
cout << "Enter element\n";
/* на кожній ітерації циклу користувачеві
підставляється елемент з індексом i для
заповнення. Секрет у тому, що i — щоразу
нове значення */
15
Урок № 6
16
3. Приклади програм роботи з масивом
3. Приклади програм
роботи з масивом
Задача 1
Написати програму, яка знаходить суму всіх від'ємних
значень у масиві.
Код реалізації
#include <iostream>
using namespace std;
int main()
{
// визначення розміру масиву
const int size=5;
// створення й ініціалізація масиву даними
int ar[size]={23,-11,9,-18,-25};
// змінна для накопичення суми
int sum = 0;
// цикл, що перебирає по порядку елементи масиву
for (int i=0;i<size;i++)
{
// якщо значення елемента від’ємне
// (меньше за нуль)
if (ar[i]<0)
sum += ar[i]; // додати його значення
// до загальної суми
}
// вивід значення суми на екран
cout<<"Sum = "<<sum<<"\n\n";
return 0;
}
17
Урок № 6
Коментар до коду
1. Цикл по черзі перебирає елементи від 0 до size. При
цьому size не входить у діапазон, що перевіряється,
тому що індекс останнього елемента — size-1.
2. На кожній ітерації циклу відбувається перевірка вмісту
елемента на від'ємне значення.
3. Якщо значення менше за нуль, воно додається до суми.
Як бачите, робота з масивом дуже схожа на аналіз
якогось діапазону. Тільки в цьому випадку мінімальна
межа діапазону — 0, а максимальна визначається кількі-
стю елементів у масиві.
Задача 2
Написати програму, яка знаходить мінімальне й мак-
симальне значення в масиві і виводить їх на екран.
Код реалізації
#include <iostream>
using namespace std;
int main()
{
// визначення кількості елементів масиву
const int size=5;
// створення та ініціалізація масиву
int ar[size] = { 23,11,9,18,25 };
int max = ar[0]; // нехай 0 елемент буде максимальним
int min=ar[0]; // нехай 0 елемент буде мінімальним
// цикл перебирає елементи
// масиву, починаючи з одиниці
18
3. Приклади програм роботи з масивом
Коментар до коду
1. Спочатку висуваємо припущення, що мінімальним
є елемент масиву з індексом 0.
2. Записуємо значення елемента з індексом 0 у змінну min.
3. Потім, щоб або підтвердити, або спростувати цей факт,
перебираємо всі елементи масиву, починаючи з еле-
мента з індексом 1 у циклі.
4. На кожній ітерації циклу порівнюємо припусканий
мінімум з поточним елементом масиву (елемент з ін-
дексом i).
5. Якщо трапляється менше значення, ніж припусканий
мінімум, значення min перезаписується на менше знай-
дене значення й аналіз триває.
19
Урок № 6
20
4. Домашнє завдання
4. Домашнє завдання
1. Дана програма, яка визначає останнє додатне і перше
від'ємне число в масиві. Знайти і виправити синтак-
сичні й логічні помилки.
#include <iostream>
using namespace std;
int main()
{
double size = 8;
double arr[size]={-5.7, 6.0, 2, 0, -4.7, 6,
8.1, -4, 0};
int positive = 0;
for (int i = size; i >= 0; i++)
{
if (arr[i] > 0)
{
positive = arr[i];
break;
}
}
int negative = 0;
for (int i = 0; i < size; i++)
{
if (arr[i] < 0)
{
negative = arr[i];
break;
}
}
21
Урок № 6
22
4. Домашнє завдання
23
Урок № 6
Масиви
© Тетяна Лапшун
© Компьютерна Академія «Шаг», www.itstep.org