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

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



Advertisements
Похожие презентации
Матрицы 1. 2 Задача: запомнить положение фигур на шахматной доске abcdefgh
Advertisements

1 Программирование на языке Паскаль Матрицы. 2 Задача: запомнить положение фигур на шахматной доске abcdefgh
Программирование на языке Си Часть II Матрицы Учитель информатики: Корогод В.А.
К. Поляков, Программирование на алгоритмическом языке. Часть II Тема 5. Матрицы.
К. Поляков, Программирование на алгоритмическом языке. Часть II Тема 5. Матрицы.
1 Программирование на языке Паскаль Тема 2. Максимальный элемент массива.
Двумерный массив. Матрица Прямоугольная таблица, состоящая из чисел А=
1 Программирование на языке Паскаль Тема 1. Массивы.
Двумерные массивы Решение задач из сборника «Задачи по программированию» под редакцией С. Окулова.
Язык программирования Pascal Массивы А. Жидков. Массивы Массив – поименованный набор однотипных элементов, каждый из которых имеет свой номер, (индекс).
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] Двумерный массив можно представить.
Двумерные массивы. Заполнение и вывод элементов. Понятие. Двумерный массив – это массив с двумя измерениями (прямоугольные таблицы, матрицы). Пример:
К. Поляков, Программирование на языке Паскаль Часть II Тема: Поиск максимального элемента массива.
Массивы – структурированный тип данных, состоящий из фиксированного числа элементов одинакового типа, имеющих общее имя. Массив.
Решение задач с использованием массивов
Например: семейство бабочек; Понятие одномерного массива поле цветов;
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.
Двумерные массивы Понятие двумерного массива Описание типа двумерного массива Формирование двумерного массива.
1 Случайные числа на языке Паскаль Тип величины Диапазон значений Паскаль Веществен ный [ 0, 1 ]x : = random [ 0, a]x : = random * a [ a, b ]x : = random.
1 Программирование на языке Паскаль Максимальный элемент массива.
Транксрипт:

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

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; B: array[-3..0,-8..M] of integer; Q: array['a'..'d',False..True] of real; const N = 3; M = 4; var A: array[1..N,1..M] of integer; B: array[-3..0,-8..M] of integer; Q: array['a'..'d',False..True] 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 i j j for j:=1 to M do for i:=1 to N do begin

Матрицы 5 Заполнение случайными числами for i:=1 to N do for j:=1 to M do A[i,j] := random(25) - 10; for i:=1 to N do for j:=1 to M do A[i,j] := random(25) - 10; Какой интервал? ? цикл по строкам цикл по столбцам Вывод на экран 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] и вывести ее на экран. «3»: Удвоить все элементы матрицы и вывести её на экран. «4»: Найти минимальный и максимальный элементы в матрице их номера. Формат вывода: Минимальный элемент A[3,4]=-6 Максимальный элемент A[2,2]=10 «5»: Вывести на экран строку, сумма элементов которой максимальна. Формат вывода: Строка 2:

Операции с матрицами 8 Задача 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]

Операции с матрицами 9 Задача 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

Операции с матрицами 10 Задача 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];

Задания 11 Заполнить матрицу из 7 строк и 7 столбцов случайными числами в интервале [10,90] и вывести ее на экран. Заполнить элементы, отмеченные зеленым фоном, числами 99, и вывести полученную матрицу на экран. «3»: «4»: «5»: