Главная / Информатика / Конспект урока информатики «Одномерные массивы. Обработка массива» 9 класс

Конспект урока информатики «Одномерные массивы. Обработка массива» 9 класс

Название документа Одномерные массивы. Обработка массива.docx

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

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

Класс 9.

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

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

Цели урока

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

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

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

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

Задачи урока

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

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

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

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

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

Продолжительность занятия – 40 минут.

Оборудование: компьютер, проектор, обычная доска, интерактивная доска, мультимедиа презентация «Одномерные массивы. Обработка массива», созданная в MS PowerPoint.

В ходе создания методической разработки урока, презентации использовались операционная система Windows XP и следующие программные средства:

  • Microsoft Offict Word 2007 - набор и редактирование текста;

  • Microsoft Office PowerPoint 2007 - создание, обработка, компоновка презентации;

  • Microsoft Office Picture Manager - обработка графики для презентации.

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

План урока.

 

Части- блоки урока

Техническая поддержка

Временная реализация

1

Организационный момент: приветствие

 

0,5 минут

2.

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

Слайд 1

4 минута

3.

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

Слайд 2, 3

3 минуты

4.

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

4.1 Определение массива. Характеристики массива.

Слайд 4, 5,6

2 минут

4.2 Способы описания массива

Слайд 7- 10

4 минуты

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

Слайд 11, 12

4 минут


4.4 Действия с одномерными массивами. Решение задач.

Слайд 13 - 17

16 минут

6.

Подведение итога урока

Слайд 18

4 минуты

7.

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

Слайд 19

0,5 минут

 

Всего:

 

38 минут

Запас 2 минуты



Хода урока

  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.

Название документа Одномерные массивы. Обработка массива.pptx

