Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторные работы по информатике 6-15.doc
Скачиваний:
3
Добавлен:
09.11.2018
Размер:
1.79 Mб
Скачать

3) Объяснить работу программы.

4) В каком виде выводится мас-сив?

5) Провести вычисление для массива А(3,3): (1, 2, 3, 4, 5, 6, 7, 8, 9).

Пример 11.3 Найти среднее арифметическое элементов матрицы A( 3, 3) (см. 11.1).

Program Pr_11_3;

const m=3; n=3;

var a:array[1..m,1..n] of real;

i,j,k:integer; S,Sarifm:real;

begin

writeln('vvedite massiv');

for i:=1 to m do

for j:=1 to n do

read (a[i,j]);

S:=0; k:=0;

for i:=1 to m do

for j:=1 to n do

begin

S:=S+a[i,j]; k:=k+1;

end;

Sarifm:=S/k;

writeln('vivedite massiv');

for i:=1 to m do

begin

for j:=1 to n do

write(a[i,j]:6:2);

writeln;

end;

writeln('S=',S:6:2);

writeln('k=',k:6);

writeln('Sarifm=',Sarifm:6:2)

end.

Пример 11.3 (Продолжение).

1) Как описывается двумерный массив?

2) В каком виде вводится мас-сив (строка или столбец)?

3) Объяснить работу программы.

4) В каком виде выводится мас-сив?

5) Провести вычисление для массива А(3,3): (1, 2, 3, 4, 5, 6, 7, 8, 9).

Пример 11.4 Найти среднее геометрическое элементов матрицы A( 3, 3) (см. 11.1).

Program Pr_11_4;

const m=3; n=3;

var

a:array[1..m,1..n] of real;

i,j:integer;

P,Sgeom:real;

begin

writeln('vvedite massiv');

for j:=1 to m do

for i:=1 to n do

read(a[i,j]);

P:=1;

for i:=1 to m do

for j:=1 to n do

begin

P:=P*a[i,j];

end;

Sgeom:=exp((1/(m*n))*ln(P));

writeln('P=',P:10:2);

writeln('Sgeom=',Sgeom:8:2)

end.

Пример 11.4 (Продолжение).

1) Как описывается двумерный массив?

2) В каком виде вводится мас-сив (строка или столбец)?

3) Объяснить работу программы.

4) В каком виде выводится мас-сив?

5) Провести вычисление для массива А(3,3): (1, 2, 3, 4, 5, 6, 7, 8, 9).

Пример 11.5 Заполнить массив A= {a[i,j]}, i =1,…,m; j=1,…,n (см. 11.1) нулями (обнулить).

Program Pr_11_5;

const m=3; n=3;

type

ar=array[1..m,1..n] of real;

var

a:ar; i,j:integer;

begin

writeln('vvedite massiv');

for i:=1 to m do

for j:=1 to n do

read (a[i,j]);

for i:=1 to m do

for j:=1 to n do

a[i,j]:=0;

writeln('vivedite massiv');

for i:=1 to m do

begin

for j:=1 to n do

write(a[i,j]:6:2);

writeln;

end;

end.

Пример 11.5 (Продолжение).

1) Как описывается двумерный массив?

2) В каком виде вводится мас-сив (строка или столбец)?

3) Объяснить работу программы.

4) В каком виде и какой массив выводится?

5) Провести вычисление для массива А(3,3): (1, 2, 3, 4, 5, 6, 7, 8, 9).

Лабораторная работа № 12

Работа в среде Турбо Паскаль.

Двумерные массивы.

Поиск наибольших и наименьших элементов. Замена положений наибольшего и наименьшего элементов в

массиве.

Пример 12.1 Найти максимальный элемент массива A( 3, 3) .

Program Pr_12_1;

const m=3; n=3;

var a:array[1..m,1..n] of real;

i,j,k,l:integer; amax:real;

begin

writeln('vvedite massiv');

for i:=1 to m do

for j:=1 to n do

read (a[i,j]);

