- Учителю
- Урок по информатике на тему Одномерные массивы 9 класс
Урок по информатике на тему Одномерные массивы 9 класс
Тема урока: «Одномерные массивы. Обработка массива»
Предмет: информатика.
Класс: 9.
Ключевые слова или опорные понятия. Урок, программирование, массив, таблица, индекс, структурированный тип.
Данная методическая разработка содержит презентацию, в которую включен материал необходимый для изложения темы урока.
Цели урока:
-
Обучающая - сформировать представление о массиве как о средстве хранения информации; определить эффективность использования массивов при обработке большого количества данных; научится описывать одномерный массив, построить алгоритм работы с массивами.
-
Развивающая - развитие познавательного интереса, творческой активности учащихся; развить у школьников умения излагать мысли, моделировать ситуацию, планировать свою деятельность.
-
Мотивационная - побудить интерес к изучению информатики.
-
Воспитательная умение сотрудничать, толерантность, инициативность, умение добиваться поставленной цели.
Задачи урока:
Учебная - дать определение массива, как структурированного типа данных, рассказать о способах описания и заполнения массива, действиях над элементами массива.
Развивающая - развитие алгоритмического мышления, памяти, внимательности.
Воспитательная - развитие познавательного интереса, логического мышления.
Тип урока: ознакомление с новым материалом
Педагогические технологии: технология сотрудничества, проблемно-поисковый метод, информационно-компьютерные технологии.
Продолжительность занятия - 45 минут.
Оборудование: компьютер, проектор, обычная доска, интерактивная доска, мультимедиа презентация «Одномерные массивы. Обработка массива», созданная в MS PowerPoint.
В ходе создания методической разработки урока, презентации использовались операционная система Windows XP и следующие программные средства:
-
Microsoft Office Word 2007 - набор и редактирование текста;
-
Microsoft Office PowerPoint 2007 - создание, обработка, компоновка презентации;
-
Microsoft Office Picture Manager - обработка графики для презентации.
На момент проведения урока учащиеся могут составлять программы для поиска минимального и максимального числа из последовательности чисел вводимых с клавиатуры, хорошо решают задачи требующие использования циклов и вложенных циклов, умеют находить сумму, количество, произведение чисел вводимых с клавиатуры, умеют решать задачи с целочисленной арифметикой.
План урока.
Части- блоки урока
Техническая поддержка
Временная реализация
1
Организационный момент: приветствие
1 минута
2.
Создание проблемной ситуации. Постановка задачи.
Слайд 1
5 минут
3.
Сообщение темы, формулирование целей урока.
Слайд 2, 3
3 минуты
4.
Ознакомление с новым материалом.
4.1 Определение массива. Характеристики массива.
Слайд 4, 5,6
3 минут
4.2 Способы описания массива
Слайд 7- 10
5 минут
4.3 Способы заполнения массива
Слайд 11, 12
4 минуты
4.4 Действия с одномерными массивами. Решение задач.
Слайд 13 - 17
16 минут
6.
Подведение итога урока
Слайд 18
4 минуты
7.
Домашнее задание.
Слайд 19
1 минута
Всего:
42 минуты
Запас 3 минуты
Хода урока
-
Организация начала занятия.
Учитель приветствует детей, отмечает отсутствующих на уроке.
-
Создание проблемной ситуации. Постановка задачи. (Слайд 1)
Учитель. Начнем сегодняшний урок с решения задачи.
Задача. С клавиатуры вводится n чисел (числа могут повторяться). Необходимо подсчитать количество чисел равных наименьшему числу.
Давайте составим алгоритм решения задачи.
Ученик.
-
Ввести n (количество вводимых чисел).
-
Найти наименьшее число.
-
Ввести число и запомнить его в переменную min.
-
В цикле пока не просмотрим n чисел делать:
-
Ввести число и запомнить его в переменную x
-
Сравнивать x с min. Если x<min, то записываем в переменную min значение x.
-
Сравнить введенные ранее числа со значением min.
А как? Ведь мы не запоминали вводимые числа.
-
Сообщение темы, формулирование целей урока
Учитель. Какой выход из сложившейся ситуации? Или записывать все вводимые числа на листочек (при небольших значениях n), или нужно где-то сохранять вводимые числа.
И так, ребята мы подошли к тому, что для решения задачи вам нужно пополнить багаж знаний. Запишите тему нашего урока: «Одномерные массивы. Описание и действия над элементами массива». (Слайд 2)
Тема урока известна, давайте сформулируем цели и запишем их на доске. ( Слайд 3)
Ученики. (Предполагаемый ответ)
-
Узнать, что такое массив?
-
Что можно хранить в массиве?
-
Для чего он используется?
-
Как записать в массив число?
-
Как считать число из массива?
-
</ Какие действия можно выполнять над информацией, помещенной в массив?
Учитель на данном этапе помогает ребятам формулировать цели и при необходимости дополняет ответы учеников.
-
Ознакомление с новым материалом
Определение массива. Характеристики массива. ( Слайд 4)
Если работа программы связана с хранением и обработкой большого количества однотипных переменных, для их представления в программе можно использовать массивы.
Массив представляет собой совокупность данных одного типа с общим для всех элементов именем.
Массив относится к структурированным типам данных (упорядоченная совокупность данных).
Элементы массива пронумерованы, и обратиться к каждому из них можно по номеру Номера элементов массива иначе называются индексами, а сами элементы массива - переменными с индексами (индексированными переменными).
При обращении к элементу массива нужно указать имя массива и индекс того элемента с которым вы хотите выполнить действие. Индекс элемента массива указывается в квадратных скобках после имени массива. Например, массив а заполнен следующим образом:
-
-5
8
2
4
-9
-1
6
4
2
1
Значение элемента массива а[3]=2, а а[7]=4. (Слайд 5)
а[3]=2
Обратите внимание - данные в массивах сохраняются только до конца работы программы. Для их долговременного хранения программа должна записать данные в файл. Характеристики массива: (Слайд 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],' ')
Действия с одномерными массивами.
(Слайд 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)
-
Поиск максимального (минимального) элемента и его номера.
Например, в одномерном массиве подсчитает количество элементов равных минимальному.
Ребята, кто попробует решить эту задачу на доске? Вызываю к доске ученика пожелавшего решить задачу.
А с остальными ребятами проговариваем алгоритм решения.
-
Описать массив.
-
Заполнить массив.
-
Найти минимальный элемент массива.
-
Подсчитать количество элементов равных минимальному.
For i:= 1 to n do if a[i]=min then k:=k+1;
Рассматриваем решение на доске. Комментируем, исправляем ошибки, если таковы были.
-
Сортировка элементов массива.
-
Сдвиг, удаление и вставка элементов массива.
Последние перечисленные действия над элементами массива мы будем рассматривать позже.
(Слайд 18)
-
Подведение итога урока. А теперь, ребята вернемся к целям урока (которые записаны на доске). Скажите на все вопросы мы нашли ответы?
Чем ценны массивы?
Ученик. (Предполагаемый ответ) Массивы ценны тем, что:
-
Индексы элементов массива обеспечивают доступ не к одному, а к последовательности элементов. Обработка массивов производится при изменении индексов элементов.
-
Сразу можно хранить и обрабатывать большое количество однотипных данных
Каким образом задается описание массива, что в нем указывается?
Каким образом задается обращение к элементу массива?
Почему при описании массива предпочтительнее употреблять константы , а не указывать размеры массива в явном виде?
(Слайд 19)
-
Домашнее задание.
§41, 42 читать, отвечать на вопросы в конце параграфа.
Решить задачи №3, №4 на стр. 227
Использованные источники и литература
1. Информатика и ИКТ: учебник для 9 класса. / И.Г.Семакин, Л.А.Залогова, С.В.Русаков, Л.В.Шестакова. - 3-е изд., испр. - М.: БИНОМ. Лаборатория знаний, 2009.
2. Рапаков Г.Г., Turbo Pasccal для студентов и школьников/ Г.Г. Рапаков, С.Ю. Ржеуцкая. Спб.: БХВ-Петербург, 2007
3. Окулов С.М., Основы программирования/ С. М. Окулов. - М.: БИНОМ. Лаборатория знаний, 2004.