В вашем браузере отключен JavaScript. Из-за этого многие элементы сайта не будут работать. Как включить JavaScript?

Учебно-Методический портал

Обработка диагоналей в квадратных матрицах

Сообщить о нарушении     Войдите для скачивания файлов

П. Е. ФИНКЕЛЬ Разработка урока по информатике


Автор:

Павел Ефимович Финкель

Учитель информатики

МБОУ СОШ №1 им. А. И. Герцена муниципального образования Тимашевский район

Краснодарский край

Адрес школы:

352700, г. Тимашевск, ул. Ленина, 152



E-mail: timsc1@mail.ru


Разработка урока по информатике

Профильный класс 10-11


Тема:

Обработка диагоналей в квадратных матрицах



Ключевые слова:

Информатика, массив, цикл с параметром, Паскаль, PascalABC, проект, двумерный массив, матрица.









Аннотация


Данный материал – разработка урока по информатике.

Тема «Программирование на языке Паскаль» изучается в 10 или 11 профильном «Информационно-технологическом» классе


Тема урока: «Обработка диагоналей в квадратных матрицах»

Изучение данной темы осуществляется в программной среде Turbo Pascal или PascalABC


К этому моменту учащиеся должны знать виды алгоритмов, записывать их на языке Паскаль, уметь записывать операторы цикла с параметром FOR, иметь представление о двумерных массивах (матрицах), объявление и заполнение массивов в языке Паскаль,


Тема массивы является обязательной темой в заданиях ЕГЭ по информатике.













Обработка диагоналей в квадратных матрицах

Цели урока:

Образовательные:

  • Закрепить определение двумерного массива, оператор описания массива, характеристики массива,

  • научить решать задачи на обработку двумерных массивов.

Развивающие:

  • развить навыки использования среды программирования;

  • развить логическое и алгоритмическое мышление и активность работы учащихся.

Воспитательные:

  • воспитание самостоятельности, и ответственности за выполненную работу;

  • формировать у учащихся объективную самооценку;

  • пробудить интерес к обучению.

Необходимое оборудование и материалы: компьютер, проектор, Microsoft Office PowerPoint, среда программирования Turbo Pascal или PascalABC.

План урока:

  1. Организационный момент (1 минута)

  2. Актуализация знаний. (7 минут)

  3. Объяснение нового материала (15 минут)

  4. Физминутка (1 минута)

  5. Закрепление материала – решение задачи по новой теме (7 минут)

  6. Практическая работа – решение учащимися задач по новой теме (7 минут)

  7. Итоги урока. (1 минута)

  8. Домашнее задание. (1 минута)

ХОД УРОКА

  1. Организационный момент

Сообщение темы и цели урока

  1. Актуализация знаний.

Вопросы для повторения:

  • Разделы программы на языке Паскаль

  • Виды алгоритмов

  • Объявление массива в языке Паскаль

  • Операторы циклов в языке Паскаль

  • Генератор случайных чисел Random

Учащиеся самостоятельно заполняют кроссворд. Кроссворд можно распечатать и раздать каждому или вывести на доску с помощью проектора.


Кроссворд:

По горизонтали

  1. Многократное выполнение действий

  2. Команда языка Паскаль

  3. Двумерная таблица

  4. Набор данных, обозначенных одним именем

  5. Что означает оператор mod в языке Паскаль

  6. X:=5



По вертикали

3) подключаемая к программе библиотека ресурсов в языке Паскаль

  1. Создатель языка Pascal

  2. Последовательность действий

  3. В языке Паскаль - Набор символов в кавычках

  4. Хранение данных на диске

  5. Упорядочивание элементов массива по возрастанию или убыванию






  1. Объяснение нового материала


Квадратной называется матрица, у которой количество строк равно количеству столбцов, 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)

7

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=1 A(1, 5-1+1) = A(1,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. Физминутка

  2. Закрепление нового материала.

Рассмотрим данную тему на примерах.

Пример 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



  1. Практическая работа – решение задач по новой теме


Далее учащимся предлагаются карточки с заданиями и для решения задач предлагается изменить текст набранной программы.

В матрице a[8,8] подсчитать количество чётных элементов на главной диагонали

В матрице a[7,7] найти сумму нечётных элементов на побочной диагонали.

В матрице a[6,6] найти произведение элементов, кратных 3 на побочной диагонали.



  1. Итоги урока, выставление оценок.


  1. Домашнее задание.

Дома создать программу решения задачи:

В матрице a[5,5] подсчитать количество не нулевых элементов на главной и побочной диагонали. Ввод данных осуществляется вручную.



Список литературы:



  1. Н. Д. Угринович «Информатика и информационные технологии 10-11» Бином 2005

  2. Н. Д. Угринович «Информатика и ИКТ 10» Бином 2010

  3. Н. Д. Угринович «Практикум по информатике и информационным технологиям» Бином 2004


Дистанционное обучение педагогов по ФГОС по низким ценам

Вебинары, курсы повышения квалификации, профессиональная переподготовка и профессиональное обучение. Низкие цены. Более 18400 образовательных программ. Диплом госудаственного образца для курсов, переподготовки и профобучения. Сертификат за участие в вебинарах. Бесплатные вебинары. Лицензия.

Образовательные вебинары
Подписаться на новые Расписание вебинаров
Задать вопрос