Первомайський ЦНТТУМ
Гурток “Сучасні технології програмування”
Керівник гуртка Семенова Олена Анатоліївна
Розробка заняття на тему:
Багатовимірні масиви.
Двовимірний масив: ініціалізація, індекси, заповнення та виведення значень.
Тема: Багатовимірні масиви. Двовимірний масив: ініціалізація, індекси, заповнення та виведення значень.
Мета: ознайомитись із поняттями “багатовимірний масив”, “двовимірний масив”, його властивостями, способами оголошення, навчитись працювати з елементами масива, розвивати увагу, спостережливість, логічне мислення.
Обладнання: ПК, ПЗ — середовище програмування CodeBlocks.
Тип заняття: засвоєння нових знань.
Хід заняття
1. Починаємо із розминки :) Скучили за ребусами? Давайте розімнемо сірі клітинки :)
Розгадайте, які чотири слова ховаються в картинках :)
1.
2.
3.
4.
Чудово! :) Розім’ялись, пригадали терміни нашої теми...
Тепер сподіваюсь, ви з такою ж легкістю пригадаєте , яким було ваше домашнє завдання :)
А було воно таким: “Дописати в програмі частину, яка знайде і виведе в консоль ще один напис, але вже про найбільший вік в групі програмістів.” Пам’ятаєте, на занятті ми знаходили найменший вік...
Гадаю, ви зрозуміли, що для знаходження найбільшого елемента в нашому масиві {11,10,11,14} нам потрібно зробити лише три невеличкі зміни в програмі, яка шукала найменший елемент: оголосити нову змінну, наприклад, oldest (до речі, чому саме така назва? ;)); змінити умову у циклі та замінити змінну з “наймолодший” на “найстарший” для виведення в консоль, тобто, у cout. Щоб було зрозуміліше, не будемо просто вносити зміни, а додамо у програму ще один блок: вона буде виводити обидва результата в консоль.
Це можна зробити двома шляхами:
1. Додати в програму ще один цикл;
2. Робити все в одному циклі.
Розглянемо обидва варіанти.
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{ SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int junior, i=0, oldest, age [4]={11,10,11,14};
junior=age [0];
for (і=1;і<4;i++)
{ if (age[i]<junior)
{ junior=age[i] }
}
cout << junior<<” років - найменший вік в групі програмістів”<<endl;
oldest=age [0]; //далі додаємо аналогічний цикл, тільки вже для пошуку більшого елемента
for (і=1;і<4;i++)
{ if (age[i]>oldest)
{ oldest=age[i] }
}
cout << oldest<<” років - найбільший вік в групі програмістів”<<endl;
return 0;
}
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{ SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int junior, i=0, oldest, age [4]={11,10,11,14};
junior=age [0];
oldest=age [0];
for (і=1;і<4;i++)
{ if (age[i]<junior) { junior=age[i] }
if (age[i]>oldest) { oldest=age[i] }
}
cout << junior<<” років - найменший вік в групі програмістів”<<endl;
cout << oldest<<” років - найбільший вік в групі програмістів”<<endl;
return 0;
}
Ну, ось, тепер ми знаємо, хто в нашому “масиві” найменший і найбільший. :)
Коли ми з вами знайомились із масивами, то була названа ще одна цікава властивість масивів… пов”язана із кількістю індексів елемента. Пам”ятаєте? Як вона називається?
Так, я маю на увазі багатовимірні масиви. Звучить теж, начебто складно і незрозуміло. Насправді це не так.
Пригадайте: масив, у якого елементи позначаються за допомогою лише одного індекса, називаються одновимірними. Приклад - шеренга на лінійку або на фізкультурі у ряд по одному.
А прикладом двовимірного масива є знайома кожному з вас шахова дошка, або гра “морський бій” і т.д.
Тобто, коли ви робите хід у грі, ви “робите постріл у конкретну клітинку”, наприклад, А5. Тобто, координата “пострілу” визначається, як у шахах, двома індексами: буквенним та числовим.
Тобто, якщо елементи одновимірного масива мають лише одну координату-індекс, то.. елементи двовимірного масива мають...? Правильно, два індекса для пошуку елемента в масиві, тому елементи одновимірного масива в програмі ви оголошували так:
int age [i];// одновимірний масив із кількістю і елементів - тобто, “рядок” із елементів загальною кількістю і .
А як ми оголосимо двовимірний масив? Абсолютно аналогічно...
int age [i][j];//двовимірний масив із кількістю і елементів у рядку та кількістю j рядків.
Тепер завдання для кмітливих. Відлік на шаховій дошці ведемо від лівого нижнього кутка.
Якщо у нас перший індекс двовимірному масиві (шахах) - і, а другий індекс елемента - j, а масив chess, то в програмі звернення до чорного пішака, що знаходиться на клітині, А7 запишеться отак: chess [0][6]. Чому так?
За аналогією запишіть звернення до елементу масива:
1. В1 “білий кінь”;
2. Е8 “чорний король"
Для особливо кмітливих:
Який елемент масиву має такі індекси:
А тепер вже завдання для справжніх програмістів. Пригадайте всі наші заняття по темі “Масиви” і спробуйте самостійно:
Удачі та приємного кодування! :)