Образовательный аспект: обеспечить формирование и использование учащимися знаний о массивах, видах и характеристиках массивов, основных операциях над элементами массива. Показать формат описания одномерного массива на языке программирования Pascal.
Развивающий аспект: развивать алгоритмическое мышление; навыки формализации при решении информационных задач с помощью средств языка программирования; умение выделять в информационных моделях параметры для автоматической обработки на компьютере; навыки самостоятельной работы.
Воспитательный аспект: восприятие компьютера как инструмента обработки информации, воспитание чувства коллективизма и ответственности друг за друга.
Оборудование: компьютерный класс, экран, доска, опорные листы, карточки с номерами (1 .. n и 1..m, где n - количество девочек, m - количество мальчиков в классе), самоклеющиеся карточки для рефлексии.
Программное обеспечение: интегрированная инструментальная оболочка программы Turbo Pascal 7.0, офисная программа M.S. Power Point, презентация «Массивы», файл C:\basket.pas
Тип урока:изучение нового материала.
Ход урока:
1. Выход на тему урока, целеполагание.
Посмотрите внимательно на доску, перед вами лексическое значение одного слова французского происхождения, которое я выписал из большого энциклопедического словаря. (Текст на доске:)
- (слово французского происхождения, обозначающее мощный или сплошной) совокупность множества однородных по каким-либо признакам объектов, предметов, данных и т.п., например: жилой…, лесной…, горный…, информационный…
Скажите, какое это слово? Оно будет главным в теме нашего урока.
(Массив). Да, действительно это слово - массив, а тема урока – «Массивы».
Давайте попробуем вместе составить план урока.
О чём бы хотели узнать здесь и сейчас? (учащиеся отвечают).
Таким образом, сегодня на уроке вы узнаете: (слайд с планом урока)
1. Что такое массив в языке программирования?
2. Какие характеристики имеет массив?
3. Какие операции можно производить с элементами массива?
4. Как описать массив на языке Pascal?
2. Работа над понятием «массив».
Но давайте ещё раз обратимся к лексическому значению слова массив.
Какие, по – вашему, слова определяют сущность понятия массив? (совокупность, множества, однородные).
А где ещё вы сталкиваетесь с определением «однородные»? (в русском языке - однородные члены предложения.) Подберите синонимы к этому слову. (одинаковые, однотипные).
Другими словами можно сказать, что массив – это множество однотипных объектов, имеющих общее название (имя). В жизни мы часто сталкиваемся с такими множествами. Например (слайд с примерами):
Назовите окружающие вас в кабинете объекты, которые можно объединить в массивы. (окна, столы, компьютеры, члены жюри, ученики класса)
Как правило, массивы содержат большое количество данных, которые необходимо где-то сохранить и обработать. И сделать это может? (компьютер).
В компьютерной программе массив- это набор однотипных данных, хранящихся в памяти и имеющих имя.
3. Какие характеристики имеет массив?
Массив имеет следующие характеристики:
имя - название массива;
индекс - номер элемента в массиве;
элемент - каждое значение в массиве;
размер - количество элементов в массиве.
Существуют различные виды массивов по размерности, в школьном курсе вы познакомитесь с двумя – одномерными и двумерными (слайд с видами массивов). Перед вами на экране примеры объектов, представляющих такие массивы (на слайде изображения шкафа с одинаковыми ящиками и зрительный зал).
Назовите их характеристики.
Имя массива? (шкаф)
Индексы? (номера ящика)
Элемент массива? (содержимое ящика)
Размер? (5)
Имя массива? (кинозал)
Индексы? (номер ряда, номер места)
Элемент массива? (человек, занимающий место)
Размер? (количество рядов, количество мест в ряду)
А сейчас давайте немного поиграем и создадим массивы, элементами которых будете вы сами.
Возьмите на столе карточки с номерами и создайте два массива:
• девочки 11а
• мальчики 11а
(учащиеся пересаживаясь, должны образовать 2 ряда: девочки и мальчики и выбрать карточку с номером, соответствующим его месту в ряду)
Определите размеры ваших массивов? (называют количество девочек и мальчиков) Значение 1-го элемента? Значение последнего элемента? (называют соответствующие фамилии). Ваш индекс в массиве? (называют свой номер)
Таким образом, мы с вами разобрались с характеристиками массива.
4. Какие операции можно производить с элементами массива?
А теперь подумайте, какие операции можно выполнить над элементами массива?
Обратитесь, пожалуйста, к рабочему листу. Заполните таблицу. Продолжите список операций над массивами различных типов данных. На предыдущих уроках вы изучили типы данных языка программирования Pascal.
Скажите, чем отличается строковый тип от числового? (учащиеся отвечают).
Поставьте знак «+», если операция применима к соответствующему типу данных и знак «- », если нет. Через 2 минуты, вы назовёте свои варианты основных операций над массивами (самостоятельная работа в течение 2-х минут, затем учащиеся называют операции и их применимость, идёт коллективное обсуждение ответов).
Сравните свои ответы с тем, что вы видите на слайде, скорректируйте (слайд с таблицей операций над массивами). Какую особенность вы заметили? Да, действия над элементами массива зависят от типа данных.
Теперь вы знаете о массивах если ещё ни всё, то многое.
Вы знаете, что массив – это…, его характеристики…, основные операции…(фронтальный опрос). Можно перейти к последнему пункту составленного нами плана урока:
5.Как описать массив на языке Pascal?
Вспомните, в каком разделе программы описываются переменные, константы? (в разделе Var).
Массив также задаётся в разделе Var. Запишите формат описания:
Имя массива: array [размер] of тип данных;
(гдеarray и of – ключевые слова, размер: [начальный индекс . . конечный индекс ])
Пример:spisok:array [1..5] ofstring; (массив с именем spisok может вместить 5 элементов строкового типа).
Обратитесь к опорному листу. Внимательно изучите таблицу условных обозначений элементов массива в Pascal и попытайтесь самостоятельно описать массивы, выполняя задания 1 и 2. (время выполнения 3-4 минуты).
Сравните свои результаты с образцом, исправьте ошибки (слайд с правильными ответами).
Итак, план урока по всем пунктам выполнен? Но?… Хотели бы вы прямо сейчас проверить свои знания на интересной для вас практической задаче?
6. Применение знаний на практике. Работа с ПК.
Думаю, что да. Ребята, я знаю, что в вашей школе любят играть в баскетбол и есть сборная команда. Давайте вместе создадим программу, отбирающую кандидатов в её состав из числа учащихся, рост которых превышает 170 см.
Какие данные нам для этого необходимы? (фамилии учащихся и их рост в сантиметрах).
Как вы думаете, эти данные будут храниться в одном массиве или двух? (предлагаются варианты, идёт обсуждение).
Необходимы два массива: строковый для ввода фамилий и числовой для значений роста учеников. И третий массив для хранения результата: фамилий кандидатов в сборную школы.
Запишите, пожалуйста, на обратной стороне карточек с номерами свой примерный рост в сантиметрах. Разделитесь на две группы, разработайте и дайте словесное описание алгоритма решения этой задачи ( через 1-2 минуты представитель от каждой группы озвучивает вариант алгоритма, после общего обсуждения выбирается оптимальный вариант).
Обратите внимание, что в предложенном алгоритме решения данной задачи встречается уже известная вам операция «выбор по условию».
Как реализовать на языке Pascal эту операцию, а также ввод данных в массив и вывод из него вы узнаете на последующих уроках, поэтому эту часть программы написала я сама, и ошибок в алгоритмическом разделе нет, тем не менее, программа не работает. В чём тут дело? Я уверена, что знания, полученные вами сегодня, помогут устранить ошибку, и компьютер выведет на экран список учащихся вашего класса, кандидатов в сборную школы.
Займите свои рабочие места за компьютерами. Запустите инструментальную оболочку программы Turbo Pascal 7.0 и откройте файл по адресу C:\basket.pas. Сделайте эту программу работоспособной.
(Текст программы на языке Pascal:
program basket;
uses crt;
var
N,i,k:integer;
BEGIN
Clrscr;
writeln('Введите количество учеников');
readln(N);
writeln('Введите фамилию и рост ученика');
for i:=1 to N do
begin
write('fam[',i,']= ');
read(fam[i]);
write('rost[',i,']= ');
readln(rost[i]);
end;
k:=0;
for i:=1 to N do
if rost[i]=170 then begin
k:=k+1;
kom[k]:=fam[i];
end;
if k=0 then
writeln('кандидатов нет')
else
writeln('Список претендентов в сборную школы');
Writeln;
for i:=1 to k do
writeln(kom[i]);
readln
end. )
(ученики, советуясь и помогая друг другу, дописывают недостающие строки программы враздел var
fam:array[1..10] of string;
rost:array[1..10] of integer;
kom:array[1..10] of string; , вводят данные и получают результат)
Так почему не работала программа? (учащиеся отвечают) Правильно. Потому что в ней не были описаны массивы. Вы полноправно можете считать себя соавторами этой программы.
7. Подведение итогов урока.
Давайте подведём итог нашего урока. Снова обратитесь к Опорному листу. На полях напротив каждого вопроса, рассмотренного на уроке, поставьте соответствующий знак:
«+» всё понятно «!» хочу узнать больше
«?» остались вопросы «- » не понял (а)
Это позволит вам и вашему учителю своевременно решить проблемы по этой теме и обеспечить удовлетворение интереса к ней.
А теперь закройте на несколько секунд глаза и представьте себе массив. Попробуйте нарисовать его образ на карточке. Подойдите к доске и приклейте свою карточку в соответствующую колонку. (доска расчерчена на 4 колонки, в оглавлении которых знаки «+», «?», «!»,«- » )
Я вижу, что наше сотрудничество было интересным и плодотворным. Желаю вам дальнейших успехов в изучении Информатики, ведь в наш непростой информационный век, согласитесь, этот предмет можно назвать «окном» в новый мир.