Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инф(Лаб)ХТФ+ЭнФ(2).doc
Скачиваний:
30
Добавлен:
11.04.2015
Размер:
708.61 Кб
Скачать

Порядок выполнения

  1. Зайти в Borland Pascal.

  2. Набрать текст программы для решения задачи № 1 и получить ответ для контрольного примера.

  3. Исправить программу так, чтобы она находила сумму и произведение элементов выше главной диагонали.

  4. Исправить программу так, чтобы она находила минимальное и максимальное значение отрицательных элементов.

  5. Исправить программу так, чтобы она находила количество нулевых и среднее значение положительных элементов.

Пример задачи

Задача 1. Дан двумерный массивA (m,n). Найти сумму и произведение всех элементов, а также вычислить минимальный и максимальный элементы.

Program lab5;

Var

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

i, j, m, n: integer; s, p, min, max: 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]);

s:=0; p:=1; min:=A[1,1]; max:=A[1,1];

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

begin

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

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

if A[i,j]>max then max:=A[i,j];

end;

writeln('s=',s:10:3,' p=',p:10:3,

' min=',min:10:3,' max=',max:10:3);

End.

Контрольный пример.

Исходные данные:

;

;

.

Результаты:

;

;

;

.

Дополнительное задание

  1. Дан массив B (m,n). Найти сумму положительных элементов и количество элементов в диапазоне от 10 до 20.

  2. Дан массив C (m,n). Найти произведение элементов, больших среднего значения.

  3. Дан массив D (m,n). Найти среднее значение среди элементов, не совпадающих с минимальным.

  4. Дан массив L (n,n). Найти максимальный среди отрицательных элементов и сумму элементов на главной диагонали.

  5. Дан массив P (n,n). Элементы выше главной диагонали заменить на ноль, а ниже главной диагонали – округлить.

  6. Сформировать двумерный массив A (m,n), элементы которого вычисляются по формуле:, гдеR (m,n) – двумерный массив случайных величин.

  7. Дан массив R (m,n). Найти произведения элементов в каждой строке и максимальные элементы в каждом столбце.

  8. Дан массив W (m,n). Найти суммы элементов в каждом столбце и минимальные элементы в каждой строке.

  9. Дан массив S (m,n). Найти массив минимальных элементов в каждой строке, а затем в новом массиве отсортировать элементы по возрастанию.

  10. Дан массив T (m,n). Отсортировать столбцы по убыванию их средних значений.

Фрагменты вычисления характеристик строк и столбцов двумерного массива

Характеристика

Для каждой строки

Для каждого столбца

  1. Сумма

s

for i:=1 to m do

begin

s[i]:=0;

for j:=1 to n do

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

end;

for j:=1 to n do

begin

s[j]:=0;

for i:=1 to m do

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

end;

  1. Произведение

p

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

p[j]:=1;

for i:=1 to m do

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

end;

  1. Максимальное значение

max

for i:=1 to m do

begin

max[i]:=A[i,1];

for j:=1 to n do

if A[i,j]>max[i]

then max[i]:=A[i,j];

end;

for j:=1 to n do

begin

max[j]:=A[1,j];

for i:=1 to m do

if A[i,j]>max[j]

then max[j]:=A[i,j];

end;

  1. Минимальное значение

min

for i:=1 to m do

begin

min[i]:=A[i,1];

for j:=1 to n do

if A[i,j]<min[i]

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

end;

for j:=1 to n do

begin

min[j]:=A[1,j];

for i:=1 to m do

if A[i,j]<min[j]

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

end;