Математика
Физика
Химия
География
Биология
Экология
Информатика
Экономика
Русский язык
Литература
Музыка
МХК и ИЗО
ОБЖ
История и
 обществознание

Иностранные языки
Спорт и здоровье
Технология
ТОП 20 статей сайта
Рекомендуем посетить

Преподавание информатики

Урок по теме: Квадратная матрица. 11-й класс

Добавлено: 2014.08.15
Просмотров: 271

Сурина Людмила Ивановна, учитель информатики

Урок по теме “Квадратная матрица” входит в состав содержательной линии “Информационные технологии”.

Урок посвящен изучению наиболее часто используемого типа двумерных массивов – квадратной матрице и проводился в 11-ом классе. Данный урок рассматривается как обобщающий по пройденным темам “Одномерные массивы” и “Двумерные массивы”, а, кроме того, знакомит учащихся с самым распространенным видом табличного представления числовых данных – матрицей. Сам урок, предшествующий ему подготовительный этап, направлены на:

Продолжительность урока – 2 часа.

Первая часть урока – проверка знаний учащимися основных понятий темы массивы: табличные данные, их индексация, размерность, объявление, типы массивов, обращение к элементу массива (проводится в виде фронтального опроса).

Вторая часть – знакомство с новой темой на основе обучающей программы-презентации “Квадратная матрица”, в которой рассказывается об основных понятиях темы: об индексации элементов матрицы, о главной и побочной диагоналях, различных способах формирования массива.

Третья часть – выполнение разнообразных проверочных заданий:

Учащимся предлагаются для решения дифференцированные задания с постепенно возрастающим уровнем сложности.

Технические требования к технике и программному обеспечению:

Цель урока:

Тип урока: лекционно-практическое занятие.

Оборудование: ПЭВМ, раздаточный материал.

План урока:

  1. Организационный момент.
  2. Фронтальный опрос по теме урока “Двумерный массив. Объявление массива”. (выполнение проверочных заданий на карточках).
  3. Квадратная матрица. Основные понятия: главная и побочная диагонали, индексация элементов расположенных над, под, на главной и побочной диагоналями.
  4. Заполнение и печать массива.
  5. Решение типовых задач.
  6. Домашнее задание.
  7. Обобщение урока.

Ход урока

1. Приветствие учащихся. Запись числа, темы урока: “Квадратная матрица”.

2. Фронтальный опрос.

Учащимся предлагается ответить на вопросы “Проверочных заданий”.

1. Что такое массив?

2. Какие массивы Вам известны?

3. Какой массив называется двумерным?

4. Как выглядит обращение к элементу массива А в общем случае?

5. Что такое размерность массива?

6. Перечислите элементы программы, содержащей массив?

7. Что такое объявление массива?

8. Расшифруйте следующие записи: Все ли описания сделаны верно?

var A: array [1..3,1..5] of real;

i,j: integer;

var B: arrey [1..7,1..4] of integer;

i,j: integer;

var C: array [1..4,1..4] of real;

i,j: real;

var D: array [1..N,1..M] of integer;

i,j: integer;

9. Какие вам известны способы заполнения массива?

10. Рассмотрим двумерный массив А (рис. 2.1.):

Объявите данный массив.

Определите значения следующих элементов массива: A[1,5]= , A[5,1]= , A[6,4]= , A[4,5]= , A[2,3]= , A[4,2]= , A[3,2]= .

1 3 5 7 9
2 4 6 8 10
11 13 15 17 19
12 14 16 18 20
21 23 25 27 29
22 24 26 28 30

Рис. 2.1.

Определите месторасположение элементов со следующими значениями

A[ ..,..]= 17, A[…,…]= 29, A[ ..,..]= 30, A[…,…]= 16, A[ ..,..]= 1, A[…,…]= 27.

3. Квадратная матрица (рассказ учителя сопровождается демонстрацией презентации по данной теме).

