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