Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




 

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

 

Программа:

{Лабораторная работа №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

 

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

 

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

Вариант задания Условия задачи Примечания
  Вычислить большие корни квадратных уравнений x2-ax+b=0 cy2-dx-f=0 Все корни действительные
  Подсчитать число точек, находящихся внутри круга радиусом r с центром в начале координат; координаты заданы массивами X(100), Y(100) Расстояние точки от начала координат вычислять в подпрограмме
  Определить периметры треугольников, заданных координатами их вершин XA(5), XB(5), XC(5), YA(5), YB(J), YC(5) Длину стороны треугольников вычислять в подпрограмме
  Подсчитать число точек, находящихся внутри круга радиусом r с центром в точке с координатами (1,1); координаты заданны массивами X(80), Y(80) Расстояние точки от центра круга определять в подпрограмме
  Вычислить где v1, v2, v3 – объем шаров с радиусами r1, r2, r3 соответственно v1 вычислять в подпрограмме
  Вычислить суммы положительных элементов массивов X(N), Y(M), Z(K) N£60 M£60 K£70
  Вычислить среднее арифметическое положительных элементов для массивов A(N1), B(N2), C(N3) N1£100 N2£100 N3£100
  Подсчитать количество элементов матриц X(10,15) и Y(20,12), удовлетворяющих условиям 0£xij£1 и 0£yij£1  
  Вычислить суммы положительных элементов каждой строки для матриц А(10,12) и В(15,10)    
  Вычислить где xm1 и xm2 – наименьшие элементы массивов XI(70), Х2(80)    
  Вычислить суммы элементов главных диагоналей матриц А(N,N) В(М,М) М£20 N£30
  Вычислить где S1 – сум­ма положительных элементов массива Х(50); S2 – сумма отрицательных эле­ментов массива Y(60) Обе суммы вы­числять в одной подпрограмме
  Подсчитать число нулевых элемен­тов для матриц А(N,М) и В(М,N) М£20 N£20
  Вычислить суммы элементов нижних треугольных матриц для матриц А(15,15) и В(20,20)    
  Определить число положительных элементов до первого отрицательного в массивах Х (40), Y(50), Z(N) N£50

 

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

 

Таблица 11

Вариант задания Условие задачи Примечания
1 Вычислить где s1 и k2 – сумма и количество положительных элементов массива Х(N); s2 и k2 – сумма и количество положительных эле­ментов массива Y(М) М£100 N£100
  Вычислить где s1 и k1 – сумма и количество положительных элементов массива Х(100); s2 и k2 – сумма и количество отрицательных эле­ментов массива Y(80) Обе суммы вы­числять в одной подпрограмме
  Вычислить и запомнить суммы поло­жительных элементов каждой строки матрицы А(10,20), В(15,10)    
  Вычислить z=(x1+y1)/(x2-y2), где x1 и х2 – корни уравнения 2х2 +x-4=0, у1 и у2 – корни уравнения ау2+2у-1=0 Все корни дейст­вительные
  Найти наибольшие элементы и их по­рядковые номера массивов Х (N) и Y (М) N£80 М£70
  Переписать положительные элементы массива Х(100) и Y(80) в массив Z подряд Запись в массив Z осуществлять в подпрограмме
  Найти наименьшие элементы и номера строк и столбцов, в которых они расположены, для матриц А(10,15) и В(15,12)    
  Вывести на печать элементы цело­численных матриц N(5,8) и М(10,6), кратные трем    
  Вычислить где xi и yi заданы массивами Все суммы вы­числять в одной подпрограмме
  Вычислить где xmax – максимальный элемент мас­сива Х(50); ymin – минимальный эле­мент массива Y(40) xmax и ymin вычислять в одной подпрограмме
  Вычислить и запомнить количество отрицательных элементов каждого столбца для матриц А(10,10), В(15,20)    
  Вычислить суммы элементов верхней треугольной матрицы для матриц А(10,10), В(15,15)    
  Найти средние значения и стандарт­ные отклонения для элементов массивов X(N),Y(M) N£100 М£100
  Вычислить суммы и количества элементов, находящихся в интервале от а до b матриц Х(10, 8) и Y(10,12)    
  Преобразовать массивы Х(50) и Y(60), расположив в них подряд толь­ко положительные элементы. Вместо остальных элементов записать нули    

 

 




Поделиться с друзьями:


Дата добавления: 2014-12-25; Просмотров: 1349; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.