Задание: Подсчитать количество элементов файла, больших среднего арифметического.
Программа:
Program HACK;
var
f:text;
kol,bol:integer;
ar,x, summa:real;
name:string;
Begin
{$I-}
writeln('Vvedite imya faila');
readln(name);
assign(f,name);
reset(f);
if IOresult<>0 then
begin
writeln('File ne naiden!');
exit
end;
while not eof do
begin
read(f,x);
summa:=summa+x;
kol:=kol+1;
end;
bol:=0;
close(f);
reset(f);
ar:=summa/kol;
while not eof do
begin
read(f,x);
if x>ar then bol:=bol+1;
end;
writeln('Kol-vo elementov bolshix srednego arifmeticescogo=',bol);
End.
Потому что
While not eof(F) do { <--- ты ничего не забыл? }
While not eof(F) do { <--- ты ничего не забыл? }
1. Проверка наличия файла делается обычно так (почему - не понимаю, есть более изящные способы, но так принято):
assign(f,name);
{$I-}
reset(f);
{$I+}
if IOresult<>0 then
Угу. Необязательно. Только если оно не указано - под ним понимается Input, т.е. клавиатура:
Угу.
Честно говоря, сам ни разу не пытался такм образом экспериментировать.
Просто меня удивила такая запись в файле, если бы было синтаксически неправильно, думаю, ошибка быб была быстро исправлена. Поэтому и полез в справку и, как уже сказал, был сам удивлен.
Справка по ТМТ, увы, лаконичнее: