Храмова Ирина Васильевна МОУ СОШ №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 с.