П. Е. ФИНКЕЛЬ Разработка урока по информатике
Автор:
Павел Ефимович Финкель
Учитель информатики
МБОУ СОШ №1 им. А. И. Герцена муниципального образования Тимашевский район
Краснодарский край
Адрес школы:
352700, г. Тимашевск, ул. Ленина, 152
E-mail: timsc1@mail.ru
Разработка урока по информатике
Профильный класс 10-11
Тема:
Обработка диагоналей в квадратных матрицах
Ключевые слова:
Информатика, массив, цикл с параметром, Паскаль, PascalABC, проект, двумерный массив, матрица.
Аннотация
Данный материал – разработка урока по информатике.
Тема «Программирование на языке Паскаль» изучается в 10 или 11 профильном «Информационно-технологическом» классе
Тема урока: «Обработка диагоналей в квадратных матрицах»
Изучение данной темы осуществляется в программной среде Turbo Pascal или PascalABC
К этому моменту учащиеся должны знать виды алгоритмов, записывать их на языке Паскаль, уметь записывать операторы цикла с параметром FOR, иметь представление о двумерных массивах (матрицах), объявление и заполнение массивов в языке Паскаль,
Тема массивы является обязательной темой в заданиях ЕГЭ по информатике.
Обработка диагоналей в квадратных матрицах
Цели урока:
Образовательные:
-
Закрепить определение двумерного массива, оператор описания массива, характеристики массива,
-
научить решать задачи на обработку двумерных массивов.
Развивающие:
-
развить навыки использования среды программирования;
-
развить логическое и алгоритмическое мышление и активность работы учащихся.
Воспитательные:
-
воспитание самостоятельности, и ответственности за выполненную работу;
-
формировать у учащихся объективную самооценку;
-
пробудить интерес к обучению.
Необходимое оборудование и материалы: компьютер, проектор, Microsoft Office PowerPoint, среда программирования Turbo Pascal или PascalABC.
План урока:
-
Организационный момент (1 минута)
-
Актуализация знаний. (7 минут)
-
Объяснение нового материала (15 минут)
-
Физминутка (1 минута)
-
Закрепление материала – решение задачи по новой теме (7 минут)
-
Практическая работа – решение учащимися задач по новой теме (7 минут)
-
Итоги урока. (1 минута)
-
Домашнее задание. (1 минута)
ХОД УРОКА
-
Организационный момент
Сообщение темы и цели урока
-
Актуализация знаний.
Вопросы для повторения:
-
Разделы программы на языке Паскаль
-
Виды алгоритмов
-
Объявление массива в языке Паскаль
-
Операторы циклов в языке Паскаль
-
Генератор случайных чисел Random
Учащиеся самостоятельно заполняют кроссворд. Кроссворд можно распечатать и раздать каждому или вывести на доску с помощью проектора.
Кроссворд:
По горизонтали
-
Многократное выполнение действий
-
Команда языка Паскаль
-
Двумерная таблица
-
Набор данных, обозначенных одним именем
-
Что означает оператор mod в языке Паскаль
-
X:=5
По вертикали
3) подключаемая к программе библиотека ресурсов в языке Паскаль
-
Создатель языка Pascal
-
Последовательность действий
-
В языке Паскаль - Набор символов в кавычках
-
Хранение данных на диске
-
Упорядочивание элементов массива по возрастанию или убыванию
-
Объяснение нового материала
Квадратной называется матрица, у которой количество строк равно количеству столбцов, n=m. A(5,5) A(7,7) т.е. A(n,n)
5 |
-7 |
-4 |
3 |
8 |
-3 |
9 |
8 |
5 |
-6 |
4 |
2 |
8 |
-9 |
-3 |
-5 |
8 |
-9 |
4 |
3 |
7 |
8 |
-4 |
-3 |
6 |
В данном примере матрица 5х5 (5 строк и 5 столбцов)
Квадратная матрица формируется также, как и обычная прямоугольная матрица:
A: array [1..5, 1..5] of integer;
W: array [1..20, 1..20] of real;
Элемент
(2,5)
5
-7
-4
3
8
-3
9
8
5
-6
4
2
8
-9
-3
-5
8
-9
9
3
Элемент
(2,2)
8
-4
-3
6
Элемент
(4,4)
Элемент
(5,3)
В квадратных матрицах используется понятие диагонали. Существуют главная диагональ и побочная.
5 |
-7 |
-4 |
3 |
8 |
-3 |
9 |
8 |
5 |
-6 |
4 |
2 |
8 |
-9 |
-3 |
-5 |
8 |
-9 |
4 |
3 |
7 |
8 |
-4 |
-3 |
6 |
Элементы, которые лежат вдоль этой прямой, называются главная диагональ.
В данном случае легко определить адрес этих элементов: (1,1) (2,2) (3,3) (4,4) (5,5)
Следовательно, номер строки равен номеру столбца. i = j.
Иногда элемент обозначают a(i,i)
5 |
-7 |
-4 |
3 |
8 |
-3 |
9 |
8 |
5 |
-6 |
4 |
2 |
8 |
-9 |
-3 |
-5 |
8 |
-9 |
4 |
3 |
7 |
8 |
-4 |
-3 |
6 |
Элементы, которые лежат вдоль этой прямой, называются побочная диагональ.
В данном случае адрес этих элементов следующий: (1,5) (2,4) (3,3) (4,2) (5,1)
Легко увидеть, что при возрастании номера строки номер столбца уменьшается.
Для записи таких элементов используется формула ( i, n-i+1 )
Для n=5
I=2 A(2, 5-2+1) = A(2, 4)
I=3 A(3, 5-3+1) = A(3, 3)
I=4 A(4, 5-4+1) = A(4, 2)
I=5 A(5, 5-5+1) = A(5, 1)
-
Физминутка
-
Закрепление нового материала.
Рассмотрим данную тему на примерах.
Пример 1.
Дана квадратная матрица 7х7, заполненная случайными числами. Подсчитать количество отрицательных элементов на главной диагонали и количество положительных элементов на побочной диагонали. Оба результата вывести на экран.
Формируем матрицу, заполняем её случайными числами и выводим матрицу на экран. Согласно условию задачи, в матрице обязательно должны быть отрицательные числа. Поэтому будем использовать формулу random[10] - 5;
// объявляем двумерный массив
Uses crt;
Var
I,j: integer;
kolpol, kolotr: integer;
// две разные переменные. kolotr – для подсчёта отрицательных элементов,
// kolpol - для подсчёта положительных элементов
A: array [1..7, 1..7] of integer;
Begin
// заполнение матрицы случайными числами и вывод матрицы на экран
For i:= 1 to 7 do begin
For j:= 1 to 7 do begin
A[I,j] := random[10] – 5;
Write (a[I,j]:4);
End;
Writeln;
End;
Writeln;
Теперь обрабатываем диагонали матрицы.
Так как для работы с диагоналями используется только переменная i, то будем использовать одинарный цикл.
For i:= 1 to 7 do begin
If a[I,i]<0 then kolotr:=kolotr+1; // вместо этой формулы можно использовать inc(kolotr);
If a[i,7-i+1]>0 then kolpol:=kolpol+1; // или inc(kolpol);
End;
После этого необходимо вывести результаты на экран.
Writeln (‘количество отрицательных на главной диагонали = ‘, kolotr);
Writeln (‘количество положительных на побочной диагонали = ‘, kolpol);
End.
Вот полный листинг программы:
Uses crt;
Var
I,j: integer;
kolpol, kolotr: integer;
A: array [1..7, 1..7] of integer;
Begin
For i:= 1 to 7 do begin
For j:= 1 to 7 do begin
A[I,j] := random[10] – 5;
Write (a[I,j]:4);
End;
Writeln;
End;
Writeln;
For i:= 1 to 7 do begin
If a[I,i]<0 then kolotr:=kolotr+1;
If a[i,7-i+1]>0 then kolpol:=kolpol+1;
End;
Writeln (‘количество отрицательных на главной диагонали = ‘, kolotr);
Writeln (‘количество положительных на побочной диагонали = ‘, kolpol);
End.
Код программы значительно сокращается, если делать заполнение матрицы случайными числами.
Результат выполнения программы на PascalABC
-
Практическая работа – решение задач по новой теме
Далее учащимся предлагаются карточки с заданиями и для решения задач предлагается изменить текст набранной программы.
В матрице a[8,8] подсчитать количество чётных элементов на главной диагонали
В матрице a[7,7] найти сумму нечётных элементов на побочной диагонали.
В матрице a[6,6] найти произведение элементов, кратных 3 на побочной диагонали.
-
Итоги урока, выставление оценок.
-
Домашнее задание.
Дома создать программу решения задачи:
В матрице a[5,5] подсчитать количество не нулевых элементов на главной и побочной диагонали. Ввод данных осуществляется вручную.
Список литературы:
-
Н. Д. Угринович «Информатика и информационные технологии 10-11» Бином 2005
-
Н. Д. Угринович «Информатика и ИКТ 10» Бином 2010
-
Н. Д. Угринович «Практикум по информатике и информационным технологиям» Бином 2004
- Вебинар «Детская агрессия: нейроигровые приемы обучению саморегуляции, способам выражения гнева в приемлемой форме, формирование позитивных качеств личности»
- Вебинар «Игровая деятельность, направленная на развитие социально-коммуникативных навыков дошкольников: воспитываем эмпатию, развиваем умение договариваться и устанавливать контакты, осваиваем способы разрешения конфликтных ситуаций»
- Вебинар «Основные правила и способы информирования инвалидов, в том числе граждан, имеющих нарушение функции слуха, зрения, умственного развития, о порядке предоставления услуг на объекте, об их правах и обязанностях при получении услуг»
- Международный вебинар «Рисование ватными палочками как нетрадиционная техника рисования и метод коррекции психических состояний дошкольников»
- Международный вебинар «Формирование креативного мышления как элемента функциональной грамотности на уроках литературного чтения в начальной школе»
- Международный вебинар «Решение задач речевого развития детей в программе “Социокультурные истоки”: работаем в соответствии с ФГОС ДО и ФОП ДО»