Мегаобучалка Главная | О нас | Обратная связь


Практическая часть выполнения задачи на языке программирования Паскаль



2019-12-29 196 Обсуждений (0)
Практическая часть выполнения задачи на языке программирования Паскаль 0.00 из 5.00 0 оценок




 

program zadacha; {название программы}

uses crt; {подкличение модуля crt}

type mass=record

fio:string; {Фамилия}

ych:string; {учреждение}

stil:string; {стиль плавания}

voz:integer; {возраст}

rez:real; {результат}

end;

var

chi:mass; {имеет тип mass}

ch,ch1:array[1..25] of mass;

f:file of mass;

i,m,j,k,n,nom:integer;

filename:string; {для имени файла}

procedure sozdanie; {процедура создания}

var

q:integer;

begin

clrscr;

writeln('vvedite imya faila:'); {ввод имени файла}

readln(Filename);

assign(f,Filename);

rewrite(f);

Writeln ('vvedite kolichestvo zapisei'); {вводим количество записей}

Readln (n);

q:=0;

for i:=1 to n do

with ch[i] do

begin

q:=q+1;

clrscr;

writeln('vvedite fio ',q,'-go uchasnika'); {заносим информацию об участнике}

readln(fio);

writeln('vvedite vozrast ',q,'-go uchasnika');

readln(voz);

writeln('vvedite ycheregdenie');

readln(ych);

writeln('vvedite stil plavaniya');

readln(stil);

writeln('vvedite rezultat zapliva');

readln(rez);

write(f,ch[i]);

end;

close(f); {закрываем файл}

end;

procedure vivod; {процедура вывода}

begin

clrscr;

writeln ('vvedite imya sozdannogo faila'); {указываем имя созданного файла}

readln(filename);

assign (f,filename);

reset(f);

clrscr;

nom:=0;

