АД
Андрей Дзюба

Решить задание в паскале

Даны сведения о высочайших горах планеты: название, высота, горная система, часть света и страна. Составить программу, обеспечивающую ввод исходных данных и печать результатов. .Расположить данные по убыванию высот гор.

№Гора Высота Горная система Часть света Страна
1Эльбрус 5642 Кавказ Европа Россия
2Монблан 4807 Альпы Европа Франция
3Джомолунгма 8848 Гималаи Азия Непал
4Белуха 4506 Алтай Азия Россия
5Казбек 5033 Кавказ Европа Грузия
6Корно 2914 Апеннины Европа Италия
7Тиричмир 7690 Гиндукуш Азия Пакистан

Александр
Александр

Uses Crt;
Type
Stchact=string[20];
Stv=string[10];
Stgc=string[20];
Stnaz=string[20];
Stctrana=string[20];
RecBook=record
chact:Stchact;
vta:Stv;
gc:Stgc;
naz:Stnaz;
ctrana:stctrana;
End;
Var
BookFile:file of RecBook;
Work:RecBook;
Vid:byte;
End_Menu:boolean;
Name:String[12];
Procedure Name_File; {Ввод имени файла данных}
Begin
Write('Введите имя файла: ');
Readln(Name);
End;
Procedure AddRec; {Добавление записи в файл}
Begin
Writeln('Ввод записи № ', FilePos(BookFile)+1);
With Work do
Begin
Writeln('Введите названте: ');
Readln(naz);
Write('‚Введите высоту: ');
Readln(vta);
Write('Введите горную систему: ');
Readln(gc);
Write('Введите часть света: ');
Readln(chact);
Write('Введите страну: ');
Readln(ctrana);
Write(BookFile,Work);
End;
End;
Procedure Create;
Var
i,n:integer;
Begin
Name_File;
Assign(BookFile, Name); {Открытие нового файла для записи}
Rewrite(BookFile);
Writeln('Создание записей файла ', Name);
Write('Введите число записей : ');
Readln(n);
For i:=1 to n do
AddRec;
Writeln('Создание файла завершено: ');
Writeln('файл данных имеет: ', FileSize(BookFile),' записи');
Close(BookFile);
End;
Procedure OutputRec; {вывод текущей записи на экран}
Begin
Read(BookFile,Work);
With Work do
Begin
Write('Запись № ',FilePos(BookFile),':');
Writeln('Название: ', naz, ' высота: ',vta,' горная система: ',gc,' часть света: ',chact,' страна: ',ctrana);
End;
End;

Procedure OutputAllRec; {Вывод всех записей файла на экран}
Begin
Name_File;
Assign(BookFile,Name);
{$I-}
Reset(BookFile);
{$I+}
if IOResult=0 then
begin
Seek(BookFile,0);
Writeln('Вывод файла*: ', Name);
While (not EOF(BookFile)) do
OutPutRec;
End
Else
Writeln('Файла с именем ' +Name+' на диске нет ');
End;
Procedure Find; {Поиск}
Var
BookFile:file of RecBook;
Work:RecBook;
Maska:Stchact;
Rez_Find:boolean;
CountRec:integer;
Begin
Name_File;
Assign(BookFile,Name);
{$I-}
Reset(BookFile);
{$I+}
if IOResult=0 then
begin
Write('Введите часть света для поиска*: ');
Readln(Maska);
CountRec:=0;
While(not Eof(BookFile)) do
Begin
Read(BookFile,Work);
With Work do
If Pos(Maska,chact)<>0 then
Begin
Rez_Find:=True;
Inc(CountRec);
Writeln('Название: ', naz, ' высота*: ',vta);
End;
End;
If Rez_Find then
Writeln('Число записей ', Maska,'=',CountRec)
Else
Writeln('В справочнике нет : ', Maska);
Close(BookFile);
End
Else
Writeln('Файл на диске '+Name+' на диске нет ');
End;
Begin
ClrScr;
End_Menu:=False;
Repeat
Writeln('Выбери вид работы: ');
Writeln('1-создание нового файла: ');
Writeln('2-просмотр списка*: ');
Writeln('3-поиск: ');
Writeln('0-завершение работы: ');
Write('Твой выбор: ');
Readln(Vid);
Case Vid of
1:Create;
2:OutPutAllRec;
3:Find;
0:End_Menu:=True;
end;
Writeln('Нажми клавишу Enter');
Readln;
ClrScr;
Until End_Menu;
End.

Похожие вопросы
Помогите решить задачку в паскале! )
Помогите решить задачку в паскаль!!!
Помогите решить задание на с++
Решить график в паскале
Помогите решить в Паскале АВС:
Помогите, пожалуйста, решить. Задание на тему "Паскаль".
Помогите решить, задачи в паскале
помогите решить (Паскаль)
как решить задачу по паскалю?
Задание на Паскаль (9 вариант) Помогите решить