Квадратная матрица- это двумерный массив, в котором количество строк равно количеству столбцов. Обращение к элементу происходит также как и в обычном двумерном массиве A[i,j]. Умение работать с квадратными матрицами пригодится вам при решении систем уравнений. Существует целый арсенал численных методов решения систем уравнений, базирующийся на понятии матрица.

Перечислим основные свойства квадратной матрицы (рис. 3.1.):

1. Квадратные матрицы имеют главную и побочную диагонали. Например, для матрицы А на главной диагонали лежат элементы 1,4,9, на побочной - 45,4,12.

1 31 45
10 4 18
12 10 9

Рис. 3.1.

Если i = j - элементы расположены на главной диагонали;

i > j - элементы расположены ниже главной диагонали;

i < j - элементы расположены выше главной диагонали;

i > j - элементы расположены на главной диагонали и ниже;

i< j - элементы расположены на главной диагонали и выше;

i+j = n+1 - элементы расположены на побочной диагонали;

i+j < n+1 - элементы расположены над побочной диагональю;

i+j > n+1 - элементы расположены под побочной диагональю.

2. Квадратная матрица, у которой все элементы, исключая элементы главной диагонали, равны нулю, называется диагональной матрицей (рис. 3.2.)

1 0 0
0 2 0
0 0 3

Рис. 3.2.

3. Диагональная матрица, у которой все элементы, стоящие на главной диагонали равны 1, называется единичной матрицей (рис. 3.3.):

1 0 0
0 1 0
0 0 1

Рис. 3.3.

Обращение к элементу главной диагонали выглядит как A[i,i], к элементу побочной как A[i,n-i+1], где n – количество строк матрицы.

Итак, мы уже знаем, что при составлении программ с массивами выполняются несколько этапов:

1. Объявление массива.

2. Заполнение его одним из трех способов: с клавиатуры, по правилу, случайным образом.

3. В зависимости от условия задачи выполнение расчетов или сортировки элементов матрицы.

4. Печать массива.

Все эти этапы применимы и к квадратной матрице. Рассмотрим объявление матрицы. Вы знаете, что под объявлением понимают выделение в памяти компьютера необходимого количества ячеек под элементы матрицы. Это количество называют размерностью и определяют как произведение количества строк на количество столбцов. Применительно к квадратной матрице размерность определяется как N*N, где N - количество строк матрицы.

Объявление квадратной матрицы в общем виде выглядит следующим образом:

<имя массива>: array [1..N,1..N] of <тип массива>;

i,j,n:integer;

Например, объявляется целочисленная квадратная матрица из 5 строк

var A: array [1..5,1..5] of integer;

i,j: integer;

Опишите объявление матрицы из 7 строк, заполненной вещественными числами: var A: array [1..7,1..7] of real; i,j: integer;

Для заполнения квадратной матрицы используется один из трех уже известных нам стандартных блоков:

{блок заполнения массива с клавиатуры}

for i:=l to N do

for j:=l to N do begin