writeln('writeln('| # | FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');

writeln('|');

while not eof(f) do {начинаем выводить записи в таблицу}

with ch[i] do

begin

inc(i);

inc(nom);

read(f,ch[i]);

writeln('|',nom:3,'|',fio:17,'|',voz:9,'|',ych:15,'|',stil:10,'|',rez:9:1,'|');

i:=i+1;

end;

writeln('|');

close(f); {закрыли файл}

readln;

clrscr;

end;

procedure dobavlenie; {процедура добавления}

begin

clrscr;

writeln ('vvedite imya sozdannogo faila'); {ввод имени файла}

readln(filename);

assign (f,filename);

reset(f);

i:=1;

while not eof(f) do

begin

read(f,ch[i]);

i:=i+1;

end;

writeln('vvedite fio'); {начинаем заносит информацию об участнике}

readln(ch[i].fio);

writeln('vvedite voz ');

readln(ch[i].voz);

writeln('vvedite ycheregdenie obrazovaniya');

readln(ch[i].ych);

writeln('vvedite stil plavaniya');

readln(ch[i].stil);

writeln('vvedite rezultat zapliva');

readln(ch[i].rez);

n:=i;

close(f); {закрыли файл}

rewrite(f);

for i:=1 to n do

write(f,ch[i]);

close(f);

end;

procedure poisk; {процедура поиска}

var e:string;

n1,o:integer;

l:real;

begin

writeln('vibirete regim poiska:' ); {меню}

writeln(' ');

writeln('1: poisk po polu fio');

writeln('2: poisk po polu vozrast');

writeln('3: poisk po polu ycheregdenie');

writeln('4: poisk po polu stil');

writeln('5: poisk po polu rezultat');

writeln;

readln(o);

clrscr;

if o=1 then begin {поиск по полю фио}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

i:=1;

n:=0;

while not eof(f) do

begin

read(f,ch[i]);

inc(i);

inc(n);

end;

close(f);

writeln('vvedite fio uchasnika'); {водим ФИО участника}

readln(e);

n1:=0;

for i:=1 to n do

if ch[i].fio=e

then begin

n1:=n1+1;

ch1[n1]:=ch[i];

end;

if n1<>0 then begin {вывод найденного участника}

writeln('||');

writeln('| FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');

writeln('||');

for i:=1 to n1 do

with ch1[i] do

begin

writeln('|',fio:17,'|',voz:9,'|',ych:15,'|',stil:10,'|',rez:9:1,'|');

end;

writeln('');

end

else

writeln('zapis ne naidena ');

readln;

end;

if o=2 then begin {поиск по полю возраст}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

i:=1;

n:=0;

while not eof(f) do

begin

read(f,ch[i]);

inc(i);

inc(n);

end;

close(f);

writeln('vvedite vozrast uchasnika'); {вводим возраст}

readln(l);

n1:=0;

for i:=1 to n do

if ch[i].voz=l

then begin

n1:=n1+1;

ch1[n1]:=ch[i];

end;

if n1<>0 then begin {вывод}

writeln('||');

writeln('| FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');

writeln('|');

for i:=1 to n1 do

with ch1[i] do

begin

writeln('|',fio:17,'|',voz:9,'|',ych:15,'|',stil:10,'|',rez:9:1,'|');

end;

writeln('||');

end

else

writeln('zapis ne naidena ');

readln;

end;

if o=3 then begin {поиск по полю учреждение}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

i:=1;

n:=0;

while not eof(f) do

begin

read(f,ch[i]);

inc(i);

inc(n);

end;

close(f);

writeln('vvedite ycheregdenie'); {введите учреждение }

readln(e);

n1:=0;

for i:=1 to n do

if ch[i].ych=e

then begin

n1:=n1+1;

ch1[n1]:=ch[i];

end;

if n1<>0 then begin {вывод}

writeln('|');

writeln('| FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');

writeln('||');

for i:=1 to n1 do

with ch1[i] do

begin

writeln('|',fio:17,'|',voz:9,'|',ych:15,'|',stil:10,'|',rez:9:1,'|');

end;

writeln('|');

end

else

writeln('zapis ne naidena ');

readln;

end;

if o=4 then begin {поиск по полю стиль}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

i:=1;

n:=0;

while not eof(f) do

begin

read(f,ch[i]);

inc(i);

inc(n);

end;

close(f);

writeln('vvedite stil uchasnika'); {ввод стиля}

readln(e);

n1:=0;

for i:=1 to n do

if ch[i].stil=e

then begin

n1:=n1+1;

ch1[n1]:=ch[i];

end;

if n1<>0 then begin {вывод}

writeln('||');

writeln('| FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');

writeln('|');

for i:=1 to n1 do

with ch1[i] do

begin

writeln('|',fio:17,'|',voz:9,'|',ych:15,'|',stil:10,'|',rez:9:1,'|');

end;

writeln('||');

end

else

writeln('zapis ne naidena ');

readln;

end;

if o=5 then begin {поиск по полю результат}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

i:=1;

n:=0;

while not eof(f) do

begin

read(f,ch[i]);

inc(i);

inc(n);

end;

close(f);

writeln('vvedite preblezitelnii rezyltat uchastnika'); {ввод результата }

readln(l);

n1:=0;

for i:=1 to n do

if (ch[i].rez<=l+0.5) and (ch[i].rez>=l-0.5)

then begin

n1:=n1+1;

ch1[n1]:=ch[i];

end;

if n1<>0 then begin {вывод}

writeln('||');

writeln('| FIO | VOZRAST | YCHEREGDENIE | STIL |REZYLTAT |');

writeln('||');

for i:=1 to n1 do

with ch1[i] do

begin

writeln('|',fio:17,'|',voz:9,'|',ych:15,'|',stil:10,'|',rez:9:1,'|');

end;

writeln('||');

end

else

writeln('zapis ne naidena ');

readln;

end;

end;

procedure sortirovka; {процедура сортировка}

var

p:integer;

begin

clrscr;

writeln('vibirete regim sortirovki:' ); {меню сортировки}

writeln(' ');

writeln('1: sortirovka po polu fio');

writeln('2: sortirovka po polu vozrast');

writeln('3: sortirovka po polu ycheregdenie');

writeln('4: sortirovka po polu stil');

writeln('5: sortirovka po polu rezultat');

writeln;

readln(p);

if p=1 then begin {сортировка по полю фио}

writeln ('vvedite imya sozdannogo faila'); {вводим имя файла}

readln(filename);

assign (f,filename);

reset(f);

for i:=1 to n do

read(f,ch[i]);

close(f);

for i:=1 to n-1 do

for j:=i+1 to n do

if ch[i].fio>ch[j].fio then {сравниваем 2 строки}

begin

chi:=ch[i]; {проводим перестановку}

ch[i]:=ch[j];

ch[j]:=chi;

end;

rewrite(f);

for i:=1 to n do

write(f,ch[i]);

close(f);

end;

if p=2 then begin {сортировка по полю возраст}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

for i:=1 to n do

read(f,ch[i]);

close(f);

for i:=1 to n-1 do

for j:=i+1 to n do

if ch[i].voz>ch[j].voz then

begin

chi:=ch[i];

ch[i]:=ch[j];

ch[j]:=chi;

end;

rewrite(f);

for i:=1 to n do

write(f,ch[i]);

close(f);

end;

if p=3 then begin {сортировка по полю учреждение}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

for i:=1 to n do

read(f,ch[i]);

close(f);

for i:=1 to n-1 do

for j:=i+1 to n do

if ch[i].ych>ch[j].ych then

begin

chi:=ch[i];

ch[i]:=ch[j];

ch[j]:=chi;

end;

rewrite(f);

for i:=1 to n do

write(f,ch[i]);

close(f);

end;

if p=4 then begin {сортировка по полю стиль}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

for i:=1 to n do

read(f,ch[i]);

close(f);

for i:=1 to n-1 do

for j:=i+1 to n do

if ch[i].stil>ch[j].stil then

begin

chi:=ch[i];

ch[i]:=ch[j];

ch[j]:=chi;

end;

rewrite(f);

for i:=1 to n do

write(f,ch[i]);

close(f);

end;

if p=5 then begin {сортировка по полю результат}

writeln ('vvedite imya sozdannogo faila');

readln(filename);

assign (f,filename);

reset(f);

for i:=1 to n do

read(f,ch[i]);

close(f);

for i:=1 to n-1 do

for j:=i+1 to n do

if ch[i].rez>ch[j].rez then

begin

chi:=ch[i];

ch[i]:=ch[j];

ch[j]:=chi;

end;

rewrite(f);

for i:=1 to n do

write(f,ch[i]);

close(f);

end;

end;

procedure udalenie; {процедура удаления}

var m:integer;

begin

clrscr;

writeln ('vvedite imya sozdannogo faila'); {вводим имя файла}

readln(filename);

assign (f,filename);

reset(f);

i:=1;

n:=0;

while not eof(f) do

begin

read(f,ch[i]);

i:=i+1;

n:=n+1;

end;

writeln('vvedite nomer udaliaemoi zapisi'); {вводим номер записи для удаления}

readln(m);

for i:=m to n do

begin {удаляем}

ch[i].fio:=ch[i+1].fio;

ch[i].voz:=ch[i+1].voz;

ch[i].ych:=ch[i+1].ych;

ch[i].stil:=ch[i+1].stil;

ch[i].rez:=ch[i+1].rez;

end;

n:=n-1;

close(f);

rewrite(f);

for i:=1 to n do

write(f,ch[i]);

close(f);

writeln(‘zapis udalena’);

readln;

end;

begin {тело основной программы}

while True do

begin {меню программы}

clrscr;

Writeln ('':20,' *Menu* ');

Writeln ('':20,'||');

Writeln ('':20,'| 1- sozdanie novogo faila |');

Writeln ('':20,'| 2- vivod dannih |');

Writeln ('':20,'| 3- dobavlenie |');

Writeln ('':20,'| 4- poisk |');

Writeln ('':20,'| 5- sortirovka |');

Writeln ('':20,'| 6- udalenie zapisei |');

Writeln ('':20,'| 0- vihod |');

Writeln ('':20,'||');

Writeln;

Writeln('vi mojete rabotat s uje sozdanim failom "sor" ');

Writeln('');

Readln (m);

case m of

1:sozdanie;

2:vivod;

3:dobavlenie;

4:poisk;

5:sortirovka;

6:udalenie;

0:exit;

else begin Writeln('ne verno!');

readln;

end;

end;

end;

end.

 



2019-12-29 196 Обсуждений (0)
Практическая часть выполнения задачи на языке программирования Паскаль 0.00 из 5.00 0 оценок









Обсуждение в статье: Практическая часть выполнения задачи на языке программирования Паскаль

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (196)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)