Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_ лекций по Паскалю_ИиКТ.doc
Скачиваний:
12
Добавлен:
24.09.2019
Размер:
2.85 Mб
Скачать

Поиск минимального (максимального) элемента массива

Алгоритм поиска минимального (максимального) элемента массива довольно очевиден: делается предположение, что первый элемент массива является минимальным (максимальным), затем остальные элементы массива сравниваются с этим элементом. Если обнаруживается, что проверяемый элемент меньше ( больше) принятого за минимальный (максимальный) и продолжается проверка оставшихся элементов. Ниже на рис. 20 представлена блок-схема алгоритма поиска минимального элемента в массиве из 10 целых чисел.

Рис.20. Блок-схема алгоритма поиска минимального элемента.

Программа:

Program Example ;

Var

A : Array[1..10] of integer ; { массив целых чисел ] ;

Min : Integer ; { номер минимального элемента массива }

i : Integer ; { номер элемента сравниваемого с минимальным}

Begin

WriteLn(‘ Введите 10 целых чисел в одной строке через пробел ‘) ;

for i :=1 to 10 do ReadLn(A[i]) ; { Ввод массива целых }

Min := A[1] ;

for i := 2 to 10 do

if A[i] < Min then Min := A[i] ;

WriteLn(‘ Минимальный элемент массива : ‘, Min:3) ;

End.

Операции с матрицами

Матрицей A размерности n  m называется двумерный массив из n строк и m столбцов :

где  элементы матрицы A.

Наиболее типичные действия производимые над матрицами:

  1. сложение матриц;

  2. транспонирование матрицы;

  3. умножение матриц.

Сложение матриц

Рассмотрим на примере сложения двух матриц A и B размерности 3  4.

Блок-схема алгоритма сложения матриц представлена на рис. 21.

Рис.21. Блок-схема алгоритма сложения матриц.

Программа:

program Summa_matrix;

Const

m=4;

n=3;

Type

matrix = array[1..n,1..m] of Integer;

Var

A,B,C : matrix;

i,j : Integer;

BEGIN

Writeln('Ввод матрицы A');

for i:= 1 to n do

begin

writeln('Cтрока',i:2);

for j := 1 to m do

begin

write('Столбец',j:2,'->');

readln(A[i,j])

end;

end;

Writeln('Ввод матрицы B');

for i:= 1 to n do

begin

writeln('Cтрока',i:2);

for j := 1 to m do

begin

write('Столбец',j:2,'->');

readln(B[i,j])

end;

end;

writeln('Матрица С - сумма матриц A и B') ;

for i:= 1 to n do begin

for j := 1 to m do begin

C[i,j] := A[i,j] + B[i,j] ;

write(C[i,j]:3)

end ;

writeln ;

end

End.

Транспонирование матрицы

Пусть дана матрица размерности n  m. Матрица размерности m  n называется транспонированной к матрице A, если ее элементы определены по формуле .

Рассмотрим пример транспонирования матрицы размерности 2  3.

Блок-схема алгоритма транспонирования матрицы представлена на рис. 22.

Рис.22. Блок-схема алгоритма транспонирования матрицы.

Программа:

program Transp_matrix;

Const

m=3;

n=2;

Var

A : array[1..n,1..m] of integer;

B : array[1..m,1..n] of integer;

i,j : Integer;

BEGIN

Writeln('Ввод матрицы A');

for i:= 1 to n do

begin

writeln('Cтрока',i:2);

for j := 1 to m do

begin

write('Столбец',j:2,'->');

readln(A[i,j])

end;

end;

writeln('Матрица B - Транспонированная к матрице A') ;

for i:= 1 to m do begin

for j := 1 to n do begin

B[i,j] := A[j,i] ;

write(B[i,j]:3)

end ;

writeln ;

end

End.