Другие языки программирования и технологии
Помогите с Паскалем ?
Учу ПаскальABC, уже на записи файлов, так вот, в коде встретил команды Reset, assign eof, eoln как и что они делают? И почему в коде используются read? Это же команда ввода, а она работает как команда вывода ...Почему ?
"Это же команда ввода, а она работает как команда вывода" - код в студию
Ivan Stecenko
Сейчас код напишу )
что они делают - инфы в инете полно.. переведи слово read и поймешь
посмотри эту прогу
{. Описать запись с именем Gora, содержащую следующие поля:
?наименование;
?высота над уровнем моря;
?страна.
Написать программу, выполняющую следующие действия:
?ввод данных с клавиатуры в массив, состоящий из восьми элементов типа Gora ;
записи должны быть размещены записи должны быть размещены в
алфавитном порядке по наименованию горной вершины;
?вывод на экран информации о горной вершине, наименование которой введено
с клавиатуры; если таких горных вершин нет, вывести на экран
соответствующее сообщение;
?запись массива в файл под заданным с клавиатуры именем }
program gori;
uses crt;
type gora=record
naim: string[15];
vis : integer;
strana:string[15];
end;
var
f:file of gora;
i,j,k,n:integer;
w:gora;
gor: array[1..100] of gora;
nfile:string;
procedure sozdanie; {*******создание ********}
begin
clrscr;
writeln('СОЗДАНИЕ МАССИВА ГОР');
writeln('******************************');
write('Введите количество записей ');
readln(n);
for i := 1 to n do begin
writeln('Ввести ',i,' - ю запись');
with gor[i] do begin
write('Введите название горы: ');
readln(naim);
write('Введите высоту над уровнем моря: ');
readln(vis);
write('Введите страну: ');
readln(strana);
end;
end;
writeln('Ввод данных закончен');
writeln(#10,' Исходный массив');
writeln('_______________________________________________');
writeln(' N Наименование Высота Страна');
writeln('_______________________________________________');
for i := 1 to N do
with gor[i] do begin
writeln(i:3,naim:15,vis:10,strana:15);
end;
writeln('_______________________________________________');
writeln('Конец просмотра');
// *****сортировка по названию горы***********
for i := 1 to N-1 do
for j:=i+1 to n do
if gor[i].naim > gor[j].naim then begin
w:=gor[i]; gor[i]:=gor[j]; gor[j]:=w;
end;
writeln(#10,' Отсорированный массив');
writeln('_______________________________________________');
writeln(' N Наименование Высота Страна');
writeln('_______________________________________________');
for i := 1 to N do
with gor[i] do begin
writeln(i:3,naim:15,vis:10,strana:15);
end;
writeln('_______________________________________________');
writeln('Конец просмотра',#10);
write('Введите имя файла для записи (например: gora )--> ');
readln(nfile);
nfile:=nfile+'.dat';
assign(f,nfile);
rewrite(f);
For i:=1 to n do
write(f,gor[i]);
close(f);
writeln(' файл записан под именем ',nfile);
readln;
end;
procedure prosm; // *****просмотр записей***********
begin
clrscr;
writeln('ЧТЕНИЕ МАССИВА ЗАПИСЕЙ');
writeln('**************************');
writeln;
writeln('_______________________________________________');
writeln(' N Наименование Высота Страна');
writeln('_______________________________________________');
i:=0;
reset(f);
while not eof(f) do begin
inc(i);
read(f,w);
with w do begin
writeln(i:3,naim:15,vis:10,strana:15);
end;
end;
writel
{. Описать запись с именем Gora, содержащую следующие поля:
?наименование;
?высота над уровнем моря;
?страна.
Написать программу, выполняющую следующие действия:
?ввод данных с клавиатуры в массив, состоящий из восьми элементов типа Gora ;
записи должны быть размещены записи должны быть размещены в
алфавитном порядке по наименованию горной вершины;
?вывод на экран информации о горной вершине, наименование которой введено
с клавиатуры; если таких горных вершин нет, вывести на экран
соответствующее сообщение;
?запись массива в файл под заданным с клавиатуры именем }
program gori;
uses crt;
type gora=record
naim: string[15];
vis : integer;
strana:string[15];
end;
var
f:file of gora;
i,j,k,n:integer;
w:gora;
gor: array[1..100] of gora;
nfile:string;
procedure sozdanie; {*******создание ********}
begin
clrscr;
writeln('СОЗДАНИЕ МАССИВА ГОР');
writeln('******************************');
write('Введите количество записей ');
readln(n);
for i := 1 to n do begin
writeln('Ввести ',i,' - ю запись');
with gor[i] do begin
write('Введите название горы: ');
readln(naim);
write('Введите высоту над уровнем моря: ');
readln(vis);
write('Введите страну: ');
readln(strana);
end;
end;
writeln('Ввод данных закончен');
writeln(#10,' Исходный массив');
writeln('_______________________________________________');
writeln(' N Наименование Высота Страна');
writeln('_______________________________________________');
for i := 1 to N do
with gor[i] do begin
writeln(i:3,naim:15,vis:10,strana:15);
end;
writeln('_______________________________________________');
writeln('Конец просмотра');
// *****сортировка по названию горы***********
for i := 1 to N-1 do
for j:=i+1 to n do
if gor[i].naim > gor[j].naim then begin
w:=gor[i]; gor[i]:=gor[j]; gor[j]:=w;
end;
writeln(#10,' Отсорированный массив');
writeln('_______________________________________________');
writeln(' N Наименование Высота Страна');
writeln('_______________________________________________');
for i := 1 to N do
with gor[i] do begin
writeln(i:3,naim:15,vis:10,strana:15);
end;
writeln('_______________________________________________');
writeln('Конец просмотра',#10);
write('Введите имя файла для записи (например: gora )--> ');
readln(nfile);
nfile:=nfile+'.dat';
assign(f,nfile);
rewrite(f);
For i:=1 to n do
write(f,gor[i]);
close(f);
writeln(' файл записан под именем ',nfile);
readln;
end;
procedure prosm; // *****просмотр записей***********
begin
clrscr;
writeln('ЧТЕНИЕ МАССИВА ЗАПИСЕЙ');
writeln('**************************');
writeln;
writeln('_______________________________________________');
writeln(' N Наименование Высота Страна');
writeln('_______________________________________________');
i:=0;
reset(f);
while not eof(f) do begin
inc(i);
read(f,w);
with w do begin
writeln(i:3,naim:15,vis:10,strana:15);
end;
end;
writel
Антон Поморцев
writeln(i:3,naim:15,vis:10,strana:15);
end;
end;
writeln('_______________________________________________');
writeln('Конец просмотра');
close(f);
readln;
end;
procedure vibor; //***************Поиск по названию горы************
var
m:integer;
gg:string[15];
begin
clrscr;
writeln('Поиск информации по наименованию горы');
writeln('*************************************');
writeln;
write('Ввести наименование горы: ');
readln(gg);
clrscr;
writeln(' Поиск по наименованию горы ',gg );
writeln('************************************');
writeln;
end;
end;
writeln('_______________________________________________');
writeln('Конец просмотра');
close(f);
readln;
end;
procedure vibor; //***************Поиск по названию горы************
var
m:integer;
gg:string[15];
begin
clrscr;
writeln('Поиск информации по наименованию горы');
writeln('*************************************');
writeln;
write('Ввести наименование горы: ');
readln(gg);
clrscr;
writeln(' Поиск по наименованию горы ',gg );
writeln('************************************');
writeln;
Похожие вопросы
- Помогите с паскалем
- Ааааа....помогите с Паскалем (Pascal)!!!!Срочно!!!!
- Помогите с паскалем пожалуйста!!!!
- помогите с паскалем!!! ужас а не задание!!
- Помогите с Паскалем
- Помогите с паскалем. Помогите написать программу переводящую из 10-ой в 16-ую систему счисления на паскале
- Помогите с паскалем!
- Ребят помогите пожалуйста. Паскаль, Paskal
- Помогите на паскале умоляю
- Помогите по паскалю