Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИВТ - Практикум.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
583.68 Кб
Скачать

Пример выполнения работы

Условие: Расположить по возрастанию элементы побочной диагонали матрицы.

Программа:

{Лабораторная работа №7}

{Обработка матриц}

{Выполнена Ф.И.О.}

{Группа }

program lab7;

uses crt;

var a:array[1..10,1..10] of integer;

m,k,strok,stolbz,i,j:integer;

b:array[1..10] of integer;

begin

randomize;

clrscr;

writeln('Введите размерность матрицы');

writeln('не более 10 на 10');

readln(strok,stolbz);

writeln;

writeln(’Сформированная матрица’);

writeln;

for j:=1 to stolbz do

write(' ':3,j);

writeln;

for i:=1 to strok do

begin

write(i:2);

for j:=1 to stolbz do

begin

a[i,j]:=800-random(1000);

write(' ',a[i,j]:3);

end;

writeln;

end;

j:=1;

for i:=1 to strok do

begin

b[j]:=a[i,strok+1-i];

j:=j+1;

end;

writeln;

writeln('Элементы побочной диагонали');

for j:=1 to strok do

writeln('b[',j,']=',b[j]);

for k:=1 to strok-1 do

for j:=k+1 to strok do

begin

if b[k]>b[j] then

begin

m:=b[k];

b[k]:=b[j];

b[j]:=m;

end;

end;

writeln;

writeln('Элементы побочной диагонали,');

writeln(’расположенные по возрастанию’);

for j:=1 to strok do

writeln('b[',j,']=',b[j]);

end.

Результат выполнения программы:

введите размерность матрицы

не более 10 на 10

5

5

Сформированная матрица

1 2 3 4 5

1 -38 54 480 330 8

2 513 -143 219 161 254

3 606 475 -49 -76 14

4 112 2 127 671 -51

5 121 -83 635 380 739

элементы побочной диагонали

b[1]=8

b[2]=161

b[3]=-49

b[4]=2

b[5]=121

элементы побочной диагонали,

расположенные по возрастанию

b[1]=-49

b[2]=2

b[3]=8

b[4]=121

b[5]=161

Контрольные вопросы

  1. Указать основные правила организации вложенных циклов.

  2. Указать способы выхода из внутреннего цикла.

  3. Сколько раз выполняются операторы К=0 и К=К+1 в программе примера?

  4. Как организовать вывод матрицы в общепринятом виде?

  5. Как организовать вывод нижней треугольной матрицы в общепринятом виде?

  6. Как организовать ввод матрицы размером NM элементов?

Лабораторная работа №8 «Программирование с использованием подпрограмм пользователя»

Цель работы – овладение навыками алгоритмизации и программирования задач и использованием подпрограмм пользователя различных видов, овладение навыками написания подпрограмм и обращения к ним, выбора параметров подпрограмм.

Задание к работе

1. Составить программу, использующую подпрограмму-функцию, в соответствии с номером параметра, указанным в таблице 10.

Таблица 10

Вариант задания

Условия задачи

Примечания

1

Вычислить большие корни квадратных уравнений

x2-ax+b=0

cy2-dx-f=0

Все корни действительные

2

Подсчитать число точек, находящихся внутри круга радиусом r с центром в начале координат; координаты заданы массивами X(100), Y(100)

Расстояние точки от начала координат вычислять в подпрограмме

3

Определить периметры треугольников, заданных координатами их вершин XA(5), XB(5), XC(5), YA(5), YB(J), YC(5)

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

4

Подсчитать число точек, находящихся внутри круга радиусом r с центром в точке с координатами (1,1); координаты заданны массивами X(80), Y(80)

Расстояние точки от центра круга определять в подпрограмме

5

Вычислить где v1, v2, v3 – объем шаров с радиусами r1, r2, r3 соответственно

v1 вычислять в подпрограмме

6

Вычислить суммы положительных элементов массивов X(N), Y(M), Z(K)

N60

M60

K70

7

Вычислить среднее арифметическое положительных элементов для массивов A(N1), B(N2), C(N3)

N1100

N2100

N3100

8

Подсчитать количество элементов матриц X(10,15) и Y(20,12), удовлетворяющих условиям 0xij1 и 0yij1

9

Вычислить суммы положительных элементов каждой строки для матриц А(10,12) и В(15,10)

10

Вычислить где xm1 и xm2 – наименьшие элементы массивов XI(70), Х2(80)

11

Вычислить суммы элементов главных диагоналей матриц А(N,N) В(М,М)

М20

N30

12

Вычислить где S1 – сум­ма положительных элементов массива Х(50); S2 – сумма отрицательных эле­ментов массива Y(60)

Обе суммы вы­числять в одной подпрограмме

13

Подсчитать число нулевых элемен­тов для матриц А(N,М) и В(М,N)

М20 N20

14

Вычислить суммы элементов нижних треугольных матриц для матриц А(15,15) и В(20,20)

15

Определить число положительных элементов до первого отрицательного в массивах Х (40), Y(50), Z(N)

N50

  1. Выполнить на компьютере программу, использующую под­программу-процедуру в соответствии с номером, указанным в таблице 11.

Таблица 11

Вариант задания

Условие задачи

Примечания

1

Вычислить где s1 и k2 – сумма и количество положительных элементов массива Х(N); s2 и k2 – сумма и количество положительных эле­ментов массива Y(М)

М100

N100

2

Вычислить где s1 и k1 – сумма и количество положительных элементов массива Х(100); s2 и k2 – сумма и количество отрицательных эле­ментов массива Y(80)

Обе суммы вы­числять в одной подпрограмме

3

Вычислить и запомнить суммы поло­жительных элементов каждой строки матрицы А(10,20), В(15,10)

4

Вычислить z=(x1+y1)/(x2-y2), где x1 и х2 – корни уравнения 2х2 +x-4=0, у1 и у2 – корни уравнения ау2+2у-1=0

Все корни дейст­вительные

5

Найти наибольшие элементы и их по­рядковые номера массивов Х (N) и Y (М)

N80

М70

6

Переписать положительные элементы массива Х(100) и Y(80) в массив Z подряд

Запись в массив Z осуществлять в подпрограмме

7

Найти наименьшие элементы и номера строк и столбцов, в которых они расположены, для матриц А(10,15) и В(15,12)

8

Вывести на печать элементы цело­численных матриц N(5,8) и М(10,6), кратные трем

9

Вычислить где xi и yi заданы массивами

Все суммы вы­числять в одной подпрограмме

10

Вычислить где xmax – максимальный элемент мас­сива Х(50); ymin – минимальный эле­мент массива Y(40)

xmax и ymin вычислять в одной подпрограмме

11

Вычислить и запомнить количество отрицательных элементов каждого столбца для матриц А(10,10), В(15,20)

12

Вычислить суммы элементов верхней треугольной матрицы для матриц А(10,10), В(15,15)

13

Найти средние значения и стандарт­ные отклонения для элементов массивов

X(N),Y(M)

N100

М100

14

Вычислить суммы и количества элементов, находящихся в интервале от а до b матриц Х(10, 8) и Y(10,12)

15

Преобразовать массивы Х(50) и Y(60), расположив в них подряд толь­ко положительные элементы. Вместо остальных элементов записать нули