amax:=a[1,1]; k:=1;l:=1;

for i:=1 to m do

for j:=1 to n do

if amax<a[i,j] then

begin

amax:=a[i,j]; k:=i;l:=j;

end;

for i:=1 to m do

begin

for j:=1 to n do

write(a[i,j]:6:2);

writeln;

end;

writeln('amax=',amax:6:2);

writeln('stroka k=',k:2);

writeln('stolbec l=',l:2)

end.

Пример 12.1 (Продолжение).

1) Организовать по программе ввод двумерного массива А(3,3) : 1 2 3

4 5 6

7 8 9

2) Как описывается двумерный массив в программе?

3) В каком виде вводится задан-ный массив (строка или стол-бец)?

4) Объяснить работу програм-мы.

5) Как надо изменить програм-му, чтобы организовать ввод массива в один столбец.

6) Провести вычисление по программе.

7) Изменить порядок элементов в матрице и провести новое вычисление.

Пример 12.2 Найти минимальный элемент массива A( 3, 3) .

Program Pr_12_2;

const m=3; n=3;

var a:array[1..m,1..n] of real;

i,j,k,l:integer; amin:real;

begin

writeln('vvedite massiv');

for i:=1 to m do

for j:=1 to n do

read (a[i,j]);

amin:=a[1,1]; k:=1;l:=1;

for i:=1 to m do

for j:=1 to n do

if amin>a[i,j] then

begin

amin:=a[i,j]; k:=i;l:=j;

end;

for i:=1 to m do

begin

for j:=1 to n do

write(a[i,j]:6:2);

writeln;

end;

writeln('amin=',amin:6:2);

writeln('stroka k=',k:2);

writeln('stolbec l=',l:2)

end.

Пример 12.2 (Продолжение).

1) Организовать по программе ввод двумерного массива А(3,3) : 1 2 3

4 5 6

7 8 9

2) Как описывается двумерный массив в программе?

3) В каком виде вводится задан-ный массив (строка или стол-бец)?

4) Объяснить работу програм-мы.

5) Как надо изменить програм-му, чтобы организовать ввод массива в один столбец.

6) Провести вычисление по программе.

7) Изменить порядок элементов в матрице и провести новое вычисление.

Пример 12.3 Поменять местами наибольший и наименьший элементы массива A( 3, 3) .

Program Pr_12_2;

const m=3; n=3;

var a:array[1..m,1..n] of real;

i,j,imin,imax,jmin,jmax:integer;

amin,amax:real;

begin writeln('vvedite massiv');

for i:=1 to m do

for j:=1 to n do read (a[i,j]);

writeln('vivedite massiv');

for i:=1 to m do begin

for j:=1 to n do write(a[i,j]:6:2);

writeln; end;

amin:=a[1,1]; imin:=1;jmin:=1;

amax:=a[1,1]; imax:=1;jmax:=1;

for i:=1 to m do for j:=1 to n do

if amin>a[i,j] then begin

amin:=a[i,j]; imin:=i;jmin:=j; end;

for i:=1 to m do for j:=1 to n do

if amax<a[i,j] then begin

amax:=a[i,j]; imax:=i;jmax:=j; end;

a[imin,jmin]:=amax;

a[imax,jmax]:=amin;

writeln('vivedite massiv');

for i:=1 to m do begin

for j:=1 to n do write(a[i,j]:6:2);

writeln; end;

end.

Пример 12.3 (Продолжение).

1) Организовать по программе ввод двумерного массива А(3,3) : 1 2 3

4 5 6

7 8 9

2) Как описывается двумерный массив в программе?

3) В каком виде вводится задан-ный массив (строка или стол-бец)?

4) Объяснить работу програм-мы.

5) Как надо изменить програм-му, чтобы организовать ввод массива в один столбец.

6) Провести вычисление по программе.

7) Изменить порядок элементов в матрице и провести новое вычисление.

Лабораторная работа № 13

Работа в среде Турбо Паскаль.

