Министерство образования Республики Беларусь
Учреждение образования «Гомельский государственный университет имени
Франциска Скорины»
Физический факультет
Кафедра радиофизики и электроники
Отчет
по лабораторной работе № 15
TURBO PASCAL.
РАБОТА С ГЛАВНЫМ МЕНЮ СИСТЕМЫ.
ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ МАССИВОВ.
МЕТОДЫ СОРТИРОВКИ
Выполнил
студент группы Ф-11 В.Ю. Курьян
Проверил
доцент кафедры общей физики В. В. Свиридова
2012
uses
crt;
type
vibor = (cena, kol);
tabl = record
nazvanie: string[65];
case cm: vibor of
cena:(suma: longint);
kol:(summa: integer);
end;
str = string[65];
var
n: byte;
fl: file of tabl;
nfl: string[65];
procedure createfile(nfile: str);
var
inf: tabl;
otvet, otv: integer;
fl: file of tabl;
begin
assign(fl, nfile);
rewrite(fl);
repeat
with inf do
begin
write('vvedite nazvanie modeli gestcogo diska ');
readln(nazvanie);
writeln('vvedite 1-cena, 2-kolichestvo diskov na sklade ');
readln(otvet);
case otvet of
1:
begin
cm := cena;
write('vvedite cenu na disk');
readln(suma);
end;
2:
begin
cm := kol;
write('vvedite kolichestvo modelei kotorbi estb na sklade ');
readln(summa);
end;
end;
end;
{end with inf}
write(fl, inf);
writeln('esli hotite zapolnit escho zapisb, nazmite 1');
readln(otv);
until otv <> 1;
close(fl);
end;
procedure editfile(nfile: str);
var
inf, inf1: tabl;
fl: file of tabl;
n, m, noz: byte;
nq: str;
cq: longint;
kq: integer;
begin
assign(fl, nfile);
reset(fl);
writeln('1-izmenit zapis, 2-izmenit otdelnoe pole');
readln(n);
case n of
1:
begin
writeln('Vvedite nomer zapisi');
readln(noz);
seek(fl, noz);
read(fl, inf);
begin
write('Vvedite nazvanie diska ');
readln(inf1.nazvanie);
writeln('Vvedite 1-cena, 2-kolichestvo diskov na sklade ');
readln(m);
case m of
1:
begin
inf1.cm := cena;
write('Vvedite cenu na monitor');
readln(inf1.suma);
end;
2:
begin
inf1.cm := kol;
write('vvedite kolichestvo modelei kotorbi estb na sklade ');
readln(inf1.summa);
end;
end;
end;
inf := inf1;
seek(fl, noz);
write(fl, inf);
end;
2:
begin
writeln('Vvedite nomer zapisi');
readln(noz);
writeln('1-izmenit nazvanie,2-izmenit cenu, 3-izmenit kolichestvo');
readln(m);
case m of
1:
begin
writeln('Vvedite novoe nazvanie');
readln(nq);
seek(fl, noz);
read(fl, inf);
inf.nazvanie := nq;
seek(fl, noz);
write(fl, inf);
end;
2:
begin
inf.cm := cena;
writeln('Vvedite novyu cenu');
read(cq);
seek(fl, noz);
read(fl, inf);
inf.suma := cq;
seek(fl, noz);
write(fl, inf);
end;
3:
begin
inf.cm := kol;
writeln('Vvedite kolichestvo');
readln(kq);
seek(fl, noz);
read(fl, inf);
inf.summa := kq;
seek(fl, noz);
write(fl, inf);
end;
end;
end;
end;
end;
procedure vievfile(nfile: str);
var
fl: file of tabl;
j, k: integer;
inf: tabl;
begin
assign(fl, nfile);
reset(fl);
j := 1;
while not eof(fl) do
begin
read(fl, inf);
for k := 1 to 25 - length(inf.nazvanie) do
inf.nazvanie := inf.nazvanie + ' ';
{endfork}
writeln('__________________________|_______________|________________');
case inf.cm of
cena: writeln('¦', inf.nazvanie, '¦', inf.suma:15, '¦ ¦');
kol: writeln('¦', inf.nazvanie, '¦ ¦', inf.summa:15, '¦');
end;
j := j + 1;
end;
{end while}
writeln('__________________________|_______________|________________');
close(fl);
readln;
end;
begin
repeat
clrscr;
writeln('1 - sozdanie faila');
writeln('2 - izmenenie faila');
writeln('3 - prosmotr faila');
writeln('0 - vblhod iz programmy');
readln(n);
if n = 0 then exit;
clrscr;
writeln('Vvedite imya(ili putb) faila');
readln(nfl);
case n of
1: createfile(nfl);
2: editfile(nfl);
3: vievfile(nfl);
end;
until n = 0;
end.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.