Методическая разработка «открытого» урока информатики и ИКТ Дата проведения: Место проведения:

advertisement
Методическая разработка «открытого» урока информатики и ИКТ
Дата проведения: 01.04.2015
Место проведения: МБОУ СОШ № 25 г.о. Самара (урок дан в ходе проведения
процедуры аккредитации школы)
Класс: 9а
Учитель: Карпова Марина Вячеславовна
Тема урока: Одномерные массивы. Обработка массива
Цели урока:
1.
Обучающая - сформировать представление о массиве как о средстве
хранения информации; определить эффективность использования массивов при
обработке большого количества данных; научится описывать одномерный массив,
строить алгоритм работы с массивами.
2.
Развивающая – развивать познавательный интерес, творческую активность
учащихся; развить у школьников умения излагать мысли, моделировать
ситуацию, планировать свою деятельность.
3.
Мотивационная – побудить интерес к изучению информатики.
4.
Воспитательная – воспитывать умение сотрудничать, толерантность,
инициативность, умение добиваться поставленной цели.
Тип урока: урок изучения нового материала.
Оборудование: компьютер, проектор, маркерная доска, интерактивная доска,
мультимедиапрезентация «Одномерные массивы. Обработка массива», созданная
в MS PowerPoint.
Ключевые слова или опорные понятия: программирование, массив, таблица,
индекс, структурированный тип.
Педагогические технологии: технология проблемного обучения, ИКТ.
Продолжительность занятия – 40 минут.
Примечание: В ходе создания методической разработки урока, презентации
использовались операционная система Windows XP и следующие программные
средства:

Microsoft Offict Word 20 – набор и редактирование текста;

Microsoft Office PowerPoint 2007 – создание, обработка, компоновка
презентации;

Microsoft Office Picture Manager – обработка графики для презентации.
На момент проведения урока учащиеся могут составлять программы для поиска
минимального и максимального числа из последовательности чисел вводимых с
клавиатуры,
хорошо решают задачи требующие использования циклов и
вложенных циклов, умеют находить сумму, количество, произведение чисел
вводимых с клавиатуры, умеют решать задачи с целочисленной арифметикой.
План урока
№
Этапы урока
п/п
1.
Организационный момент
2.
Создание проблемной ситуации
Техническая
Временная
поддержка
реализация
0,5 минуты
Слайд 1
4 минуты
Слайд 2, 3
3 минуты
Слайд 4, 5,6
2 минуты
4.2 Способы описания массива
Слайд 7-10
4 минуты
4.3 Способы заполнения массива
Слайд 11-12
4 минуты
5.
Выражение решения
Слайд 13 - 17
16 минут
6.
Подведение итога урока
Слайд 18
4 минуты
7.
Домашнее задание
Слайд 19
0,5 минуты
Постановка
3.
учебной
задачи.
Сообщение темы, формулирование
целей урока.
Поиск решения
4.1
4.
Определение
массива.
Характеристики массива.
Всего:
38 минут
(резерв: 2 мин.)
Ход урока
I.
II.
Организационный момент
Создание проблемной ситуации. (Слайд 1)
Учитель. Начнем сегодняшний урок с решения задачи.
Задача. С клавиатуры вводится n чисел (числа могут повторяться). Необходимо
подсчитать количество чисел равных наименьшему числу.
Давайте составим алгоритм решения задачи.
Ученик.
1.
Ввести n (количество вводимых чисел).
2.
Найти наименьшее число.

Ввести число и запомнить его в переменную min.

В цикле пока не просмотрим n чисел делать:

Ввести число и запомнить его в переменную x/

Сравнивать x с min. Если x<min, то записываем в переменную min значение
x.
3.
Сравнить введенные ранее числа со значением min.
А как? Ведь мы не запоминали вводимые числа.
III.
Постановка учебной задачи. Сообщение темы, формулирование целей урока
Учитель. Какой выход из сложившейся ситуации? Или записывать все вводимые
числа на листочек (при небольших значениях n), или нужно где-то сохранять
вводимые числа.
И так, ребята мы подошли к тому, что для решения задачи вам нужно пополнить
багаж знаний. Запишите тему нашего урока: «Одномерные массивы. Описание и
действия над элементами массива». (Слайд 2)
Тема урока известна, давайте сформулируем цели и запишем их на доске. (Слайд
3)
Ученики. (Предполагаемый ответ)
1.
Узнать, что такое массив?
2.
Что можно хранить в массиве?
3.
Для чего он используется?
4.
Как записать в массив число?
5.
Как считать число из массива?
6.
Какие действия можно выполнять над информацией, помещенной в массив?
Учитель на данном этапе помогает ребятам формулировать цели и при
необходимости дополняет ответы учеников.
IV.
Поиск и выражение решения
Определение массива. Характеристики массива. (Слайд 4)
Если работа программы связана с хранением и обработкой большого количества
однотипных переменных, для их представления в программе можно использовать
массивы.
Массив представляет собой совокупность данных одного типа с общим для всех
элементов именем.
Массив
относится
к
структурированным
типам
данных
(упорядоченная
совокупность данных).
Элементы массива пронумерованы, и обратиться к каждому из них можно по
номеру Номера элементов массива иначе называются индексами, а сами
элементы
массива
—
переменными
с
индексами
(индексированными
переменными).
При обращении к элементу массива нужно указать имя массива и индекс того
элемента, с которым вы хотите выполнить действие. Индекс элемента массива
указывается в квадратных скобках после имени массива. Например, массив а
заполнен следующим образом:
-5
8
2
4
-9
-1
6
Значение элемента массива а[3]=2, а а[7]=4. (Слайд 5)
имя массива
а[3]=2
индекс
значение
4
2
1
Обратите внимание — данные в массивах сохраняются только до конца работы
программы. Для их долговременного хранения программа должна записать
данные в файл. Характеристики массива: (Слайд 6)