write ('A[‘,i,’,’,j,’]=’);

readln (a[i,j]);

writeln

end;

{блок заполнения массива случайным образом}

randomize;

for i:=l to N do

for j:=l to N do A[i,j]:= random(50);

{блок заполнения массива по правилу}

for i:=l to N do

for j:=l to N do A[i,j]:= <правило>;

Рассмотрим следующую задачу: сформировать матрицу вида (рис 3.4.):

program zadacha;

var a: array [1..5, 1..5] of integer;

i,j,n: integer;

begin

n=5;

2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2

Рис. 3.4.

{блок заполнения массива по правилу}

for i:=l to n do

for j:=l to n do A[i,j]:= 2;

Пусть элементы главной диагонали равны 5 (рис 3.5.):

{блок заполнения элементов главной диагонали массива}

for i:=l to n do

A[i,i]:= 5;

5 2 2 2 2
2 5 2 2 2
2 2 5 2 2
2 2 2 5 2
2 2 2 2 5

Рис. 3.5.

Что изменится в этой программе, если матрица будет выглядеть так (рис 3.6.):

Добавится блок заполнения элементов побочной диагонали.

{блок заполнения элементов побочной диагонали массива}

for i:=l to n do

A[i,n-i+1]:= 4;

5 2 2 2 4
2 5 2 4 2
2 2 4 2 2
2 4 2 5 2
4 2 2 2 5

Рис. 3.6.

Распечатаем полученную матрицу:

{блок печати элементов массива}

for i:=l to n do begin

for j:=l to n do write ('A[‘,i,’,’,j,’]=’,A[i,j]);

writeln

end;

writeln

end.

Рассмотрим матрицу вида (рис. 3.7.).

Особенностью этой матрицы является то, что ненулевыми являются элементы главной диагонали и элементы, расположенные над главной диагональю.

5 2 2 2 2
0 5 2 2 2
0 0 5 2 2
0 0 0 5 2
0 0 0 0 5

Рис. 3.7.

Как будет выглядеть блок заполнения матрицы?

Мы знаем, что при объявлении числовой матрицы, все ее элементы заполняются нулями, значит в нашем случае, для заполнения матрицы нам достаточно указать блоки заполнения ее главной диагонали и блок заполнения элементов над главной диагональю, т.е.:

{блок заполнения элементов главной диагонали массива}

for i:=l to n do A[i,i]:= 5;

{блок заполнения элементов над главной диагональю массива}

for i:=1 to n-1 do

for j:=i+l to n do A[i,j]:= 2;

В предложенной матрице заполнить следует элементы на и под главной диагональю (рис. 3.8).

5 0 0 0 0
3 5 0 0 0
3 3 5 0 0
3 3 3 5 0
3 3 3 3 5

Рис. 3.8.

{блок заполнения элементов главной диагонали массива}

{блок заполнения элементов главной диагонали массива}

for i:=l to n do A[i,i]:= 5;

{блок заполнения элементов под главной диагональю массива}

for i:=2 to n do for j:=l to i-1 do A[i,j]:= 3;

Заполнение матрицы вида (рис. 3.9).

1 1 1 1 7
1 1 1 7 0
1 1 7 0 0
1 7 0 0 0
7 0 0 0 0

Рис. 3.9.

{блок заполнения элементов побочной диагонали массива}

for i:=l to n do A[i,n-i+1]:= 7;

{блок заполнения элементов над побочной диагональю массива}

for i:=1 to n-1 do

for j:=l to n-i do A[i,j]:= 1;

0 0 0 0 7
0 0 0 7 1
0 0 7 1 1
0 7 1 1 1
7 1 1 1 1

Рис. 3.10.

Заполнение матрицы вида (рис. 3.10).

{блок заполнения элементов побочной диагонали массива}

for i:=l to n do A[i,n-i+1]:= 7;

{блок заполнения элементов под побочной диагональю массива}

for i:=n downto 2 to n do

for j:= n-i+2 to n do A[i,j]:= 1;

На основе изученных блоков сформировать и распечатать матрицы вида

6 11 11 11 11
-1 6 11 11 11
-1 -1 6 11 11
-1 -1 -1 6 11
-1 -1 -1 -1 6

Рис. 3.11

9 9 9 9 15
9 9 9 15 -2
9 9 15 -2 -2
9 15 -2 -2 -2
15 -2 -2 -2 -2

Рис. 3.12

5. Домашнее задание. Составить программы по условиям:

Дана целочисленная квадратная матрица 4х4, заполненная случайным образом. Вычислить сумму элементов под побочной диагональю. Распечатать сам массив и значение суммы.

Дана матрица А вида: составить программу формирующую данную матрицу.

1 3 3 3 3
10 4 3 3 3
10 10 9 3 3
10 10 10 16 10
10 10 10 10 25

6. Сегодня на уроке мы познакомились с новым видом массивов – квадратной матрицей. Вы узнали, как индексируются элементы квадратной матрицы, что такое главная, побочная диагонали, как они формируются по правилу, с клавиатуры, случайным образом, а также научились распечатывать значения элементов массивов по строкам и по столбцам.