Главная страница

Лабораторная работа 13 Программирование задач с двумерными массивами Пятибратов А. Р. Студент 1 курса 380302пмао21


Скачать 0.97 Mb.
НазваниеЛабораторная работа 13 Программирование задач с двумерными массивами Пятибратов А. Р. Студент 1 курса 380302пмао21
Дата12.02.2022
Размер0.97 Mb.
Формат файлаdocx
Имя файлаotchet_13.docx
ТипЛабораторная работа
#359685

ЮРГПУ (НПИ)

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

Программирование задач с двумерными массивами

Выполнил: Пятибратов А.Р.

Студент 1 курса; 380302-ПМа-о21

Проверил: доц., к.т.н. Косиченко М.Ю.

Содержание:

1.1. Постановка задачи

1.2. Формулировки решаемых задач

1.3. Описание выполнения заданий 1,2,3,4,5

1.1. Постановка задачи:

1. Изучить следующие вопросы применительно к языку программирования Pascal в системе программирования PascalABC.NET:

  • понятия и используемую в двумерных массивах терминологию;

  • синтаксис описания двумерного массива;

  • синтаксис доступа к элементу двумерного массива;

  • типовые программные фрагменты вычисления отдельных характеристик двумерных массивов;

  • типовые программные фрагменты вычисления в двумерных массивах отдельных характеристик по строкам и столбцам;

  • типовые программные фрагменты операций, выполняемых с двумерными массивами;

  • особенности программирования задач с двумерными массивами;

  • особенности составления блок-схем для решения задач с двумерными массивами.

2. Выполнить следующие задания:

1.2. Формулировки решаемых задач:

Задача 1. В регионе в течение m месяцев фиксируют среднюю температуру в n населенных пунктах ( i =1, 2,...,m; j =1, 2,...,n ). Определить населенные пункты с максимальной и минимальной температурой за указанный период, а также количество значений средней температуры, которые не лежат в диапазоне от -10+0+1до 15+0+1.

Указание. Преобразовать условие задачи следующим образом. Рас-

смотреть двумерный массив А, содержащий m строк и n столбцов. Найти в массиве максимальное значение max, минимальное значение min и количество k элементов массива, значения которых лежат вне диапазона от -10+1+1до 15+1+1. Все элементы массива в задаче считать действительными числами. Вывести результаты, включающие 1+10 знаков, из них 1+2 цифр после запятой (для дробных чисел).

Количество строк m, количество столбцов n и массив А рассматривать как исходные данные, заданные следующими значениями:

m =3;

n= 4;

А =
Задача 2. В двумерном массиве A из m строк и n столбцов найти сумму всех элементов и произведение элементов, меньших 0+1. Количество строк m, количество столбцов n и массив A рассматривать как исходные данные, заданные следующими значениями:

т = 3;

n = 4;

А =
Задача 3. В двумерном массиве A из m строк и n столбцов найти максимальное значение в каждой строке и минимальное значение в каждом столбце. Количество строк m, количество столбцов n и массив A рассматривать как исходные данные. Массив А определяется условием задачи 2.

Задача 4. В двумерном массиве A из m строк и n столбцов уменьшить положительные элементы на 30 и сформировать массив B увеличением элементов массива A на 40. Количество строк m, количество столбцов n и массив A рассматривать как исходные данные. Массив А берется из задачи 2.

Задача 5. В двумерном массиве A из n строк и n столбцов найти сумму всех элементов и заменить на нули элементы на главной диагонали. Количество строк m, количество столбцов n и массив A рассматривать как исходные данные, заданные следующим образом:

n = 4;

А =
1.3. Описание выполнения заданий:
Задача 1:

Program Lab13_1;

Var

A:array[1..10,1..15] of real;

max,min:real;

i,j,m,n,k:integer;

Begin

writeln('Введи m,n');

read(m,n);

writeln('Введи массив A');

for i:=1 to m do

for j:=1 to n do

read(A[i,j]);

max:=A[1,1];

min:=A[1,1];

k:=0;

for i:=1 to m do

for j:=1 to n do

begin

if A[i,j]>max

then max:=A[i,j];

if A[i,j]
then min:=A[i,j];

if (A[i,j]<-8)

or (A[i,j]>26) then

k:=k+1;

end;

writeln('max= ',max:11:3);

writeln('min=',min:11:3);

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

End.






Задача 2.

Program Lab13_2;

Var

A:array[1..10,1..15] of real;

s,min:real;

i,j,m,n:integer;

Begin

writeln('Введи m,n');

read(m,n);

writeln('Введи массив A');

for i:=1 to m do

for j:=1 to n do

read(A[i,j]);

s:=0;

for i:=1 to m do

for j:=1 to n do

s:=s+A[i,j];

min:=1E10;

for i:=1 to m do

for j:=1 to n do

if (A[i,j]
and (A[i,j]>2)

then min:=A[i,j];

writeln('s=',s:11:3);

writeln('min=',min:11:3);

End.







Задача 3.


Program Lab13_3;

Var

A:array[1..10,1..15] of real;

p,sr:array[1..100] of real;

i,j,m,n:integer;

s: real;

Begin

writeln('Введи m,n');

read(m,n);

writeln('Введи массив A');

for i:=1 to m do

for j:=1 to n do

read(A[i,j]);

for i:=1 to m do

begin

p[i]:=1;

for j:=1 to n do

p[i]:=p[i]*A[i,j];

end;

for j:=1 to n do

begin

s:=0;

for i:=1 to m do

s:=s+A[i,j];

sr[j]:=s/m;

end;

writeln('Массив p');

for i:=1 to m do

writeln(p[i]:11:3);

writeln('Массив sr');

for j:=1 to n do

writeln(sr[j]:11:3);

End.






Задача 4.


Program Lab13_4;

Var

A:array[1..10,1..15] of real;

i,j,m,n:integer;

sum:real;

Begin

writeln('Введи m,n');

read(m,n);

writeln('Введи массив A');

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

if A[i,j]>0 then

A[i,j]:=A[i,j]+50;

sum:=0;

for i:=1 to n do

begin

sum:=sum+A[m,i];

end;

writeln('Массив A');

for i:=1 to m do

begin

for j:=1 to n do

write(A[i,j]:11:3);

writeln;

end;

writeln('sum=',sum:11:3);

End.







Задача 5.


Program Lab13_5;

Var

A,B:array[1..10,1..15] of real;

i,j,n,k:integer;

sr,s: real;

begin

writeln('Введи n, n');

read(n,n);

writeln('Введи массив A');

for i:=1 to n do

for j:=1 to n do

read(A[i,j]);

s:=0;

k:=0;

for i:=1 to n do

for j:=1 to n do

if ithen

begin

k:=k+1;

s:=s+A[i,j];

sr:=s/k;

end;

Writeln('sr=',sr:11:3);

for i:=1 to n do

for j:=1 to n do

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

writeln('Массив B');

for i:=1 to n do

begin

for j:=1 to n do

write(B[i,j]:11:3);

writeln;

end;

End.






Выполнил: Пятибратов Артем Романович

студент 1 курса; 380302-ПМа о21

Проверил: доц., к.т.н. Косиченко М.Ю.


написать администратору сайта