тип — общий тип всех элементов массива;

размерность (ранг) — количество индексов массива;

диапазон изменения индекса (индексов) — определяет количество элементов
в массиве.
Одномерный массив — это пример массива, в котором элементы нумеруются
одним индексом.
Способы описания массива
(Слайд 7)

Самый простой способ описания массива — это объявить переменную в
разделе описания переменных var с использованием зарезервированного слова
array (т. е. массив). В общем виде описание выглядит так:
var ИмяМассива: array[НижняяГраница.. ВерхняяГраница] of Тип Элементов;
Например:
Const n=100;
var a: array[1..n] of real; { 100 элементов — вещественные числа }
b: array[0..50] of char;
{ 51 элемент — символы }
с: array[-3..4] of boolean; { 8 элементов — логические значения }
x,y: array[1..20] of integer; { два массива x и у содержат по 20 элементов — целые
числа }
Описание массива требуется компилятору для выделения памяти под его
элементы.
(Слайд 8)

Массив также можно описать как типизированную константу в разделе опи-
сания констант. Список значений элементов массива при этом заключается в
круглые скобки.
Например:
const x: array[1..5] of integer=(l,3,5,7,9);
В этом примере не просто выделяется память под массив, а происходит заполнение ячеек заданными значениями по строкам.
(Слайд 9)

При описании массивов также широко используется предварительное
описание типа в разделе описания типов данных. Такая возможность может
потребоваться, например, при использовании имени массива в качестве параметра
процедуры или функции.
Например, для массива а из 100 элементов (вещественные числа, тип real) в
памяти будет выделено 100 ячеек по шесть байт — всего 600 байт.
Type ИмяТипа = аггау[ НижняяГраница.. ВерхняяГраница ] of Тип Элементов;
Var ИмяМассива : ИмяТипа;
Например:
Type z: array[1..20] of integer;
Var x, y: z
(Слайд 10)
Как вы думаете, при выполнении программы обязательно заполнять все ячейки
данными? Почему?
Если ячейка не заполнена то, какое значение в ней находится?
Может ли реальное количество элементов в массиве может быть меньше, чем
указано при описании? Почему?
А может быть больше? Почему?
Вывод. При выполнении программы вовсе не обязательно заполнять все ячейки
данными (в этом случае значение ячейки будет равно нулю), т. е. реальное
количество элементов в массиве может быть меньше, чем указано при описании,
но ни в коем случае не должно быть больше.
Способы заполнения массива
(Слайды 11,12)
Значения элементов массива также можно задать следующими способами:
 при вводе данных с клавиатуры: for i:=1 to n do read (a[i]);
 с помощью датчика случайных чисел.
Заполним массив числами в диапазоне от -3 до 7.
randomize;
for i:=1 to n do a[i]:=random(11)-3;
 присваиванием заданных значений;
Заполним массив четными числами
for i:=1 to n do a[i]:=i*2;
или
for i:=1 to n do begin
readln (x);
if x mod 2=0 then a[i]:=x
 считывая значения элементов из файла: for i:=1 to n do read (f,a[i]);
Вывод элементов массива осуществляется в цикле: for i:=1 to n do write (a[i],’ ‘)
V.
Выражение решения
Действия с одномерными массивами.
(Слайд 13)
Для работы с массивом как единым целым используется имя массива без указания
индекса в квадратных скобках. Массивы могут участвовать только в операциях
отношения «равно», «не равно», и в операторе присваивания. В этом случае
массивы должны иметь одинаковый тип элементов и одинаковое количество
элементов.
Например.
Var A,B:array[1..n] of integer;
Применение допустимых операций даст следующий результат:
A=B-результат истина, если значение каждого элемента массива а равно
соответствующему значению элемента b.
A<>B- результат истина, если хотя бы одно значение элемента массива а не равно
значению соответствующего элемента массива b.
A:=B- все значения элементов массива B присваиваются соответствующим
элементам массива A.
Действия над элементами массива.
(Слайд 14)
Пусть в одномерном массиве а содержится n элементов- целые числа.
 Нахождение
