Вы находитесь на странице: 1из 9

Тема урока: «Одномерные массивы.

Обработка массива»
Преподаватель Левко Виолета
Предмет – информатика.
Группа S-11
Дата 07.11.2012
Тип урока: урок ознакомления с новым материалом
Цели урока
1. Обучающая - сформировать представление о массиве как о средстве хранения информации; определить эффективность
использования массивов при обработке большого количества данных; научится описывать одномерный массив,
построить алгоритм работы с массивами.
2. Развивающая – развитие познавательного интереса, творческой активности учащихся; развить у школьников умения
излагать мысли, моделировать ситуацию, планировать свою деятельность.
3. Мотивационная – побудить интерес к изучению информатики.
4. Воспитательная умение сотрудничать, толерантность, инициативность, умение добиваться поставленной цели.
Специфические компетенции
CS1 Формирование научного восприятия компонентов информатизации современного общества
CS5 Применение методов алгоритмизации, формализации, анализа, синтеза и программирования для
решения задач связанных с автоматизированной обработкой информации.
CS6 Запись часто встречаемых алгоритмов в виде программ на языке программирования
высокого уровня.
Субкомпетенции
• Аргументация необходимости структурирования данных.
• Распознавание и использование металингвистических формул и синтаксических диаграмм объявлений
изучаемых типов данных.
• Обработка структурированных данных.
• Выбор структур данных, адекватных для решения поставленной задачи.
Операциональные цели
О1 - Использовать терминологию Паскаль
О2- определять металингвистические формулы и синтаксические диаграммы для объявления типа данных массив
О3- Объяснять способы доступа к компонентам массива
О4- Применять различные операторы для обработки компонентов массива
О5- разрабатывать программы, в которых используется массив
Педагогические технологии: технология сотрудничества, проблемно-поисковый метод, информационно-
компьютерные технологии, алгоритмизация, проблематизация.
Данная методическая разработка содержит презентацию, в которую включен материал необходимый для
изложения темы урока.
Формы деятельности на уроке:
 Фронтальная беседа
 Работа за компьютером попарно
 Демонстрация презентации всему классу
 Обсуждение материала всем классом и последующее индивидуальное выполнение заданий
Методы оценивания: устный опрос
Оборудование: компьютер, проектор, обычная доска, мультимедиа презентация «Одномерные массивы.
Обработка массива», созданная в MS PowerPoint.

1
План урока.

  Части- блоки урока Техническая Временная


поддержка реализация
1 Организационный момент: приветствие
  0,5 минут
2. Создание проблемной ситуации. Постановка
Слайд 1,2,3,4 4 минута
задачи. Решение кросворда
3. Сообщение темы, формулирование целей
урока. Слайд 5,6 4 минуты

4. Ознакомление с новым материалом.


4.1 Определение массива. Характеристики Слайд
2 минут
массива. 7,8,9,10,11,12,13
4.2 Способы описания массива Слайд 14 4 минуты
4.3 Способы заполнения массива Слайд 15,16 4 минут
4.4 Действия с одномерными массивами.
Слайд 17-25 18 минут
Решение задач.
6. Подведение итога урока Слайд 26 4 минуты
7. Домашнее задание. Слайд 27 0,5 минут
  Всего: 43 минут
 
Запас 2 минуты

Хода урока

I. Организация начала занятия.


Учитель приветствует детей, отмечает отсутствующих на уроке.

II. Создание проблемной ситуации. Постановка задачи. (Слайд 1)


Учитель. Начнем сегодняшний урок с решения задачи.
Задача. С клавиатуры вводится n чисел (числа могут повторяться). Необходимо подсчитать количество
чисел равных наименьшему числу.
Давайте составим алгоритм решения задачи.
Ученик.
1. Ввести n (количество вводимых чисел).
2. Найти наименьшее число.
 Ввести число и запомнить его в переменную min.
 В цикле пока не просмотрим n чисел делать:
 Ввести число и запомнить его в переменную x
 Сравнивать x с min. Если x<min, то записываем в переменную min значение x.

