Матрицы 1. 2 Задача: запомнить положение фигур на шахматной доске. 123456 abcdefgh 8 7 6 5 4 3 2 1 00002000 00000000 00300000 00000000 00000040 00000000.

Презентация:



Advertisements
Похожие презентации
Программирование на языке Паскаль Часть II Матрицы.
Advertisements

1 Программирование на языке Паскаль Матрицы. 2 Задача: запомнить положение фигур на шахматной доске abcdefgh
Программирование на языке Си Часть II Матрицы Учитель информатики: Корогод В.А.
A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5] Двумерный массив можно представить.
Тема: «Понятие квадратная матрица» :17:47.
К. Поляков, Программирование на алгоритмическом языке. Часть II Тема 5. Матрицы.
К. Поляков, Программирование на алгоритмическом языке. Часть II Тема 5. Матрицы.
Двумерным массивом называется совокупность данных, каждое значение которых, зависит от его положения в строке и в столбце.
Двумерный массив. Матрица Прямоугольная таблица, состоящая из чисел А=
1 Программирование на языке Паскаль Тема 2. Максимальный элемент массива.
Program maxsimum; const n=10; var a:array [1..n] of integer; max,i:integer;begin ВВОД ЭЛЕМЕНТОВ МАССИВА; max:=a[1]; for i:=2 to n do if a[i]> max then.
Массивы – структурированный тип данных, состоящий из фиксированного числа элементов одинакового типа, имеющих общее имя. Массив.
Шутилина Л.А., A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5]
const n=10; var a:array[1..n] of integer; i,j,c,b,k:integer; begin randomize; for i:=1 to n do begin a[i]:=random(11)-5;write(a[i]:5) end;writeln;
Двумерные массивы. Заполнение и вывод элементов. Понятие. Двумерный массив – это массив с двумя измерениями (прямоугольные таблицы, матрицы). Пример:
Двумерные массивы Решение задач из сборника «Задачи по программированию» под редакцией С. Окулова.
Язык программирования Pascal Массивы А. Жидков. Массивы Массив – поименованный набор однотипных элементов, каждый из которых имеет свой номер, (индекс).
Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений, объединенных.
Двумерным массивом называется совокупность данных, каждое значение которых, зависит от его положения в строке и в столбце.
3. Дана прямоугольная матрица, элементами которой являются целые числа. Поменять местами ее строки следующим образом: первую строку с последней, вторую.
Транксрипт:

Матрицы 1

2 Задача: запомнить положение фигур на шахматной доске abcdefgh c6 A[6,3]

3 Матрицы Матрица – это прямоугольная таблица чисел. Матрица – это двумерный массив, в котором каждый элемент имеет два индекса (номер строки и номер столбца) A строка 2 столбец 3 ячейка A[3,4]

4 Матрицы Объявление: const N = 3; M = 4; var A: array[1..N,1..M] of integer; Q: array[1..M,1..N] of real; const N = 3; M = 4; var A: array[1..N,1..M] of integer; Q: array[1..M,1..N] of real; Ввод с клавиатуры: for i:=1 to N do for j:=1 to M do begin write('A[',i,',',j,']='); read ( A[i,j] ); end; for i:=1 to N do for j:=1 to M do begin write('A[',i,',',j,']='); read ( A[i,j] ); end; Если переставить циклы? ? A[1,1]=25 A[1,2]=14 A[1,3]=14... A[3,4]=54 i-строка J- столбец for j:=1 to M do for i:=1 to N do begin ! Компилятор воспринимает 1-ый индекс как номер строки, как бы он ни был обозначен в программе.

5 Матрицы Заполнение случайными числами Randomize; for i:=1 to N do for j:=1 to M do A[i,j] := random(25); Randomize; for i:=1 to N do for j:=1 to M do A[i,j] := random(25); цикл по строкам цикл по столбцам Вывод на экран for i:=1 to N do begin writeln; end; for i:=1 to N do begin writeln; end; перейти на новую строку for j:=1 to M do write ( A[i,j]:5 ); for j:=1 to M do write ( A[i,j]:5 ); вывод строки Если переставить циклы? ? в той же строке