суммы, произведения, среднеарифметического
элементов
массива удовлетворяющих заданным условиям.
Например. Вычислим сумму элементов.
Program z1;
Uses crt;
Const n=10;
Var a:array[1..n] of integer; {описываем массив а}
i, s: integer;
begin
randomize; s:=0;
for i:=1 to n do begin
a[i]:=random(11)-3; {заполняем массив а случайными числами }
write (a[i],’ ‘); {вывожу заполненный массив}
end;
for i:=1 to n do s:=s+a[i]; {находим сумму элементов массива а }
writeln (‘сумма элементов массива =’, s) {выводим ответ }
end.
(Слайд 15)
 Подсчет количества элементов, удовлетворяющих какому-либо условию.
Например, найдем произведение элементов имеющих нечетный индекс.
Program z2;
Uses crt;
Const n=10;
Var a:array[1..n] of integer; {описываем массив а}
i, p: integer;
begin
randomize; p:=1;
for i:=1 to n do begin
a[i]:=random(11)-3; {заполняем массив а случайными числами }
write (a[i],’ ‘); {вывожу заполненный массив}
end;
for i:=1 to n do
if i mod 2<>0 then p:=p*a[i] {находим произведение элементов массива а имеющих
нечетный индекс}
writeln (‘призведение элементов массива =’, s) {выводим ответ }
end.
(Слайд 16)
 Поиск элемента с заданным значением. Найти элемент — это значит выяснить
его номер в массиве.
Например, найдем номер первого из элементов массива а, имеющего значение
равное нулю. Если таких элементов нет, выведем соответствующее сообщение.
Program z2;
Uses crt;
Const n=10;
Var a:array[1..n] of integer; {описываем массив а}
i, p: integer;
begin
randomize; p:=1;
for i:=1 to n do begin
a[i]:=random(11)-3; {заполняем массив а случайными числами }
write (a[i],’ ‘); {вывожу заполненный массив}
end;
i:=1;
repeat
i:=i+1
until (a[i]=0) or (i=n) ; {выход из цикла, когда нашли нужный элемент или массив
закончился}
if a[i]=0 then writeln (‘номер первого нулевого элемента=’, i)
else writeln (‘ таких элементов нет!’);
end.
(Слайд 17)
 Поиск максимального (минимального) элемента и его номера.
Например, в одномерном массиве подсчитает количество элементов равных
минимальному.
Ребята, кто попробует решить эту задачу на доске?
Вызываю к доске ученика пожелавшего решить задачу.А с остальными ребятами
проговариваем алгоритм решения.
1. Описать массив.
2. Заполнить массив.
3. Найти минимальный элемент массива.
4. Подсчитать количество элементов равных минимальному.
For i:= 1 to n do if a[i]=min then k:=k+1;
Рассматриваем решение на доске. Комментируем, исправляем ошибки, если
таковы были.
(Слайд 18)
VI.
Подведение итога урока
А теперь, ребята вернемся к целям урока (которые записаны на доске). Скажите
на все вопросы мы нашли ответы?
Чем ценны массивы?
Ученик. (Предполагаемый ответ) Массивы ценны тем, что:

Индексы элементов массива обеспечивают доступ не к одному, а к
последовательности элементов. Обработка массивов производится при изменении
индексов элементов.

Сразу можно хранить и обрабатывать большое количество однотипных
данных
Каким образом задается описание массива, что в нем указывается?
Каким образом задается обращение к элементу массива?
Почему при описании массива предпочтительнее употреблять константы , а не
указывать размеры массива в явном виде?
(Слайд 19)
VII.
Домашнее задание.
§41, 42 читать, отвечать на вопросы в конце параграфа.
Решить задачи №3, №4 на стр. 227
Использованные источники и литература:
1. Информатика и ИКТ: учебник для 9 класса. / И.Г.Семакин, Л.А.Залогова,
С.В.Русаков, Л.В.Шестакова. - 3-е изд., испр. – М.: БИНОМ. Лаборатория знаний,
2009.
2. Рапаков Г.Г., Turbo Pasccal для студентов и школьников/ Г.Г. Рапаков, С.Ю.
Ржеуцкая. Спб.: БХВ-Петербург, 2007
3. Окулов С.М., Основы программирования/ С. М. Окулов. – М.: БИНОМ.
Лаборатория знаний, 2004.
Заместитель директора по УМР
С.Ф. Кузнецова
Download