37-38урок, 9 класс
Учитель:Брух Т.В.
Дата:_________
Тема урока: «Одномерные массивы»
Целиурока:
· познакомитьучащихся с определением массива, индекса;
· показатьестественность использования циклов при обработке массивов;
· продемонстрироватьпреимущество использования массивов при решении некоторых типов задач;
· показатьправила описания массивов в среде Turbo Pascal и продемонстрировать простейшиеалгоритмы на массиве (поиск наибольшего, поиск заданного элемента и т.д.)
Задачи:
· Учащиесядолжны знать основные типы данных и операции над ними, структуру условного ициклических операторов и их особенности.
· Учащиесядолжны уметь формулировать алгоритмы (линейные, ветвящиеся и циклические)словесно, записывать их в виде блок-схем, и программ, анализировать простыеблок-схемы и программы
Ход урока
1. Организационный момент. Проверка готовности учащихся к уроку.Сообщение темы и цели занятия.
2. Проверка домашнего задания – три слова тыква, эри, кереки
3.Объяснение нового материала (презентация).
1. Определениемассив и индекса (слайд № 2).
Массив – группаэлементов одного типа, объединенных под общим именем.
Индекс – что-то(чаще всего номер), что позволяет отличать элементы массива один от другого иобращаться к ним.
2. Примерыреальных объектов, которые можно представить в виде массива, обсуждение почемуэто так:
— Почемукнигу можно считать “массивом”? Что в этом случае будет элементом массива, ачто — индексом? (слайд № 3)
Ответ: книгасостоит из множества однотипных элементов – страниц, у каждой страницы есть номер(индекс), все страницы объединены под одним названием (название книги)
— Почемудом можно считать “массивом”? Что в этом случае будет элементом массива, а что- индексом? (слайд №4)
Ответ: домусоответствует один почтовый адрес (город, улица, номер). Элементами дома можносчитать квартиры, у каждой из которых есть номер (индекс).
— Почемушахматную доску можно считать массивом? Что в этом случае будет элементоммассива, а что — индексом? (слайд № 5)
Ответ: доскасостоит из клеток, каждая клетка обозначается буквой и цифрой (двойной индекс).
— Почемуфутбольную команду можно считать массивом? Что в этом случае будет элементоммассива, а что — индексом? (слайд №6)
Ответ: командасостоит из нескольких людей, у каждого из них есть номер (индекс).
3. Правилаописания массивов на языке Turbo Pascal (слайд № 7).
Массивыописываются в разделе описания переменных. Общий вид описания:
<имямассива>: array[<начальный индекс>..<конечный индекс>] of <типэлемента>;
Примеры:
A : array [1..10] of real
Создается массив издействительных чисел (real), снумерацией от 1 до 10 (всего 10 элементов).
4. Примерыописания массивов (слайд № 8).
M : array [-5..5]of integer;
Сколько элементовв этом массиве? Какого они типа? Как они нумеруются?
Z : array [-8..-1] of integer
Сколько элементовв этом массиве? Какого они типа? Как они нумеруются?
Mass : array [5..15] of integer
Сколько элементовв этом массиве? Какого они типа? Как они нумеруются?
5. Использованиеэлементов массива в выражениях внутри программы (слайд № 9)
Для использованияэлемента указывается имя массива и в квадратных скобках индекс этого элемента.
Примеры:
Read(A[1]);
A[3]:=(2 * x + 6)mod 4;
A[4]:=(A[1]+A[2]) div A[3];
Допустимыеоперации определяются типом элемента (элемент массива ничем не отличается от обычнойпеременной, кроме особенного написания имени).
6. Естественностьиспользования циклов при операциях с массивами (обсуждение решения задачи,слайды № 10, № 11).
Пример. Опишитеалгоритм доставки свежего номера газеты во все квартиры дома, если квартиры нумеруютсяот 1 до 100.
7. Примерыопераций с массивами на языке Turbo Pascal (слайд №12).
Пусть массивописан так:
A : array [1..10] of real
Тогда для вводамассива можно использовать цикл:
For i:=1 to 10 doread( A[i] );
Вопрос:почему не repeat или while?
Вопрос:как будет выглядеть вывод всех элементов массива? Вывод первой половинымассива?
Вопрос:как изменится ввод массива, если описание будет таким:
A : array [-8..8]of integer;
8. Преимуществаиспользования массивов в отдельных задачах (обсуждение неоптимального решениязадачи нахождения наибольшего числа из набора заданных, слайды № 13, 14),
Задача. Дано 5целых чисел. Опишите алгоритм (программу) нахождения наибольшего среди них.
Пример программыбез использования массивов
program Maximum;
var a,b,c,d,e :integer;
begin
read(a,b,c,d,e);
if (a>=b) and(a>=c) and (a>=d) and (a>=e) then write(a);
if (b>=a) and(b>=c) and (b>=d) and (b>=e) then write(b);
if (c>=a) and(c>=b) and (c>=d) and (c>=e) then write(a);
if (d>=a) and(d>=b) and (d>=c) and (d>=e) then write(a);
if (e>=a) and(e>=b) and (e>=c) and (e>=d) then write(a);
end.
Вопрос:как изменится программа, если чисел станет 10?
Вопрос:как изменится программа, если чисел станет 1000?
Формулирование универсальногоалгоритма (слайд №15).
program Maximum;
var A : array[1..5] of integer;
i,max : integer;
begin
fori:=1 to 5 do read( A[i] );
max:=A[1];
fori:=2 to 5 do if A[i] > max then max:= A[i];
write(max
end.
Вопрос:как изменится программа, если чисел станет 10?
Вопрос:как изменится программа, если чисел станет 1000?
Вопрос:как изменится программа, если числа будут действительными?
3.Подведение итогов урока (слайд № 16).
1. Что такоемассив?
2. Что такоеиндекс?
3. Какиспользовать элементы массива в выражениях?
4. В какихслучаях использование массива может давать преимущество?
4.Домашнее задание: теория + задания