2
3. Сравнить введенные ранее числа со значением min.
А как? Ведь мы не запоминали вводимые числа.
III. Сообщение темы, формулирование целей урока
Учитель. Какой выход из сложившейся ситуации? Или записывать все вводимые числа на листочек
(при небольших значениях n), или нужно где-то сохранять вводимые числа.
И так, ребята мы подошли к тому, что для решения задачи вам нужно пополнить багаж знаний.
Запишите тему нашего урока: «Одномерные массивы. Описание и действия над элементами массива».
(Слайд 2)
Тема урока известна, давайте сформулируем цели и запишем их на доске.( Слайд 3)
Ученики. (Предполагаемый ответ)
1. Узнать, что такое массив?
2. Что можно хранить в массиве?
3. Для чего он используется?
4. Как записать в массив число?
5. Как считать число из массива?
6. Какие действия можно выполнять над информацией, помещенной в массив?

Учитель на данном этапе помогает ребятам формулировать цели и при необходимости дополняет
ответы учеников.

IV. Ознакомление с новым материалом

Определение массива. Характеристики массива. ( Слайд 4)


Если работа программы связана с хранением и обработкой большого количества однотипных
переменных, для их представления в программе можно использовать массивы.
Массив представляет собой совокупность данных одного типа с общим для всех элементов именем.
Массив относится к структурированным типам данных (упорядоченная совокупность данных).
Элементы массива пронумерованы, и обратиться к каждому из них можно по номеру Номера элементов
массива иначе называются индексами, а сами элементы массива — переменными с индексами
(индексированными переменными).
При обращении к элементу массива нужно указать имя массива и индекс того элемента с которым вы
хотите выполнить действие. Индекс элемента массива указывается в квадратных скобках после имени
массива. Например, массив а заполнен следующим образом:
-5 8 2 4 -9 -1 6 4 2 1
Значение элемента массива а[3]=2, а а[7]=4. (Слайд 5)

а[3]=2
имя массива
3
значение
индекс
Обратите внимание — данные в массивах сохраняются только до конца работы программы. Для их
долговременного хранения программа должна записать данные в файл. Характеристики массива:
(Слайд 6,7,8,9,10)
 тип — общий тип всех элементов массива;
 размерность (ранг) — количество индексов массива;
 диапазон изменения индекса (индексов) — определяет количество элементов в массиве.
Одномерный массив — это пример массива, в котором элементы нумеруются одним индексом.
Способы описания массива
(Слайд 11)
 Самый простой способ описания массива — это объявить переменную в разделе описания
переменных 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 элементов — целые числа }
Описание массива требуется компилятору для выделения памяти под его элементы.
(Слайд 12)
Учащиеся совместно с учителем выполняют задание 8 на странице 13
(слайд 13)
 Массив также можно описать как типизированную константу в разделе описания констант. Список
значений элементов массива при этом заключается в круглые скобки.
Например:
const x: array[1..5] of integer=(l,3,5,7,9);
В этом примере не просто выделяется память под массив, а происходит заполнение ячеек заданными
значениями по строкам.
(Слайд 14)
 При описании массивов также широко используется предварительное описание типа в разделе
описания типов данных. Такая возможность может потребоваться, например, при использовании имени
массива в качестве параметра процедуры или функции.

4
Например, для массива а из 100 элементов (вещественные числа, тип real) в памяти будет выделено 100
ячеек по шесть байт — всего 600 байт.
Type ИмяТипа = аггау[ НижняяГраница.. ВерхняяГраница ] of Тип Элементов;
Var ИмяМассива : ИмяТипа;
Например:
Type z: array[1..20] of integer;

Var x, y: z

(Слайд 15)

Как вы думаете, при выполнении программы обязательно заполнять все ячейки данными? Почему?
Если ячейка не заполнена то, какое значение в ней находится? Может ли реальное количество
элементов в массиве может быть меньше, чем указано при описании? Почему? А может быть
больше? Почему?

