Храмова Ирина Васильевна МОУ СОШ №2 город Алапаевск ...

advertisement
Храмова Ирина Васильевна МОУ СОШ №2 город Алапаевск
1
КОНКУРС
МЕТОДИЧЕСКИХ РАЗРАБОТОК УЧИТЕЛЕЙ ИНФОРМАТИКИ И ИКТ
«УРОК ИНФОРМАТИКИ В ШКОЛЬНОМ УНИВЕРСИТЕТЕ»
Номинация «Лучший урок»
Направления номинации: «Урок в 10―11 классах».
Разработка урока
«Бенефис одной задачи или Способы обработки массивов».
Цель: ввести понятие массива, рассмотреть приемы работы с данными типа
массив.
Ход урока:
Урок начинаем с введения типа данных массив. Материал излагаем лекционно.
Массивы – наиболее часто используемые типы данных. Каждое значение массива – это некоторое фиксированное количество значений одного и
того же базового типа. Другими словами, такой тип данных позволяет объединять несколько значений одного типа в группу, причем имя дается всей
группе в целом, а не каждому значению, сами же значения, просто нумеруются. Доступ к элементам группы осуществляется по их номерам (индексам).
Существует несколько видов массива: одномерные, двумерные, многомерные. На сегодняшнем уроке остановимся на одномерных массивах.
Массив – это таблица, в которой каждый элемент занимает свою определенную ячейку.
Массивы характеризуются типом элементов, их количеством и способом нумерации. В программе массив задается следующим образом:
Type
<имя нового типа>
Array [ тип индекса] of <тип элементов>;
Здесь Array –массив, of (из) зарезервированные служебные слова.
Если индексов несколько, то указываются через запятую.
Рассмотрим пример описания массивов в справочнике: способ №3 указывая диапазон индексов или объявить массив в разделе описания переменных [1, стр.71]
В практике работы по обработке массивов могут встречаться различные задачи, которые могут быть сведены в несколько наиболее характерных
групп:
-поиск элементов;
-математическая обработка элементов (суммирование и т.д.);
-замена или преобразование элементов массива по какому-то правилу;
Храмова Ирина Васильевна МОУ СОШ №2 город Алапаевск
2
-преобразование массива;
-удаление или вставка элементов массива.
Эти типы задач относятся как к линейным, так и многомерным массивам.
Программа для обработки массива в целом одинакова для задачи любого типа. Она состоит из трех блоков:
-блок ввода значений массива;
-блок обработки массива – это основной блок, в котором производится обработка данных массива, то есть решение задачи;
-блок вывода результатов обработки.
Рассмотрим эту структуру на примере конкретной задачи.
Задача: найти сумму элементов одномерного массива.
Анализ задачи (проводим совместно с учениками): нужно заполнить таблицу
значениями, затем сложить все введенные значения, при этом к предыдущему результату каждый раз надо прибавить очередной элемент, то есть некоторые действия нужно выполнить несколько раз, как и при работе с циклами.
Все итоговые значения в начале задачи нужно обнулить.
Составим программу для решения данной задачи, выделив все структурные
блоки:
Блок описания массива и ввода значений массива:
program sadacha;
var a:array [1..10] of real:
s ; real; i:integer;
begin
for i:=1 to 10 do
readln(a[i]);
блок обработки массива:
s:=0:
for i:=1 to n do
s:=s+a[i];
блок вывода результатов обработки:
writeln('сумма элементов равна',s:4:2);
readln;
end.
На основе данной программы рассматриваем с учащимися основные
методы обработки массивов. Программы полностью не рассматриваются, так
как они отличаются только блоком обработки, а остальные блоки стандартны.
Храмова Ирина Васильевна МОУ СОШ №2 город Алапаевск
3
Предлагается учащимся в ходе обсуждения вывести основные формулы
для решения предложенных задач, указав, что необходимо изменить в блоке
вычислений и записать формулу в общем виде для каждой группы задач.
В ходе работы учащиеся записывают полное решение задачи на нахождение суммы элементов массива с необходимыми комментариями, а также
сводную таблицу с формулами для каждой группы задач, которая будет дополнена на следующих уроках.
Задачи для работы на уроке:
1. Найти сумму положительных элементов массива.
2. Найти произведение элементов массива.
3. Найти произведение элементов массива, отвечающих заданному
условию.
4. Заменить отрицательные элементы массива их удвоенным значением.
В ходе беседы выясняем с учащимися что изменится в программе и как можно записать в общем виде этот блок?
Способы обработки массивов (сводная таблица)
1. Суммирование элементов
1.1. Для нахождения суммы всех элементов:
s:=0:
for i:=1 to n do
s:=s+a[i];
1.2. Для нахождения суммы по условию:
s:=0:
for i:=1 to n do
if условие поиска then
s:=s+a[i];
2. Произведение элементов
2.1. Для нахождения произведения всех элементов:
р:=1:
for i:=1 to n do
р:=р*a[i];
2.2. Для нахождения произведения по условию:
р:=1:
for i:=1 to n do
if условие поиска then
Храмова Ирина Васильевна МОУ СОШ №2 город Алапаевск
4
р:=р*a[i];
Обратить внимание учащихся на то, что начальное значение произведение
должно быть равно единице, а не нулю (предложить сделать ручную проверку и объяснить почему получим иначе в ответе о).
3. Замена элементов
суть замены состоит в том, что элементы, удовлетворяющие условию замены, заменяются на новые в соответствии с правилом замены.
Например:
for i:=1 to n do
if a[i]<0 then a[i]:=2*a[i];
Рассмотреть как работает данный фрагмент.
Другие типы задач (Поиск элементов, Удаление элементов) рассмотрены детально на следующем уроке, начиная с анализа задач домашнего задания.
Домашнее задание:
Упражнение 9 [2, стр.73]
Задачи № 1,2 ,9,10,11[2,стр.80]
Использована литература, имеющаяся у учащихся по данному курсу (электронного практикума нет для этого курса).
Учебно-методические материалы
1. Тимошевская, Н. Е., Перышкина, Е. А. Основы алгоритмизации и программирование на языке Pascal. Справочник: Учеб. пособие. — Томск, 2005.
— 135 с.
2. Тимошевская, Н. Е., Перышкина, Е. А. Основы алгоритмизации и программирование на языке Pascal. Рабочая тетрадь: Учеб. пособие. — Томск,
2005. — 116 с.
Download