Задача. С клавиатуры вводится n чисел (числа могут повторяться). Необходимо п...
Тема урока: «Одномерные массивы. Обработка массива»
Цели:
Массив представляет собой совокупность данных одного типа с общим для всех эл...
Значение элемента массива а[3]=2, а[7]=4. Данные в массивах сохраняются тольк...
Характеристики массива: тип — общий тип всех элементов массива; размерность (...
Способы описания массива Например: Const n=100; var a: array[1..n] of real; {...
Способы описания массива Массив можно описать как типизированную константу. Н...
Способы описания массива Предварительное описание типа в разделе описания тип...
Как вы думаете, при выполнении программы обязательно заполнять все ячейки дан...
Способы заполнения массива 1. Ввод данных с клавиатуры: for i:=1 to n do read...
Способы заполнения массива 4. Присваивание заданных значений; Например. Запол...
Действия с одномерными массивами Например. Var A, B: array[1..n] of integer; ...
Действия над элементами массива. Вычислим сумму элементов. … Const n=10; Var ...
Например: найти произведение элементов имеющих нечетный индекс. … Const n=10;...
Например, найти номер первого из элементов массива A, имеющего значение равно...
Поиск максимального (минимального) элемента и его номера. Например, в одномер...
Подведение итогов урока Чем ценны массивы? Каким образом задается описание ма...
Домашнее задание §41, 42 читать, отвечать на вопросы в конце параграфа. Решит...
1 из 19

Описание презентации по отдельным слайдам:

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

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

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

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

№ слайда 3 Цели:
Описание слайда:

Цели:

№ слайда 4 Массив представляет собой совокупность данных одного типа с общим для всех элеме
Описание слайда:

Массив представляет собой совокупность данных одного типа с общим для всех элементов именем. Массив относится к структурированным типам данных (упорядоченная совокупность данных). Номера элементов массива иначе называются индексами, а сами элементы массива — переменными с индексами (индексированными переменными).

№ слайда 5 Значение элемента массива а[3]=2, а[7]=4. Данные в массивах сохраняются только д
Описание слайда:

Значение элемента массива а[3]=2, а[7]=4. Данные в массивах сохраняются только до конца работы программы. Для их долговременного хранения программа должна записать данные в файл. а[3]=2 индекс имя массива значение -5 8 2 4 -9 -1 6 4 2 1

№ слайда 6 Характеристики массива: тип — общий тип всех элементов массива; размерность (ран
Описание слайда:

Характеристики массива: тип — общий тип всех элементов массива; размерность (ранг) — количество индексов массива; диапазон изменения индекса (индексов) — определяет количество элементов в массиве

№ слайда 7 Способы описания массива Например: Const n=100; var a: array[1..n] of real; { 10
Описание слайда:

Способы описания массива Например: 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 элементов — целые числа } var ИмяМассива: array [НижняяГраница.. ВерхняяГраница] of Тип Элементов;

№ слайда 8 Способы описания массива Массив можно описать как типизированную константу. Напр
Описание слайда:

Способы описания массива Массив можно описать как типизированную константу. Например: const x: array[1..5] of integer=(l,3,5,7,9); В этом примере не просто выделяется память под массив, а происходит заполнение ячеек заданными значениями по строкам.

№ слайда 9 Способы описания массива Предварительное описание типа в разделе описания типов
Описание слайда:

Способы описания массива Предварительное описание типа в разделе описания типов данных. Например. Type z: array[1..20] of integer; Var x, y: z Type ИмяТипа = аггау [НижняяГраница.. ВерхняяГраница ] of Тип Элементов; Var ИмяМассива : ИмяТипа;

№ слайда 10 Как вы думаете, при выполнении программы обязательно заполнять все ячейки данным
Описание слайда:

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

№ слайда 11 Способы заполнения массива 1. Ввод данных с клавиатуры: for i:=1 to n do read (a
Описание слайда:

Способы заполнения массива 1. Ввод данных с клавиатуры: for i:=1 to n do read (a[i]); 2. Ввод данных с помощью датчика случайных чисел. Например. Заполним массив числами в диапазоне от -3 до 7. randomize; for i:=1 to n do a[i]:=random(11)-3; 3. Считывая значения элементов из файла: for i:=1 to n do read (f, a[i]);

№ слайда 12 Способы заполнения массива 4. Присваивание заданных значений; Например. Заполним
Описание слайда:

Способы заполнения массива 4. Присваивание заданных значений; Например. Заполним массив четными числами 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 write (a[i],’ ‘)

№ слайда 13 Действия с одномерными массивами Например. Var A, B: array[1..n] of integer; Выр
Описание слайда:

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

№ слайда 14 Действия над элементами массива. Вычислим сумму элементов. … Const n=10; Var a:a
Описание слайда:

Действия над элементами массива. Вычислим сумму элементов. … 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 Например: найти произведение элементов имеющих нечетный индекс. … Const n=10; Va
Описание слайда:

Например: найти произведение элементов имеющих нечетный индекс. … 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 Например, найти номер первого из элементов массива A, имеющего значение равное н
Описание слайда:

Например, найти номер первого из элементов массива A, имеющего значение равное нулю. Если таких элементов нет, вывести соответствующее сообщение. 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 Поиск максимального (минимального) элемента и его номера. Например, в одномерном
Описание слайда:

Поиск максимального (минимального) элемента и его номера. Например, в одномерном массиве подсчитать количество элементов равных минимальному. Действия над элементами массива.

№ слайда 18 Подведение итогов урока Чем ценны массивы? Каким образом задается описание масси
Описание слайда:

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

№ слайда 19 Домашнее задание §41, 42 читать, отвечать на вопросы в конце параграфа. Решить з
Описание слайда:

Домашнее задание §41, 42 читать, отвечать на вопросы в конце параграфа. Решить задачи №3, №4 на стр. 227

Название документа автор.docx

Завялик Оксана Петровна,

учитель информатики,

высшая категория,

МОУ гимназия №10 ЛИК,

г. Невинномысска Ставропольского края,

e-mail: oks_petrovna@mail.ru



Конспект урока информатики «Одномерные массивы. Обработка массива» 9 класс
  • Информатика
Описание:

Цели урока

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

Задачи урока
Учебная – дать определение массива, как структурированного типа данных, рассказать о способах описания и заполнения массива, действиях над элементами массива.
Развивающая – развитие алгоритмического мышления, памяти, внимательности.
Воспитательная – развитие познавательного интереса, логического мышления.
Тип урока:   ознакомление с новым материалом
Педагогические технологии: технология сотрудничества, проблемно-поисковый метод, информационно-компьютерные технологии.
Продолжительность занятия – 40 минут.
Оборудование: компьютер, проектор, обычная доска, интерактивная доска, мультимедиа презентация «Одномерные массивы. Обработка массива», созданная в MS PowerPoint.
В ходе создания методической разработки урока, презентации  использовались операционная система Windows XP и следующие программные средства:

  • Microsoft Offict Word 2007             - набор и редактирование текста;
  • Microsoft Office PowerPoint 2007   - создание, обработка, компоновка презентации;
  • Microsoft Office Picture Manager      - обработка графики для презентации.

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

Части- блоки урока

Техническая поддержка

Временная реализация

1

Организационный момент: приветствие

 

0,5  минут

2.

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

Слайд 1

4 минута

3.

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

Слайд 2, 3

3  минуты

4.

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

4.1 Определение массива. Характеристики массива.

Слайд 4, 5,6

2 минут

4.2 Способы описания массива

Слайд 7- 10

4 минуты

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

Слайд 11, 12

4  минут

4.4 Действия с одномерными массивами. Решение задач.

Слайд 13 - 17

16  минут

6.

Подведение итога урока

Слайд 18

4 минуты

7.

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

Слайд 19

0,5 минут

 

Всего:

 

38  минут
Запас 2 минуты

Хода урока

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

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

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

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

Ученик
  • Ввести n (количество вводимых чисел).
  • Найти  наименьшее число.
  • Ввести число и запомнить его в переменную min.
  • В цикле пока не просмотрим n чисел делать:
  • Ввести число и запомнить его в переменную x/
  • Сравнивать x с 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 tden 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 tden 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 tden writeln (‘номер первого нулевого элемента=’, i)
               else writeln (‘ таких элементов нет!’);
end.
(Слайд 17)

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

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

    • Описать массив.
    • Заполнить массив.
    • Найти минимальный элемент массива.
    • Подсчитать количество элементов равных минимальному.

For i:= 1 to n do if a[i]=min tden k:=k+1;
Рассматриваем решение на доске. Комментируем, исправляем ошибки, если таковы были.

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

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

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

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

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

Каким образом задается описание массива, что в нем указывается?
Каким образом задается обращение к элементу массива?
Почему при описании массива предпочтительнее употреблять константы, а не указывать размеры массива в явном виде?
(Слайд 19)

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

§41, 42 читать, отвечать на вопросы в конце параграфа.
Решить задачи №3, №4 на стр. 227
Использованные источники и литература
1. Информатика и ИКТ: учебник для 9 класса. / И.Г.Семакин, Л.А.Залогова, С.В.Русаков, Л.В.Шестакова. - 3-е изд., испр. – М.: БИНОМ. Лаборатория знаний, 2009.
2.  Рапаков Г.Г., Turbo Pasccal для студентов и школьников/ Г.Г. Рапаков, С.Ю. Ржеуцкая. Спб.: БХВ-Петербург, 2007
3. Окулов С.М., Основы программирования/ С. М. Окулов. – М.: БИНОМ. Лаборатория знаний, 2004.

Автор Завялик Оксана Петровна
Дата добавления 13.07.2011
Раздел Информатика
Подраздел
Просмотров 9160
Номер материала 550
Скачать свидетельство о публикации

Оставьте свой комментарий:

Введите символы, которые изображены на картинке:

Получить новый код
* Обязательные для заполнения.


Комментарии:

↓ Показать еще коментарии ↓