6 Обработка элементов матрицы Задача: заполнить матрицу из 3 строк и 4 столбцов случайными числами и вывести ее на экран. Найти сумму элементов матрицы. program qq; const N = 3; M = 4; var A: array[1..N,1..M] of integer; i, j, S: integer; begin { заполнение матрицы и вывод на экран} S := 0;{ нахождение суммы элементов матрицы } writeln('Сумма элементов матрицы ', S); End. program qq; const N = 3; M = 4; var A: array[1..N,1..M] of integer; i, j, S: integer; begin { заполнение матрицы и вывод на экран} S := 0;{ нахождение суммы элементов матрицы } writeln('Сумма элементов матрицы ', S); End. for i:=1 to N do for j:=1 to M do S := S + A[i,j]; for i:=1 to N do for j:=1 to M do S := S + A[i,j];

7 Задания Заполнить матрицу из 8 строк и 5 столбцов числами в интервале [-10,10] и вывести ее на экран. А) Найти минимальный и максимальный элементы в матрице их номера. Формат вывода: Минимальный элемент A[3,4]=-6 Максимальный элемент A[2,2]=10 Б) Вывести на экран строку, сумма элементов которой максимальна. Формат вывода: Строка 2: !!! Поиск Min и Max оформить в подпрограмме !!! Поиск Min и Max оформить в подпрограмме.

Домашнее задание: Четные варианты: Дана прямоугольная целочисленная матрица (-10 до 10). А) Найти максимальные элементы в каждом столбце, указав его номер строки. Б) Заменить все максимальные элементы на «0». Нечетные варианты: Дана прямоугольная целочисленная матрица (-10 до 10). А) Найти максимальную сумму элементов каждого столбца. Б) Заменить все элементы матрицы

9 Операции с матрицами Задача 1. Вывести на экран главную диагональ квадратной матрицы из N строк и N столбцов. A[1,N] A[2,2] A[3,3] A[N,N] for i:=1 to N do write ( A[i,i]:5 ); for i:=1 to N do write ( A[i,i]:5 ); Задача 2. Вывести на экран побочную диагональ. A[N,1] A[N-1,2] A[2,N-1] for i:=1 to N do write ( A[i, ]:5 ); for i:=1 to N do write ( A[i, ]:5 ); N+1-i сумма номеров строки и столбца N+1 A[1,1]

10 Операции с матрицами Задача 3. Найти сумму элементов, стоящих на главной диагонали и ниже ее. Одиночный цикл или вложенный? ? строка 1: A[1,1] строка 2: A[2,1]+A[2,2]... строка N: A[N,1]+A[N,2]+...+A[N,N] S := 0; for i:= 1 to N do S := 0; for i:= 1 to N do цикл по всем строкам for j:= 1 to i do S := S + A[i,j]; for j:= 1 to i do S := S + A[i,j]; складываем нужные элементы строки i

11 Операции с матрицами Задача 4. Перестановка строк или столбцов. В матрице из N строк и M столбцов переставить 2-ую и 4-ую строки j A[2,j] A[4,j] for j:=1 to M do begin c := A[2,j]; A[2,j] := A[4,j]; A[4,j] := c; end; for j:=1 to M do begin c := A[2,j]; A[2,j] := A[4,j]; A[4,j] := c; end; Задача 5. К третьему столбцу добавить шестой. for i:=1 to N do A[i,3] := A[i,3] + A[i,6]; for i:=1 to N do A[i,3] := A[i,3] + A[i,6];

12 Задания Заполнить матрицу из 7 строк и 7 столбцов случайными числами в интервале [-10,10] и вывести ее на экран. Обнулить элементы, отмеченные зеленым фоном, и вывести полученную матрицу на экран.