10-й урок в теме «Алгоритмы обработки массивов». Цель: организовать деятельность, направленную на преобразование элементов массива в зависимости от выполнения некоторых условий.
Инна АМБРОСЕВИЧ,
учитель информатики
ГУО «Средняя школа № 1 г. Сморгони»,
Гродненская область
Цель: организовать деятельность, направленную на преобразование элементов массива в зависимости от выполнения некоторых условий.
Задачи:
– создать условия для развития логического и алгоритмического мышления в ходе выполнения заданий урока;
– содействовать развитию навыков самостоятельной работы при выполнении заданий на компьютере;
– способствовать воспитанию у учащихся целеустремлённости, ответственности, толерантности.
Тип урока: урок усвоения новых знаний.
Учебно-методическое обеспечение: учебное пособие, рабочая тетрадь, система программирования PascalABC, раздаточный материал.
Ход урока
1 Организационно-мотивационный этап
Предложить учащимся назвать два ключевых слова, связанных с нахождением элементов массива. (Максимальный и минимальный элементы массива.)
Предложить учащимся лист самоконтроля (Приложение).
2 Проверка домашнего задания и актуализация знаний
Организовать проверку домашнего задания в виде теста-соответствия на доске по основным понятиям массива. Один столбец в таблице дан, а второй разбросать на доске в виде электронных писем. Учащиеся по цепочке подходят, берут письмо и ставят в соответствующую ячейку.
массив |
упорядоченная последовательность данных, состоящая из конечного числа элементов, имеющих один и тот же тип, и обозначаемая одним именем |
array |
массив |
var a:array |
[1..N] of integer; |
размер массива |
диапазон индексов, определяющий максимально возможное количество элементов в массиве |
элементы массива |
индексированные переменные |
random(m,n) |
a[i]:=random(n-m+1)+m |
линейный поиск |
Отдельная переменная, значение которой увеличивают на 1 каждый раз, когда найден нужный элемент |
const b: array [1..5] of integer = (4, 2, 3, 5, 7); |
B[4]:=5 |
За правильный ответ – 1 балл в лист самоконтроля.
3 Этап определения темы урока и постановки цели
1) Предложить учащимся привести примеры преобразований, которые приходится выполнять с множеством однотипных данных: преобразовывать единицы измерения, масштабы и координаты, температуры, градусные и радианные меры углов, валюты разных стран и т. п. Поставить перед ними проблему: как упростить решение подобных задач.
Подвести учащихся к выводу, что такие задачи можно решить путём хранения данных в массивах и изменения значений элементов массива. Объявить тему урока. Записать тему урока в тетради.
2) Обратить внимание на то, что среди преобразований элементов массива можно выделить задачи следующих типов:
– изменение элементов массива в зависимости от условий;
– обмен местами элементов массива;
– удаление элементов из массива;
– вставка элемента в массив.
Пояснить, что на уроке будут рассматриваться задания первого типа.
Записать в тетрадь типы задач по преобразованию элементов массива.
3) Совместно с учащимися сформулировать цель урока: научиться изменять элементы массива в зависимости от выполнения некоторых условий.
4 Изучение новой темы и проверка понимания изученного
Разбить учащихся на тройки и предложить задачу, обыграв её.
Пример. Одна техническая фирма попросила протестировать программу перевода значений температуры в градусах Цельсия в градусы Фаренгейта, так как перевод измерений необходим для правильного понимания и применения указанных параметров. Предложить учащимся программу с ошибками. Учащиеся обсуждают, исправляют ошибки, выполняют на компьютере.
Задача. Массив содержит значения температуры в градусах Цельсия (числа от 1 до 20). Составьте программу перевода этих значений в градусы Фаренгейта по формуле: ТF = 9/5 ТС + 32. Выведите исходный массив, затем – преобразованный массив с одним знаком в дробной части. Тип элементов исходного массива должен быть вещественный.
Фрагмент окна вывода:
По Цельсию: 1 2 3 4 5 6 7 8
По Фаренгейту: 33.8 35.6 37.4 39.2 41.0 42.8 44.6 46.4
Вариант задачи (правильный)
program Temperature;
var
CA: array[1..20] of real;
FA: array[1..20] of real;
i: integer;
begin
for i := 1 to 20 do
begin
CA[i] := i;
end;
// Вывод исходного массива температур в градусах Цельсия
writeLn(‘По Цельсию:’);
for i := 1 to 20 do
begin
write(CA[i]:6:0, ‘ ‘);
end;
writeLn;
// Преобразование значений в градусах Цельсия в градусы Фаренгейта и запись в соответствующий массив
for i := 1 to 20 do
begin
FA[i] := 9/5 * CA[i] + 32;
end;
// Вывод преобразованного массива температур в градусах Фаренгейта
writeLn(‘По Фаренгейту:’);
for i := 1 to 20 do
begin
write(FA[i]:4:1, ‘ ‘);
end;
end.
Вариант задачи с ошибками. Учащиеся открывают готовую программу на компьютере, исправляют ошибки.
program;
var
CA: array[1..20] of real;
FA: array[1..20] of;
i: Integer;
begin
for i := 1 to 20 do
begin
CA[i] := i;
end;
// Вывод исходного массива температур в градусах Цельсия
writeln(‘По Цельсию:);
for i := 1 to 20 do
begin
write(CA[i]:6:0, ‘ ‘);
end;
writeln
// Преобразование значений в градусах Цельсия в градусы Фаренгейта и запись в соответствующий массив
for i := 1 to 20 do
begin
FA[i] := 9/5 * CA[i] + 32;
end;
// Вывод преобразованного массива температур в градусах Фаренгейта
writeln(‘По Фаренгейту:’;
for i := 1 to 20 do
begin
Write(FA[i]:4:1, ‘ ‘);
end;
end.
За правильный вариант набора на компьютере – 2 балла в лист самоконтроля.
Гимнастика для глаз
5 Закрепление изученного
Предложить новую задачу. Задача предлагается на вычисление процентов от числа. Учащиеся осваивают задачи на проценты, которые способствуют развитию элементов финансовой грамотности.
Задача. В магазине «Маяк» решили в выходные дни сделать скидки на 20 позиций товаров (случайные числа от 10 до 30). Скидка на товары составляет 15 %. Составьте программу, которая определяет стоимость этих товаров и выводит на экран исходный и преобразованный массивы.
Вариант программы:
program Skidka;
var
A: array[1..20] of integer;
B: array[1..20] of real;
i: integer;
begin
for i := 1 to 20 do
begin
A[i] := Random(21) + 10;
end;
writeln(‘Исходные цены товаров:’);
for i := 1 to 20 do
begin
write(A[i], ‘ ‘);
end;
writeln;
for i := 1 to 20 do
begin
B[i] :=A[i] * 0.85;
end;
writeln(‘Цены товаров со скидкой:’);
for i := 1 to 20 do
begin
write(B[i]:0:2, ‘ ‘);
end;
end.
За правильный вариант набора на компьютере – 3 балла в лист самоконтроля.
6 Двигательная физкультминутка
Организовать интерактивное взаимодействие «Встаньте, если…» используя высказывания:
1) Для описания массива используется служебное слово array.
2) Массив NEDELYA состоит из пяти элементов.
3) Элементы массива можно преобразовывать.
4) Количество вводимых элементов массива может быть больше размерности массива.
7 Обобщение и систематизация изученного. Контроль знаний и умений
Предложить учащимся перечислить типы задач на преобразование массивов.
Выполнить на компьютере задачу.
Задача. Учащиеся 8 «А» класса в составе 25 человек написали контрольную работу по математике. Значения отметок (случайные числа от 2 до 10). После работы над ошибками учащиеся переписали работу и получили отметки на балл выше (кроме тех, кто получил 10 баллов). Составьте программу, которая выводит отметки, полученные учащимися первоначально и после работы над ошибками.
Вариант программы:
program KR;
var
A: array[1..25] of integer;
B: array[1..25] of integer;
i: integer;
begin
for i := 1 to 25 do
begin
A[i] := random(9) + 2;
end;
writeln(‘Первоначальные оценки:’);
for i := 1 to 25 do
begin
write(A[i], ‘ ‘);
end;
for i := 1 to 25 do
begin
if A[i] < 10 then
B[i] := A[i] + 1
else
B[i] := A[i];
end;
writeln;
writeln(‘Оценки после коррекции:’);
for i := 1 to 25 do
begin
write(B[i], ‘ ‘);
end;
end.
За правильный вариант набора на компьютере – 4 балла в лист самоконтроля.
8 Контрольно-оценочный этап
Обсудить с учащимися результаты выполнения заданий за компьютером. Предложить вернуться к цели урока, обсудить что получилось, что ещё надо доработать. Подвести итоги работы, оценить работу учащихся с учётом листа самоконтроля.
9 Рефлексия
Предложить учащимся назвать одно слово, с которым ассоциируется преобразование элементов массива.
10 Информация о домашнем задании
§ 7.1–7.2, вопрос 1, упражнение 2 (учебник).
Приложение
Лист самоконтроля
Фамилия, Имя ________________________________________