Конспект урока "Одномерные массивы" (для самых маленьких)

ФИО автора: Трофимов Виктор Геннадьевич
Место работы: ГКООУ санаторная школа-интернат №28 г. Ростова-на-Дону
Должность: учитель информатики и ИКТ
МАССИВЫ ДЛЯ САМЫХ МАЛЕНЬКИХ
Очень трудно объяснить массивы, как структуру данных. Обычно к сожалению!) учителя
начинают объяснения с сухой терминологии, которую трудно впитать и осознать юным,
неискушенным в программировании умам.
Начинать объяснения массивов нужно «издалека», опираясь на значение в широком смысле
слова. Что такое массив? Это когда чего-то много. К примеру, лесной массив - множество деревьев
на определенном участке местности. Что будет, если мы пронумеруем деревья? Станет ли легче
отличать одно от другого? Представьте диалог двух служащих хозяйства:
- Ты полил пятое дерево?
- Да, ещё я полил восьмое и тринадцатое.
Рыбки в аквариуме. Массив? Массив. Мы можем дать рыбкам условные имена и тогда
пытаться их различить (пусть и трудно различить рыбок, все они на одно лицо). У меня в аквариуме
живёт сом с кличкой «Игорь», у него травмирован левый плавник и отличить рыбку от других легко.
И когда я прошу семейных: «Покормите Игоря и друзей», то картина немного обретает
одушевлённость, нежели безликое «Вы рыбок покормили?».
Класс. Ученики. Класс - это одно целое, но ученики в нём разные. Как отличить одного от
другого и не создавать неприятных ситуаций? Эй, скажет учитель, ты, девочка, волосы у тебя
растрёпаны и под глазами мешки от недосыпания, ты сделала домашнее задание? Конечно же, так
никто не делает. У всех детей есть имена, и именно по именам обращается к детям учитель.
Множество сайтов в интернете. Как их отличить друг от друга? Правильно, по адресам. И мы
знаем, что www.zandex.ru или www.hoohle.ru - это два разных сайта.
Парковка у большого государственного учреждения. Кто-то приезжает, кто-то уезжает.
Машин всегда множество. Как сделать поиск места удобным для водителей? Всё просто - при
въезде каждый получает билет с номером паркоместа, при выезде - сдает его, тем самым сторож
всегда знает, какое количество и, главное!, какие парковочные места у него свободны. Массив? Да!
Итак, можно попытаться дать определение вольного характера. Массив - это некоторые
предметы, сгруппированные по какому-нибудь признаку: деревья в лесу, рыбки в аквариуме,
ученики в классе, сайты в интернете, автомобили на парковке. Что, если мы каждой единице из
группировки присвоим номер? Станет проще? Да, станет. Нам нет надобности говорить - я пойду
вскопаю то дерево, ну то, помнишь, на котором три нижние ветки прилегают к земле, а сверху еще
такая вот интересная шапочка для понятности объяснения шевелить в воздухе пальцами). Проще
будет сказать - я у семнадцатого дерева, а еще проще - если на каждом дереве прикреплена
опознавательная табличка с номером, и эти номера идут в понятном для нас возрастающем
порядке.
Проверяя домашнее задание, я перед объяснением массивов обращаюсь к классу так: «Итак,
номер три идёт отвечать». Встаёт мальчишка. «Почему ты встал?», спрашиваю. «Так я третий номер
в списке», отвечает. «А кто двадцатая?». «Я». Конечно же, не всегда дети знают номера, под
которыми записана их фамилия в журнале, поэтому загодя можно вызывать так: «Сегодня какое
число? Ага, третье. Значит, номер третий, - Борисов. Идёт работать у доски».
Проводим эксперимент. Расставляем у доски пять стульев в ряд, на спинки вывешиваем
таблички с номерами от одного до пяти. На сидения устанавливаем согнутые пополам листки с
числами так, чтобы значения были видны детям.
- Как вы думаете, это массив?
- Да.
- Массив чего? Деревьев, автомобилей, домашних тапочек?
- Это массив стульев.
- Отлично. А чем стулья отличаются друг от друга?
- Номерами… числами.
Теперь можно аккуратненько, как по льду, подходить к научному пониманию массива.
- Сколько будет стул номер один плюс стул номер три?
- Двадцать!
- А стул номер пять минус стул номер два, умноженный на стул номер четыре?
- Три!
Сами того не понимания, дети уже работают с массивом данных в классическом понимании.
На перемене меня догоняют и спрашивают:
- Классный журнал - это тоже массив?
- Угу, - говорю я, - только чуть сложнее, чем стулья.
Ребёнок доволен.
Чтобы ребята усвоили массив в системах программирования, они обязательно должны
понимать роль переменных в программе, их типы. Ученики должны уверенно решать задачи на
нахождение большего из двух, уметь совершать обмен значений двух переменных с помощью
третьей, а одарённые - обмен данных без привлечения третьей переменной. Также должны хорошо
разбираться в циклах. На практике труднодостижимо, для понимания этих структур требуется
время и увлечённость детьми предметом. Но в общем-то можно получить неплохие результаты.
Итак, массив - это упорядоченность неких однотипных данных. Массив состоит из элементов.
Каждый элемент имеет неповторяющийся номер. Обычно это номера от одного до нужного нам
количества. Когда в лесу 100 деревьев, то и массив будет размером от 1 до 100. Размерность
массива «стулья» - пять.
- Почему?
- Потому что стульев пять!
Работаем.
- Кто дежурный? - спрашиваю. - Поставьте, пожалуйста, на место три любых стула.
Уносят первые три и задаю им вопрос:
- Почему вы убрали три стула? А не два или не четыре?
Нерешительно:
- Потому что вы сказали.
- Отлично. Спасибо. Садитесь.
И начинаю объяснять, что компьютеру точно также нужно всегда указывать, из скольких
элементов состоит массив - из двух, трёх или пяти. Без этого программа не работает. Теперь можно
приступать к объявлению массива средствами Паскаля.
var a: array [1..5] of integer;
Обычно подобной теории достаточно, чтобы вызывать в юных умах хоть поверхностное
понимание массива, а уже практическое применение этой новой структуры данных они изучают на
следующих уроках.
Сначала решаются типовые задачи на ввод данных, на нахождение большего из двух чисел,
на обмен данных между переменными, но только вместо простых типизированных переменных мы
пользуемся массивом. И пока никаких циклов!
Ввод данных:
readln(a[1], a[2]);
Обмен переменных (без третьей вспомогательной):
a[1] := a[1] + a[2];
a[2] := a[1] - a[2];
a[1] := a[1] - a[2];
Два урока - и в дело вступают циклы и простые задачи на тему ввода-вывода: «Заполнить
массив…», «Вывести массив…». И т.п.
Финальная задача перед изучением двумерных массивов уже кажется чем-то более простым:
«Отсортировать по убыванию/возрастанию числовой ряд». Для одарённых - без использования
третьей переменной при обмене значений.
Это всё :)
Удачи!