Изучаем язык BASIC. Занятие 17. Квадратная матрица

Раздел Информатика
Класс -
Тип Конспекты
Автор
Дата
Формат doc
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Занятие 17

Квадратная матрица.

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

Принадлежность элементов заданной области определяется по значениям индексов элементов массива.

1,1

1,2

1,3

2,1

2,2

2,3

3,1

3,2

3,3

IJ

1,2 2,1

1,3 3,1

2,3 3,2

Главная диагональ I=J

Изучаем язык BASIC. Занятие 17. Квадратная матрица.


  1. Элементы лежат на главной диагонали

I=J

  1. Элементы лежат над главной диагональю

I

  1. Элементы лежат под главной диагональю

I>J

N=3

3Изучаем язык BASIC. Занятие 17. Квадратная матрица.,1 Побочная диагональ

2,2 I+J=N+1

1,3

1,1 1+1<3+1 1,3 2+3>3+1

1,2 1+2<3+1 3,2 3+2>3+1

2,1 2+1<3+1 3,3 3+3>3+1

I+J<N+1 I+J>N+1


  1. Элементы, лежащие на побочной диагонали удовлетворяют условию

I+J=N+1

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

I+J

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

I+J>N+1

Задана матрица A(N,N) в диапазоне [-24,22]. Найти сумму чисел расположенных на главной диагонали.

CLS

RANDOMIZE TIMER

INPUT "N=";N

DIM A(N,N)

FOR I=1 TO N

FOR J=1 TO N

A(I,J)=INT(RDN*46-24)

PRINT USING "####"; A(I,J);

NEXT J

PRINT

NEXT I

S=0

FOR I=1 TO N

FOR J=1 TO N

IF I=J THEN S=S+A(I,J)

NEXT J,I

PRINT "S=";S

Второй вариант

CLS

RANDOMIZE TIMER

INPUT "N=";N

DIM A(N,N)

FOR I=1 TO N

FOR J=1 TO N

A(I,J)=INT(RDN*46-24)

PRINT USING "####"; A(I,J);

NEXT J

PRINT

NEXT I

S=0

FOR I=1 TO N

S=S+A(I,I)

NEXTI

PRINT "S=";S


Задана матрица A(N,N) в диапазоне [-14,20]. Найти сумму положительных элементов, расположенных на главной диагонали.

Ввод матрицы

S=0

FOR I=1 TO N

FOR J=1 TO N

IF I=J AND A(I,J)>0 THEN S=S+A(I,J)

NEXT J,I

PRINT "S=";S

Задана матрица A(N,N) в диапазоне [-14,20]. Найти сумму всех элементов, расположенных на главной диагонали.

Ввод матрицы

S=0

FOR I=1 TO N

S=S+A(I,I)

NEXT I

PRINT "S=";S

Найти сумму всех элементов , расположенных на побочной диагонали.

Ввод матрицы

S=0

FOR I=1 TO N

FOR J=1 TO N

IF I+J =N+1THEN S=S+A(I,J)

NEXT J,I

PRINT "S=";S

Ввод матрицы

S=0

FOR I=1 TO N

S=S+A(I,N+1-I)

NEXT I

PRINT "S=";S



Задана матрица A(N,N) в диапазоне [-24,20]. Найти сумму четных элементов, расположенных на побочной диагонали.

Ввод матрицы

S=0

FOR I=1 TO N

FOR J=1TO N

IF J+I=N+1 AND A(I,J)/2=A(I,J)\2 THEN S=S+A(I,J)

NEXT J,I

PRINT "S=";S

Второй вариант

Ввод матрицы

S=0

FOR I=1 TO N

IF A(I,J)/2=A(I,J)\2 THEN S=S+A(I,N+1-I)

NEXT I

PRINT "S=";S

Задана матрица A(N,N) в диапазоне [-23,21]. Найти суммы всех элементов, расположенных на, над и под главной диагональю и всех элементов, расположенных на, над и под побочной диагональю.

Задана матрица A(N,N) в диапазоне [-13,28]. Найти сумму и количество всех кратных 5 элементов, расположенных над побочной диагональю.

Задана матрица A(N,N) в диапазоне [-22,11]. Найти сумму всех элементов кратных 11, расположенных под главной диагональю и расположенных над побочной диагональю.

Задана матрица A(N,N) в диапазоне [-33,22]. Найти max элемент, расположенный над главной диагональю и min элемент, расположенный под побочной диагональю.

Ввод матрицы

max= - 1000

FOR I= 1 TO n

FOR J=1 TO n
IF A(I,J)>max AND I

NEXT J,I

min= 1000

FOR I=1 TO N

FOR J=1 TO n
IF A(I,J)N+1 THEN min=A(I,J): Imin=I : Jmin=J

NEXT J,I

PRINT "MAX=";MAX; "I=";Imax; "J="; Jmax

PRINT "MIN=";MIN; "I=";Imin; "J="; Jmin

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

Задана матрица A(N,N) в диапазоне [-10,12]. Найти max четный некратный 5 элемент, расположенный над главной диагональю и указать его адрес.

Ввод матрицы

max= - 1000

FOR I= 1 TO n

FOR J=1 TO n
IF IA(I,J)\5 AND A(I,J)

NEXT J,I

PRINT "MAX=";MAX; "I=";Imax; "J="; Jmax

Задана матрица A(N,N) в диапазоне [-13,32]. Найти заменить каждой строке на 1 элемент, если он больше элемента, расположенного на главной диагонали и заменить на -1 в противном случае.

Ввод матрицы

FOR I= 1 TO n

FOR J=1 TO n
IF A(I,J)>A(I,I) THEN A(I,J)=1 ELSE A(I,J)=-1

NEXT J,I

Вывод матрицы

Задана матрица A(N,N) в диапазоне [-24,18]. Поменять местами max элемент, расположенный над побочной диагональю с min элементом, расположенный под побочной диагональю.

Ввод матрицы

max= - 1000 : min= 1000

FOR I= 1 TO n

FOR J=1 TO n
IF A(I,J)>max AND I+J

IF A(I,J)N+1 THEN min=A(I,J): Imin=I : Jmin=J

NEXT J,I

SWAP A(Imax, Jmax ), A(Imin ,Jmin)

FOR I=1 TO n

FOR J=I TO n

PRINT USING "####"; A(I,J);

NEXT J

PRINT

NEXT I


© 2010-2022