Двумерные массивы.

Замена строк и столбцов в матрице. Транспонирование

матрицы.

Пример 13.1 Поменять местами первую и вторую строки матрицы A( 3, 3) .

Program Pr_13_1;

const m=3; n=3;

var a:array[1..m,1..n] of real;

i,j:integer; buf:real;

begin

writeln('vvedite massiv');

for i:=1 to m do

for j:=1 to n do

read (a[i,j]);

writeln('ishodnaja matrica');

for i:=1 to m do

begin

for j:=1 to n do

write(a[i,j]:6:2);

writeln;

end;

for i:=1 to m do

for j:=1 to n do

begin

buf:=a[1,j]; a[1,j]:=a[2,j]; a[2,j]:=buf;

end;

writeln('preobrazovannaja matrica'); begin

for j:=1 to n do

write(a[i,j]:6:2);

writeln;

end;

end.

Пример 13.1 (Продолжение).

1) Организовать по программе ввод двумерного массива А(3,3) : 1 2 3

4 5 6

7 8 9

2) Как описывается двумерный массив в программе?

3) В каком виде вводится задан-ный массив (строка или стол-бец)?

4) Объяснить работу програм-мы.

5) Как надо изменить програм-му, чтобы организовать ввод массива в один столбец.

6) Провести вычисление по программе.

7) Изменить порядок элементов в матрице и провести новое вычисление.

Пример 13.2 Поменять местами первый и второй столбцы матрицы А(3, 3).

Program Pr_13_2;

const m=3; n=3;

var a:array[1..m,1..n] of real;

i,j:integer; buf:real;

begin

writeln('vvedite massiv');

for i:=1 to m do

for j:=1 to n do

read (a[i,j]);

writeln('ishodnaja matrica');

for i:=1 to m do

begin

for j:=1 to n do

write(a[i,j]:6:2);

writeln;

end;

for i:=1 to m do

for j:=1 to n do

begin

buf:=a[i,1]; a[i,1]:=a[i,2]; a[i,2]:=buf;

end;

writeln('preobrazovannaja matrica');

for i:=1 to m do

begin

for j:=1 to n do

write(a[i,j]:6:2);

writeln;

end;

end.

Пример 13.2 (Продолжение).

1) Организовать по программе ввод двумерного массива А(3,3) : 1 2 3

4 5 6

7 8 9

2) Как описывается двумерный массив в программе?

3) В каком виде вводится задан-ный массив (строка или стол-бец)?

4) Объяснить работу програм-мы.

5) Как надо изменить програм-му, чтобы организовать ввод массива в один столбец.

6) Провести вычисление по программе.

7) Изменить порядок элементов в матрице и провести новое вычисление.

Пример 13.3 Транспонировать матрицу А(3, 3).

Program Pr_13_3;

const m=3; n=3;

var a:array[1..m,1..n] of real;

i,j:integer; buf:real;

begin

writeln('vvedite massiv');

for i:=1 to m do

for j:=1 to n do

read (a[i,j]);

writeln('ishodnaja matrica');

for i:=1 to m do

begin

for j:=1 to n do

write(a[i,j]:6:2);

writeln;

end;

for i:=1 to m do

for j:=i+1 to n do

begin

buf:=a[i,j]; a[i,j]:=a[j,i]; a[j,i]:=buf;

end;

writeln('preobrazovannaja matrica');

for i:=1 to m do

begin

for j:=1 to n do

write(a[i,j]:6:2);

writeln;

end;

end.

Пример 13.3 (Продолжение).

1) Организовать по программе ввод двумерного массива А(3,3) : 1 2 3

4 5 6

7 8 9

2) Как описывается двумерный массив в программе?

3) В каком виде вводится задан-ный массив (строка или стол-бец)?

4) Объяснить работу програм-мы.

5) Как надо изменить програм-му, чтобы организовать ввод массива в один столбец.

6) Провести вычисление по программе.

7) Изменить порядок элементов в матрице и провести новое вычисление.