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

Учебно-Методический портал
Чёрная пятница! С 20 по 22 ноября 2024 г. Скидки 75% на ВСЁ! Подробнее

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

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

ПАВЕЛ ФИНКЕЛЬ
Тип материала: Урок
просмотров: 4664 комментариев: 3
Краткое описание
Закрепить определение двумерного массива, оператор описания массива, характеристики массива,
научить решать задачи на обработку двумерных массивов
Описание
План урока:
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;

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

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

Файлы
кв матрица.docx Скачать

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


Автор:

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

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

МБОУ СОШ №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


Finkel Matrica.zip Скачать
Обсуждение материала
Сергей Колодин
24.02.2014 19:36
Уважаемый Павел Ефимович!

При подготовке материалов прошу Вас в колонтитул текстового файла конспекта занятия включать логотип Портала.

С уважением, С.А. Колодин.
ПАВЕЛ ФИНКЕЛЬ
13.05.2014 17:47
Здравствуйте!!! Можно узнать, когда напечатают мой урок в журнале "Информатика. Всё для учителя"???
Сергей Колодин
15.05.2014 07:03
Здравствуйте, Павел Ефимович!

Указанный Вами журнал не имеет никакого отношения к нашему Порталу. Обратитесь в редакцию.

С уважением, С.А. Колодин.
Для добавления отзыва, пожалуйста, войдите или зарегистрируйтесь.
Образовательные вебинары
Подписаться на новые Расписание вебинаров
Задать вопрос