Заняття на тему "Поняття масиву в С++. Одновимірний масив"

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

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

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

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

 

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

Поняття масиву в С++. Одновимірний масив.

Тема: Поняття масиву. Одновимірний масив.

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

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

Тип заняття: первинне ознайомлення з матеріалом та засвоєння нових знань.

 

Хід заняття

  1. Коли побачили тему нашого заняття, більшість вас, скоріше за все, вже встигли подумати: “Занудно, страшно, не зрозуміло!” :)

 Але давайте пригадаємо ваші відчуття, коли вам була оголошена тема “Інкремент та декремент” :).

          Ви тоді зробили великі очі, але через 10 хвилин вже практично самі виводили ці поняття та пояснювали, що це таке :).

Тому є впевненість, що із темою “Масиви” ви так само легко впораєтесь і, більше того, вона вам сподобається. Тому що насправді це одна із найцікавіших тем…

 Почнемо, як завжди, з розбору самого “страшного” терміну.

 “Масив”... Що перше приходить вам в уяву, коли називається це слово? Задумайтесь на хвилинку, як ви його розумієте: пригадайте, коли і як застосовуєте у житті… Наприклад: “житловий масив”. Що це означає?

 Уява малює якусь кількість житлових будинків, що розташовані, десь на одній вулиці, кожен під своїм номером, так?

 

 Що їх поєднує? Назва вулиці, послідовність номерів… а ще?

 Чи ми можемо припарковану біля будинку машину включити в масив? Чому ні? Вулиця, на якій вона знаходиться, та сама, номер у машини є… Не дуже схожі? :)

 Так, основна відмінність - це тип. :)

 Мислимо  логічно далі і за аналогією… Що в програмуванні відрізняється за типами? Так, в програмуванні розрізняють типи даних і, відповідно, змінні, які ми оголошуємо саме за типом даних…

 Є припущення, що ви вже самі вивели для себе, що ж таке масив у програмуванні. То що це?

Масивом у програмуванні називається скінченна послідовність змінних одного типу, які мають однакове ім'я та відрізняються порядковим номером.

Що таке “скінченна послідовність”, гадаю, пояснювати не треба ;).

Всі змінні- “учасники” масиву називаються “елементами масиву”. Порядковий номер кожного елемента називають “індекс”.

 Тобто, по суті, це новий тип змінних. Але тип змінних не простий, як, наприклад, int або char, а складений з елементів іншого типу.

 І, так само, як ви шукаєте певний будинок у житловому масиві, для пошуку елемента масиву в програмуванні, потрібно назвати його номер - індекс.             

 Ви можете спитати: “навіщо створювати складний тип, якщо можна користуватись і простими?”

 Можливо й так… Але  уявіть собі ситуацію, коли вам треба скласти базу даних учнів вашої школи. Припустимо, що їх кількість 800. Для кожного потрібно оголосити окрему змінну. Скільки їх буде? :) і це лише, щоб вказати прізвище …  Гадаю, вам вже стало моторошно... А якщо потрібні і інші дані, для кожного? :)

 Страхи відкидаємо поки що в сторону і повертаємось до простого і логічного. :)

 Якщо в програмі має з”явитись змінна, що ми робимо перш за все? Правильно, оголошення…

 Тож давайте створимо якийсь масив, для початку, невеликий, що буде складатись із змінних, які відображають, для прикладу, вік Артема(11), Артура(10), Влада(11) та Кирила(14).

 Як ми робимо оголошення змінної? Пам’ятаємо? :)

 Даємо змінній назву. До речі, як англійською буде “вік”?  Тож, давайте і назвемо наш масив age. Якого типу змінна, що описує вік? Правильно, вік у нас  - цілі числа, тому і тип у нас int.

 Оголошення масиву мало чим відрізняється від оголошення змінної:

 int age [4];

 В чому різниця? Так, в добавці [4]. Подумайте, що це може означати? Правильно, напис int age [4]; означає, що в нас оголошено масив цілих чисел із кількістю елементів 4.

 Тобто реально ми оголосили чотири змінні цілого типу:  вони мають спільне ім’я age, яке відрізняється лише номером - індексом. І коли нам потрібно звернутись до потрібної змінної із масива, ми звертаємось до неї за її індексом.

 Подивіться: логічно, якщо вони змінні, то й поводитись вони повинні як звичайні змінні, аналогічно. Тобто, ми можемо (?) надати їм бажаного нам значення, або перевірити їх значення за допомогою оператора cout. 

 Давайте пригадаємо ваше перше знайомство зі змінними. :) Як ви гадаєте, яким буде результат отакого коду? Що ми побачимо у консолі?

 

