Процедуры и матрицы, их использование при решении задач в языке Pascal. Получение номеров столбцов, в которых все отрицательные числа превышают заданную величину

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

Балтийский Государственный

Технический Университет

«ВоенМех»

имени Д.Ф. Устинова

Отчет

к лабораторной работе по информатике №5

На тему

Процедуры и матрицы

Отчет выполнил студент

Факультета «И»

Батов Сергей

Группа И433

Санкт-Петербург 2003

Лабораторная работа по информатике №5

Тема: Процедуры и матрицы

Цель: Ознакомиться с понятием процедуры и матрицы. Научиться использовать их при решении задач в языке Pascal.

Исходная задача: Дана матрица EM*N. Где M<16 и N<11. Получить номера столбцов, в которых  все отрицательные числа превышают заданную величину.

Блок-схема алгоритма:

начало,ввод Ematr,false,flag:=true,i 1, m,true,(i<=m) and flag ,flag2:=true,конец,ввод min,i:=1,Ematr[i,j]<0 ,i:=i+1,вывод j,flag2:=false,true,false,true,false,Ematr[i,j]<0 И
Ematr[i,j]<=min,flag:=false,flag И flag2,true 


Листинг программы, решающей данную задачу:

program lab5;

const Mmax=15; Nmax=10;

type matrix = array [1..Mmax,1..Nmax] of real;

var Ematr: matrix;

m, n: integer;

min: real;

procedure Input_data (var m, n: integer; var Ematr: matrix; var min: real);

var i, j: integer;

begin

write('Введите размеры матрицы: '); readln(m, n);

writeln('Ввод матрицы [',m,'*',n,']: ');

for i:=1 to m do

begin

write(i,' строка [',n,'] элементов: ');

for j:=1 to n do

if j<n then read(Ematr[i,j])

else readln(Ematr[i,j]);

end;

write('Введите отрицательное число: '); readln(min);

writeln;

end;

procedure Count (m, n: integer; var mass: matrix; min: real);

var i, j, kol: integer;

flag, flag2: boolean;

begin

write('Номера искомых столбцов: ');

kol:=0;

for j:=1 to n do

begin

flag:=true;

flag2:=false;

i:=1;

while (i<=m) and flag do

begin

if Ematr[i,j]<0 then flag2:=true;

if (Ematr[i,j]<0) and (Ematr[i,j]<=min) then flag:=false;

inc(i);

end;

if flag and flag2 then

begin

write(j,' ');

inc(kol);

end;

    end;

if kol=0 then writeln(‘Отсутствуют…’) else writeln;

end;

procedure Output_data (m, n: integer; var Ematr: matrix);

var i, j: integer;

begin

writeln('Вывод исходной матрицы: ');

for i:=1 to m do

begin

for j:=1 to n do

write(Ematr[i,j]:5:0,' ');

writeln;

    end;

writeln;

end;

begin

Input_data (m, n, Ematr, min);

Output_data (m, n, Ematr);

Count (m, n, Ematr, min);

end.


Пояснения к используемым данным:

двумерный массив Ematr – исходная матрица переменные m и n – размеры исходной матрицы переменная min – хранит значение минимума для отриц. чисел процедура Input_data – процедура ввода матрицы и минимума процедура Count – процедура обработки и вывода результатов процедура Output_data – процедура вывода матрицы переменные i и j – переменные цикла переменная flag – определяет, все ли отриц. числа превосходят минимум переменная flag2 – определяет, есть ли в j-ом столбце отриц. элементы переменная kol – определяет кол-во столбцов

Тестовые данные:

1)  A3*4 = -1  2  3  4        min = -3    Ответ:  1                                                                                                                                             

1  2  3  4

0  0  0 -9

2)  A3*4 = -1   2  -1  4        min = -2    Ответ:  1  3                                                                                                                                        

1 -2   3  4

0  0   0   9

3)   A3*41   2 1  4 min = -2    Ответ:  Отсутствуют…                                                                                                                                        

1 -2  3  4

0  0  0  9

Вывод: Мною было изучено понятие процедуры, для закрепления изученного материала была написана программа (lab5.pas) использующая матрицы. Произведенные тесты этой программы позволяют сделать вывод о правильности ее алгоритма и реализации этого алгоритма.

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.