Урок по информатике на тему Одномерные массивы 9 класс

Автор публикации:

Дата публикации:

Краткое описание: ...


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

Предмет: информатика.

Класс: 9.

Ключевые слова или опорные понятия. Урок, программирование, массив, таблица, индекс, структурированный тип.

Данная методическая разработка содержит презентацию, в которую включен материал необходимый для изложения темы урока.

Цели урока:

  1. Обучающая - сформировать представление о массиве как о средстве хранения информации; определить эффективность использования массивов при обработке большого количества данных; научится описывать одномерный массив, построить алгоритм работы с массивами.

  2. Развивающая – развитие познавательного интереса, творческой активности учащихся; развить у школьников умения излагать мысли, моделировать ситуацию, планировать свою деятельность.

  3. Мотивационная – побудить интерес к изучению информатики.

  4. Воспитательная умение сотрудничать, толерантность, инициативность, умение добиваться поставленной цели.

Задачи урока:

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

Развивающая – развитие алгоритмического мышления, памяти, внимательности.

Воспитательная – развитие познавательного интереса, логического мышления.

Тип урока: ознакомление с новым материалом

Педагогические технологии: технология сотрудничества, проблемно-поисковый метод, информационно-компьютерные технологии.

Продолжительность занятия – 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. Организация начала занятия.

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

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

Учитель. Начнем сегодняшний урок с решения задачи.

Задача. С клавиатуры вводится n чисел (числа могут повторяться). Необходимо подсчитать количество чисел равных наименьшему числу.

Давайте составим алгоритм решения задачи.

Ученик.

  1. Ввести n (количество вводимых чисел).

  2. Найти наименьшее число.

  • Ввести число и запомнить его в переменную min.

  • В цикле пока не просмотрим n чисел делать:

  • Ввести число и запомнить его в переменную x

  • Сравнивать x с min. Если x<min, то записываем в переменную min значение x.

  1. Сравнить введенные ранее числа со значением min.

А как? Ведь мы не запоминали вводимые числа.

  1. Сообщение темы, формулирование целей урока

Учитель. Какой выход из сложившейся ситуации? Или записывать все вводимые числа на листочек (при небольших значениях n), или нужно где-то сохранять вводимые числа.

И так, ребята мы подошли к тому, что для решения задачи вам нужно пополнить багаж знаний. Запишите тему нашего урока: «Одномерные массивы. Описание и действия над элементами массива». (Слайд 2)

Тема урока известна, давайте сформулируем цели и запишем их на доске. ( Слайд 3)

Ученики. (Предполагаемый ответ)

  1. Узнать, что такое массив?

  2. Что можно хранить в массиве?

  3. Для чего он используется?

  4. Как записать в массив число?

  5. Как считать число из массива?

  6. Какие действия можно выполнять над информацией, помещенной в массив?

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

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

Определение массива. Характеристики массива. ( Слайд 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)

  • Поиск максимального (минимального) элемента и его номера.

Например, в одномерном массиве подсчитает количество элементов равных минимальному.

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

А с остальными ребятами проговариваем алгоритм решения.

    1. Описать массив.

    2. Заполнить массив.

    3. Найти минимальный элемент массива.

    4. Подсчитать количество элементов равных минимальному.

For i:= 1 to n do if a[i]=min then k:=k+1;

Рассматриваем решение на доске. Комментируем, исправляем ошибки, если таковы были.

  • Сортировка элементов массива.

  • Сдвиг, удаление и вставка элементов массива.

Последние перечисленные действия над элементами массива мы будем рассматривать позже.

(Слайд 18)

  1. Подведение итога урока. А теперь, ребята вернемся к целям урока (которые записаны на доске). Скажите на все вопросы мы нашли ответы?

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

Ученик. (Предполагаемый ответ) Массивы ценны тем, что:

  • Индексы элементов массива обеспечивают доступ не к одному, а к последовательности элементов. Обработка массивов производится при изменении индексов элементов.

  • Сразу можно хранить и обрабатывать большое количество однотипных данных

Каким образом задается описание массива, что в нем указывается?

Каким образом задается обращение к элементу массива?

Почему при описании массива предпочтительнее употреблять константы , а не указывать размеры массива в явном виде?

(Слайд 19)

  1. Домашнее задание.



§41, 42 читать, отвечать на вопросы в конце параграфа.

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

Использованные источники и литература

1. Информатика и ИКТ: учебник для 9 класса. / И.Г.Семакин, Л.А.Залогова, С.В.Русаков, Л.В.Шестакова. - 3-е изд., испр. – М.: БИНОМ. Лаборатория знаний, 2009.

2. Рапаков Г.Г., Turbo Pasccal для студентов и школьников/ Г.Г. Рапаков, С.Ю. Ржеуцкая. Спб.: БХВ-Петербург, 2007

3. Окулов С.М., Основы программирования/ С. М. Окулов. – М.: БИНОМ. Лаборатория знаний, 2004.