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 do read( 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
for i:=1 to 5 do read( A[i] );
max:= A[1];
for i:=2 to 5 do if A[i] > max then max:= A[i];
write(max);
end.
Вопрос: как изменится программа, если чисел станет 10?
Вопрос: как изменится программа, если чисел станет 1000?
Вопрос: как изменится программа, если числа будут действительными?
3. Подведение итогов урока (слайд № 16).
1. Что такое массив?
2. Что такое индекс?
3. Как использовать элементы массива в выражениях?
4. В каких случаях использование массива может давать преимущество?
4. Домашнее задание: теория + задания
© ООО «Знанио»
С вами с 2009 года.