#include <iostream>

using namespace std;

 

int main()

{ int age [4];

  cout << age [1]<< endl;

 return 0;

}

 Той, хто відповів “Випадкове число”, правий. :) Чому ми побачимо “випадкове” число? Тому, що ми не надали змінній вихідного значення.

 Давайте виправимо це… Як? Так само, як ми надаємо значення звичайним змінним, надамо значення одному з елементів масива. Добре, давайте, першому.

 

#include <iostream>

using namespace std;

 

int main()

{ int age [4];

 age [1]=11;

  cout << age [1]<< endl;

 return 0;

}

 

      Тепер так само надайте значення всім елементам нашого масива та виведіть їх значення в консоль.

Якщо написали самостійно - зарахуйте собі лайк :).

Якщо ні, то ось “шпаргалка”:

#include <iostream>

using namespace std;

 

int main()

{ int age [4];

 age [1]=11;

 age [2]=10;

 age [3]=11;

 age [4]=14;

 cout << age [1]<< endl;

cout << age [2]<< endl;

cout << age [3]<< endl;

cout << age [4]<< endl;

 return 0;

}

 

 у вас повинен з’явитись такий результат в консолі:

 11

 10

 11

 14

 

 Тепер давайте пригадаємо те, що ми можемо надати певного значення змінним при їх оголошенні. Масиви не виключення. Все робимо аналогічно, лише з одним доповненням.

 На прикладі нашого масиву:

 int age [4]={11, 10, 11, 14};

 Зробіть тепер відповідні зміни в програмі: замініть рядок оголошення та уберіть або закоментуйте рядки, де ви надавали значення елементам масива.

 

#include <iostream>

using namespace std;

 

int main()

{ int age [4]={11, 10, 11, 14};

 cout << age [1]<< endl;

cout << age [2]<< endl;

cout << age [3]<< endl;

cout << age [4]<< endl;

 return 0;

}

Запускаємо програму. Яким ви бачите результат в консолі? Що? Неочікувано? :)

Чому так вийшло? Ваша думка? Так, є дещо особливе.

 Таким чином потрібно було звернути вашу особливу увагу на оцю особливість масивів: кількість елементів масива та їх порядкові номера відрізняються.

 Чому? Тому, що відлік індексів(номерів) елементів починається не з 1, а з 0.

 Тобто, якщо в нашому масиві 4 елементи: 11, 10, 11, 14, то першим елементом масива буде елемент з індексом 0 і значенням- 11, а елементом з індексом 1 буде елемент із значенням - 10 :). Це дуже важлива особливість, не забувайте про неї, коли ми будемо працювати із масивами.             

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

 Якщо ви зробите заміну в cout порядка номерів з 0 - все встане на свої місця. Ви отримаєте потрібний результат: виведення значень усіх елементів масиву.

 Ще одна цікава особливість масивів...

Масиви відрізняються “х-мірністю”... (не “ха” :), а “ікс”) Що я маю на увазі?

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

 Аналогічно, наведіть приклад двовимірного масива…

 Шеренга в два ряда, шахова дошка, сітка гри “морський бій” і т.д.

 Тобто, коли ви називаєте в шахах місце фігури та її хід, ви кажете: Е2-Е4. Тобто, її положення визначається двома індексами: буквенним та числовим.

 Звичайно, ви вже зрозуміли, що кількість елементів масива може бути не лише 4… Це, як і значення елементів, величина змінна, а отже… Правильно, вона може бути означена змінною

 int i, age [і];

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

 Саме тому, що в оголошенні масиву ми використовуємо змінну, і її потрібно оголосити раніше, інакше програма її не побачить… і видасть помилку при компіляції.

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

#include <iostream>

using namespace std;

 

int main()

{ int i, age [6];

for (i=0;i<6;i++)

{ cout << age [i]<< endl; }

 return 0;

}

Тепер ваше завдання.. Скласти програму, яка буде виводити в консоль значення заданої кількості елементів масива. :) Пояснюю: користувач вводить кількість, скажімо, число 10 - і в консолі з’являються десять рядків із значеннями елементів. За аналогією із попередньою задачею про 6…  Бажаю успіхів ;)

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

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