Заслушиваются ответы учеников. Обсуждаем и делаем выводы.

Вывод. При выполнении программы вовсе не обязательно заполнять все ячейки данными (в этом
случае значение ячейки будет равно нулю), т. е. реальное количество элементов в массиве может быть
меньше, чем указано при описании, но ни в коем случае не должно быть больше.

Способы заполнения массива

(Слайды 16,17)

Значения элементов массива также можно задать следующими способами:

 при вводе данных с клавиатуры: 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);

5
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],’ ‘)
Действия с одномерными массивами.
(Слайд 18)

Для работы с массивом как единым целым используется имя массива без указания индекса в
квадратных скобках. Массивы могут участвовать только в операциях отношения «равно», «не равно», и
в операторе присваивания. В этом случае массивы должны иметь одинаковый тип элементов и
одинаковое количество элементов.
Например.
Var A,B:array[1..n] of integer;
Применение допустимых операций даст следующий результат:
A=B-результат истина, если значение каждого элемента массива а равно соответствующему значению
элемента b.
A<>B- результат истина, если хотя бы одно значение элемента массива а не равно значению
соответствующего элемента массива b.
A:=B- все значения элементов массива B присваиваются соответствующим элементам массива A.

Действия над элементами массива.


(Слайд 19)

Пусть в одномерном массиве а содержится 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;
6
for i:=1 to n do s:=s+a[i]; {находим сумму элементов массива а }
writeln (‘сумма элементов массива =’, s) {выводим ответ }
end.
(Слайд 20
 Подсчет количества элементов, удовлетворяющих какому-либо условию.
Например, найдем произведение элементов имеющих нечетный индекс.
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.
(Слайд 21)
 Поиск элемента с заданным значением. Найти элемент — это значит выяснить его номер в массиве.
Например, найдем номер первого из элементов массива а, имеющего значение равное нулю. Если
таких элементов нет, выведем соответствующее сообщение.
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],’ ‘); {вывожу заполненный массив}
7
end;
i:=1;
repeat
i:=i+1
until (a[i]=0) or (i=n) ; {выход из цикла, когда нашли нужный элемент или массив
закончился}
if a[i]=0 then writeln (‘номер первого нулевого элемента=’, i)
else writeln (‘ таких элементов нет!’);
end.
(Слайд 22)
 Поиск максимального (минимального) элемента и его номера.
Например, в одномерном массиве подсчитает количество элементов равных минимальному.
Ребята, кто попробует решить эту задачу на доске? Вызываю к доске ученика пожелавшего решить
задачу.
А с остальными ребятами проговариваем алгоритм решения.
1. Описать массив.
2. Заполнить массив.
3. Найти минимальный элемент массива.
4. Подсчитать количество элементов равных минимальному.
For i:= 1 to n do if a[i]=min then k:=k+1;
Рассматриваем решение на доске. Комментируем, исправляем ошибки, если таковы были.
 Сортировка элементов массива.
 Сдвиг, удаление и вставка элементов массива.
Последние перечисленные действия над элементами массива мы будем рассматривать позже.
(Слайд 23)
V. Подведение итога урока. А теперь, ребята вернемся к целям урока (которые записаны на доске).
Скажите на все вопросы мы нашли ответы?

Чем ценны массивы?


Ученик. (Предполагаемый ответ) Массивы ценны тем, что:
 Индексы элементов массива обеспечивают доступ не к одному, а к последовательности
элементов. Обработка массивов производится при изменении индексов элементов.
 Сразу можно хранить и обрабатывать большое количество однотипных данных
Каким образом задается описание массива, что в нем указывается?
Каким образом задается обращение к элементу массива?

8
Почему при описании массива предпочтительнее употреблять константы , а не указывать размеры
массива в явном виде?
(Слайд 24)
VI. Домашнее задание.

§1.1читать.
Решить задачи №3, №4 на стр. 12