Сделать меню с помощью модуля
- (Использовать готовый массив)
- (Использовать готовый запись)
- (Использовать готовый строка)
- (Использовать готовую подрограмму)
- Выход.
Unit Pr1;
interface
procedure sortirovka;
procedure zapis;
procedure stroka;
procedure summa;
implementation
procedure sortirovka;
var a:array [1..100] of integer;
k,x,i,j,n:integer;
begin
read(n);
for i:=1 to n do begin
a[i]:=random(-15,25);
write(a[i]:4);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then begin
x:=a[i];
a[i]:=a[j];
a[j]:=x;
end;
for i:=1 to n do if a[i] mod 3=0 then k:=k+1;
writeln;
writeln('Количество элементов кратных 3=',k);
write('По возрастанию ');
write('Массив А:');
for i:=1 to n do write(a[i]:5);
writeln;
end;
procedure zapis;
const m: array[1..6] of string=('Сагаан','Демир-оол','Наксыл','Монгуш','Салчак','Донгак');
pr:array[1..6] of string=('BMW','Audi','Ford','Toyota','Nissan','Mazda');
type mashina=record
fam:string[10];
marka:string[15];
stazh:integer;
vozrast:integer;
end;
var mn:array[1..2000] of mashina;
i,n,k:integer;
begin
write('Введите количество машин: '); readln(n);
for i:=1 to n do
with mn[i] do
begin
fam:=m[1+random(6)];
marka:=pr[1+random(6)];
stazh:=random(30);
vozrast:=random(28);
end;
writeln('Данные о машинах');
writeln('-------------------------------------------------------');
writeln('№ |Фамилия владельца | марка машины | стаж | возраст ');
writeln('-------------------------------------------------------');
for i:=1 to n do
with mn[i] do
writeln(mn[i].fam:15, mn[i].marka:12, mn[i].stazh:14, mn[i].vozrast :9);
writeln('-------------------------------------------------------');
write;
for i:=1 to n do if mn[i].stazh>10 then k:=k+1;
writeln('самый молодой k=',k);
inc(k);
writeln('Стаж>10');
writeln('-------------------------------------------------------');
writeln('№ | Фамилия владельца | марка машины | стаж | возраст ');
writeln('-------------------------------------------------------');
for i:=1 to n do
begin
if mn[i].stazh>10 then writeln(mn[i].fam:10, mn[i].marka:12, mn[i].stazh:14, mn[i].vozrast :16);
end;
writeln('-------------------------------------------------------');
end;
procedure stroka;
var s,s1,s2:string;
Begin
write('Данное слово: ');
s:='Обществоведение';writeln(s);
write('Первое слово: ');
s1:=(s[1]+s[2]+s[8]+s[11]) ;writeln(s1);
write('Второе слово: ');
s2:=copy(s,1,8); writeln(s2);
End;
procedure summa;
var z,s:real;
function F(a,b:real):real;
begin
z:=(a+sqrt(b))/(b+sqrt(a));
F:=z;
end;
begin
writeln(' 11+_/5 13+_/10 _/19+30 ');
writeln('вычислить выражение F= ------ + ------- + -------- ');
writeln(' 5+_/11 10+_/13 _/30+19 ');
writeln;
writeln;
s:=F(15,10)+F(11,5)+F(20,6);
writeln;
writeln(' 11+_/5 13+_/10 _/19+30 ');
writeln(' F= -------- + -------- + --------- = ',s:2:2);
writeln(' 5+_/11 10+_/13 _/30+19');
end;
initialization
writeln('Загружен модуль!'); writeln;
finalization
writeln;
writeln('Программа завершена. Нажмите любую клавишу!');
readln;
end.
Uses Pr1;
var k,r:integer;
begin
while true do begin writeln;
writeln('Menu');
writeln('1:Массив');
writeln('2:Запись');
writeln('3:Строка');
writeln('4:Подпрограмма');
writeln('5:Выход');
read(k);
case k of
1: sortirovka ;
2: zapis;
3: stroka;
4: summa;
5: Exit;
end;
end;
end.
Проверите код на исполняемость?