Заняття на тему: "Багатовимірні масиви. Двовимірний масив."

Про матеріал
Даний матеріал містить ознайомлення із поняттям багатовимірні масиви, двовимірний масив у С++, властивості, особливості та роботу з елементами масиву на простих прикладах, спрямований на розвиток уваги, пам'яті, спостережливості та логічного мислення.
Перегляд файлу

Первомайський ЦНТТУМ

Гурток “Сучасні технології програмування”

Керівник гуртка Семенова Олена Анатоліївна

 

Розробка заняття на тему:

Багатовимірні масиви.

Двовимірний масив: ініціалізація, індекси, заповнення та виведення значень.

 

Тема: Багатовимірні масиви. Двовимірний масив: ініціалізація, індекси, заповнення та виведення значень.

Мета: ознайомитись із поняттями “багатовимірний масив”, “двовимірний масив”, його властивостями, способами оголошення, навчитись працювати з елементами масива, розвивати увагу, спостережливість, логічне мислення.

Обладнання: ПК, ПЗ — середовище програмування CodeBlocks.

Тип заняття: засвоєння нових знань.

 

Хід заняття

 

 1. Починаємо із розминки :) Скучили за ребусами? Давайте розімнемо сірі клітинки :)

 Розгадайте, які чотири слова ховаються в картинках :)

 1.

 

 

 

 

 

 

 

 2.

 

 

 

 

 

 

 

 

 

 

 3.

 

 

 

 

 

 4.

 

 

 

 

 

 

 

 

Чудово! :) Розім’ялись, пригадали терміни нашої теми...

 

 Тепер сподіваюсь, ви з такою ж легкістю пригадаєте , яким було ваше домашнє завдання :)

 

 А було воно таким: “Дописати в програмі частину, яка знайде і виведе в консоль ще один напис, але вже про найбільший вік в групі програмістів.” Пам’ятаєте, на занятті ми знаходили найменший вік...

 Гадаю, ви зрозуміли, що для знаходження найбільшого елемента в нашому масиві {11,10,11,14} нам потрібно зробити лише три невеличкі зміни в програмі, яка шукала найменший елемент: оголосити нову змінну, наприклад, oldest (до речі, чому саме така назва? ;)); змінити умову у циклі та замінити змінну з  “наймолодший” на “найстарший” для виведення в консоль, тобто,  у cout. Щоб було зрозуміліше, не будемо просто вносити зміни, а додамо у програму ще один блок:  вона буде виводити обидва результата в консоль.

Це можна зробити двома шляхами:

1. Додати в програму ще один цикл;

2. Робити все в одному циклі.

 

 

Розглянемо обидва варіанти.

 

  1. Додати в програму ще один цикл

 

#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;

}

 

  1. Другий варіант більш “програмно гарний”. Сподіваюсь, більшість з вас вже зрозуміли.

 

#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 “чорний король"

 Для особливо кмітливих:

 Який елемент масиву має такі індекси:

  1. chess [1][7]
  2. chess [5][0]? 

 

А тепер вже завдання для справжніх програмістів. Пригадайте всі наші заняття по темі “Масиви” і спробуйте самостійно:

  1. Складіть програму, в ході якої одновимірний масив із 10 елементів буде заповнювати користувач введенням чисел в консолі. (Підказка - використайте оператор циклу)
  2. Складіть програму, яка буде заповнювати одновимірний масив із 10 елементів випадковими числами.
  3.   Складіть програму, яка заповнить випадковими числами двовимірний масив chess.

 Удачі та приємного кодування! :)

 

 

 

docx
Додано
29 листопада 2021
Переглядів
329
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку