Обработка диагоналей в квадратных матрицах
научить решать задачи на обработку двумерных массивов
I. Организационный момент (1 минута)
II. Актуализация знаний. (7 минут)
III. Объяснение нового материала (15 минут)
IV. Физминутка (1 минута)
V. Закрепление материала – решение задачи по новой теме (7 минут)
VI. Практическая работа – решение учащимися задач по новой теме (7 минут)
VII. Итоги урока. (1 минута)
VIII. Домашнее задание. (1 минута)
ХОД УРОКА I. Организационный момент
Сообщение темы и цели урока
II. Актуализация знаний.
Вопросы для повторения:
· Разделы программы на языке Паскаль
· Виды алгоритмов
· Объявление массива в языке Паскаль
· Операторы циклов в языке Паскаль
· Генератор случайных чисел Random
Учащиеся самостоятельно заполняют кроссворд. Кроссворд можно распечатать и раздать каждому или вывести на доску с помощью проектора.
Кроссворд:
По горизонтали
1) Многократное выполнение действий
2) Команда языка Паскаль
3) Двумерная таблица
4) Набор данных, обозначенных одним именем
5) Что означает оператор modв языке Паскаль
6) X:=5
По вертикали
3) подключаемая к программе библиотека ресурсов в языке Паскаль
7) Создатель языка Pascal
8) Последовательность действий
9) В языке Паскаль — Набор символов в кавычках
10) Хранение данных на диске
11) Упорядочивание элементов массива по возрастанию или убыванию
III. Объяснение нового материала
Квадратной называется матрица, у которой количество строк равно количеству столбцов, 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;
П. Е. ФИНКЕЛЬ Разработка урока по информатике
Автор:
Павел Ефимович Финкель
Учитель информатики
МБОУ СОШ №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
- Вебинар «Речевое развитие детей раннего возраста в игровой деятельности»
- Вебинар «Основные правила и способы информирования инвалидов, в том числе граждан, имеющих нарушение функции слуха, зрения, умственного развития, о порядке предоставления услуг на объекте, об их правах и обязанностях при получении услуг»
- Международный вебинар «Решение задач речевого развития детей в программе “Социокультурные истоки”: работаем в соответствии с ФГОС ДО и ФОП ДО»
- Вебинар «Арт-терапия в профилактике поведенческих отклонений, тревожности, стрессовых состояний у детей: песочная, игровая, музыкальная, цветовая терапия, фрактальная живопись, нейрографика, медиативное рисование, эко-арт, имаготерапия, сказкотерапия»
- Международный вебинар «Рисование ватными палочками как нетрадиционная техника рисования и метод коррекции психических состояний дошкольников»
- Вебинар «Музыкальная сказка как средство развития творческих способностей дошкольников»
При подготовке материалов прошу Вас в колонтитул текстового файла конспекта занятия включать логотип Портала.
С уважением, С.А. Колодин.
Указанный Вами журнал не имеет никакого отношения к нашему Порталу. Обратитесь в редакцию.
С уважением, С.А. Колодин.