· Процедура обработки матрицы – objmatr.Job
· Процедура создания меню – menu
Вх kurs
true false
· Процедура перемещения по меню – kursor
true
#80 #72
#13
true false true false
1 5
4
2
3
Текст программы:
program kursovik;
uses crt,graph; {Подключаемые модули}
const
m=5; {Число строк матрицы и элементов массива}
n=m; {Число столбцов матрицы}
l=5; {Число пунктов меню}
type
menumas = array [1..l] of string; {Описание массива под меню}
matrix=array[1..m,1..n] of real; {Описание матрицы}
massiv=array[1..m] of real; {Описание массива}
pasient=record {Описание записи}
fio:string[30]; {Фамилия, имя, отчество}
birth:string[4]; {Год рождения}
adres:string[30]; {Адрес}
tel:string[7]; {Телефон}
nu:string[2]; {Номер участка}
no:string[2]; {Номер отделения}
end;
link=^spis; {Описание связанного списка}
spis=record
data:pasient;
next:link;
end;
ptrpar=^parent; {Объект прародитель}
parent=object
m:integer;
constructor Init(minit:integer);
destructor Done; virtual;
procedure OutData; virtual;
procedure Job; virtual;
end;
ptrobjmas=^objmas; {Объект массив}
objmas=object(parent)
a:massiv;
constructor Init(minit:integer);
destructor Done; virtual;
procedure OutData; virtual;
procedure Job; virtual;
end;
ptrobjmatr=^objmatr; {Объект матрица}
objmatr=object(parent)
n:integer;
b:matrix;
constructor Init(minit,ninit:integer);
destructor Done; virtual;
procedure OutData; virtual;
procedure Job; virtual;
end;
ptrobjspis=^objspis; {Объект связанный список}
objspis=object(parent)
list:link;
constructor Init(minit:integer);
destructor Done; virtual;
procedure OutData; virtual;
procedure Job; virtual;
end;
var
men:menumas; {Массив пунктов меню}
p:ptrpar; {Переменная для осуществления правил объектов}
key:char; {Нажатие клавиш в меню}
kurs,k:integer; {Позиция курсора в меню, счетчик элементов}
{**********************Правила прародителя*********************}
constructor parent.Init(minit:integer);
begin
m:=minit;
end;
destructor parent.Done;
begin
{Пустое правило}
end;
procedure parent.OutData;
begin
{Пустое правило}
end;
procedure parent.Job;
begin
{Пустое правило}
end;
{**********************Правила Массива*********************}
{Ввод массива}
constructor objmas.Init(minit:integer);
var
i:integer;
begin
parent.Init(minit);
clrscr;
writeln('Введите ',m,' элементов массива:');
for i:=1 to m do
read(a[i]);
k:=m
end;
{Вывод массива}
procedure objmas.OutData;
var
i:integer;
begin
writeln;
writeln;
for i:=1 to k do
write(a[i]:6:2,' ');
writeln;
readkey
end;
{Удаление второго и предпоследнего элементов массива}
procedure objmas.Job;
var
i:integer;
begin
for i:=2 to k-3 do
a[i]:=a[i+1];
a[k-2]:=a[k];
k:=m-2
end;
{Разрушение массива}
destructor objmas.Done;
begin
{Пустое правило}
end;
{*********************Правила Матрицы***********************}
{Ввод матрицы}
constructor objmatr.Init(minit,ninit:integer);
var
i,j:integer;
begin
m:=minit;
n:=ninit;
clrscr;
for i:=1 to m do
begin
writeln('Введите ',n,' элементов ',i,' строки:');
for j:=1 to n do
read(b[i,j]);
end;
end;
{Вывод матрицы}
procedure objmatr.OutData;
var
i,j:integer;
begin
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.