Кто-нить знает Паскаль?!!!
Runtime error 002: file not found
Меня интересует почему он не может найти файл, если он есть. Где нужно его сохранить, чтобы этот несчастный Паскаль его нашел?!
А ты напиши программу, которая не читает, а создает файл, и посмотри где создаст
Как где? В текущей папке.
Достал меня этот Паскаль, из-за ерунды придирается, фиг найдешь че ему не нравится!
assign(f, 'С:\директория1\директория2\1.dat');
Достааааал...
а можешь запостить целиком программульку?
var
a,b,c,e,Ea,g,h,k,k0,r,s1,s2,t,w:real;
x,y:array [0..9] of real;
f,q:text;
n,i:integer;
begin
assign(f,'p10_5.txt');
reset(f);
read(f,n);
for i:=1 to n do
begin
read(f,x,y);
x:=1/x;y:=ln(y);
t:=t+x/n;
w:=w+y/n;
end;
s1:=0;s2:=0;h:=0;k:=0;c:=0;e:=0;g:=0;
for i:=1 to n do begin
s1:=s1+(x-t)*(y-w);
s2:=s2+(x-t)*(x-t);
h:=h+x;{сумма иксов}
k:=k+y;{сумма игреков}
c:=c+x*y;{сумма x*y}
e:=e+x*x;{сумма квадратов иксов}
g:=g+y*y;{сумма квадратов игреков}
end;
a:=s1/s2;
b:=w-a*t;
r:=absn*c)-(h*k/sqrtn*e-h*h)*(n*g-k*k;{коэффициент корреляции}
writeln;
writeln(' a=',a:8:1,' b=',b:5:1,' r=',r:7:4);
writeln;
writeln(' N 1/T ln k ln k выч Погрешность');
writeln;
assign(q,'p10_5_1.txt');rewrite(q);
for i:=1 to n do
begin
writeln(i:3,x:12:6,y:12:4,a*x+b:12:4,y-a*x-b:12:4);
writeln(q,x:12:6,y:12:4,a*x+b:12:4);
end;
close(q);
k0:=exp(b);Ea:=-a*8.31441;
writeln;
writeln(' k0 =',k0:9,' Ea =',Ea:10:2);
end.
9
556 3.52e-7
575 1.22e-6
629 3.02e-5
647 8.59e-5
666 2.19e-4
683 5.12e-4
700 1.16e-3
716 2.50e-3
731 3.95e-3
Писал не сам, но кроме этой все программы работают, а это единственная с assign, и я никак не могу понять как такие проги писать. Если эта прога слишком большая, буду рад хоть самому простому примеру, который считывает данные из внешнего файла!
reset(f);
попробуй вместо нее вставить такой кусок
{$I-}
reset (f);
{$I+}
if IOResult <> 0 then
begin
writeln ('Не открыт файл ', FileName);
Halt;
end;
соображение номер два: файл типизированный (ты же собираешься целые значения считывать, а не строки поэтому в разделе var должно быть так
Var f:file of integer;
если я правильно помню синтаксис
3.52e-7...
Тогда file of real
кстати, это создает дополнительные сложности - из файла придется брать и целые и дробные числа.
Close(F);
зы 2
code:
$I-}reset (f);{$I+}if IOResult <> 0 then begin writeln ('Не открыт файл ', FileName); Halt; end;
Нет чувак, ты это слишком круто написал.
У нас всего-то пару команд на экзамене: for...do, repeat...until, if...then...else и assign.
Если я напишу что-то типа твоего, наша баба там опухнет и загрузится, подумает я над ней издеваюсь и начнется реальный секс!
А мне бы просто, без выпендронов сдать это экзамен и все...
Ну, кто-нить, объясните в чем тут проблема!
Именно! Тут нужен text, к тому же не помешает исправить все x на x (например так как массив все-таки...
хорошо, согласен на счет Text. Но все равно он так бодро два массива не считает одной read
Нет чувак, ты это слишком круто написал.
Да ладно, проверишь - здесь он вылетел или нет. Потом удалишь лишнее, оставишь все как было.
uses wincrt;
var
a,b,c,e,Ea,g,h,k,k0,r,s1,s2,t,w:real;
x,y:array [0..9] of real;
f,q:text;
n,i:integer;
begin
assign(f,'p10_5.txt');
reset(f);
read(f,n);
for i:=1 to n do
begin
read(f,x[ i ],y[ i ]);
x[ i ]:=1/x[ i ];y[ i ]:=ln(y[ i ]);
t:=t+x[ i ]/n;
w:=w+y[ i ]/n;
end;
s1:=0;s2:=0;h:=0;k:=0;c:=0;e:=0;g:=0;
for i:=1 to n do begin
s1:=s1+(x[ i ]-t)*(y[ i ]-w);
s2:=s2+(x[ i ]-t)*(x[ i ]-t);
h:=h+x[ i ];{сумма иксов}
k:=k+y[ i ];{сумма игреков}
c:=c+x[ i ]*y[ i ];{сумма x*y}
e:=e+x[ i ]*x[ i ];{сумма квадратов иксов}
g:=g+y[ i ]*y[ i ];{сумма квадратов игреков}
end;
a:=s1/s2;
b:=w-a*t;
r:=absn*c)-(h*k/sqrtn*e-h*h)*(n*g-k*k;{коэффициент корреляции}
writeln;
writeln(' a=',a:8:1,' b=',b:5:1,' r=',r:7:4);
writeln;
writeln(' N 1/T ln k ln k выч Погрешность');
writeln;
assign(q,'p10_5_1.txt');rewrite(q);
for i:=1 to n do
begin
writeln(i:3,x[ i ]:12:6,y[ i ]:12:4,a*x[ i ]+b:12:4,y[ i ]-a*x[ i ]-b:12:4);
writeln(q,x[ i ]:12:6,y[ i ]:12:4,a*x[ i ]+b:12:4);
end;
close(q);
k0:=exp(b);Ea:=-a*8.31441;
writeln;
writeln(' k0 =',k0:9,' Ea =',Ea:10:2);
end.
Ну что из этого следует? в чем проблема то?
Судя по всему, тот файл, который ты пытаешься открыть, лежит не в текущей папке.
ну, значит, ошибка 104 возникает, когда ты пытаешься сделать reset(f). проверь еще раз правильность пути к файлу в assign (не поленись прописать полный путь). скорее всего, программа просто не находит этого файла.
Записывает он без проблем в папку Bin, там я и создал файл для считывания. В temp тоже скинул этот файл и в мои документы, скоро этот файл у меня будет лежать во всех папках!
проблема где-то в
assign(f,'p10_5.txt');
reset(f);
read(f,n);
for i:=1 to n do
begin
read(f,x[ i ],y[ i ]);
а что именно ему не нравится я не понимаю!
Проверь тогда имя файла. Может, у тебя там буква "р" не латинская, а русская. Или не подчеркивание, а дефиз. Проверь и на диске, и в программе.
Это уже интересно
207 ( Invalid floating point operation) - это уже где-то в вычислениях ошибочка, скорее всего
Получилось!
Я же говорю, Паскаль это такая херня, пристанет к чему-то фиг поймешь че ему надо.
Короче, переименовал я файл, прописал полный путь и эта колымага поехала.
и , спасибо вам за помощь!
От меня вам по 5 звездочек!
Я что-то сильно сомневаюсь. Скорее read вообще не отличает перенос строки от пробела и считывает все подряд, сначала 10 элементов в x потом 10 в y.
Короче прога заработала!
Мы сделали это
Поздравляю! Так обычно и бывает - та ошибка, которую дольше всех ищешь, оказывается самой дурацкой
Самое приятное - когда в С убираешь один printf, и прога перестаёт работать...
Я же говорю, Паскаль это такая херня, пристанет к чему-то фиг поймешь че ему надо.Он же тебе чётко рапортовал ошибками, что у тебя не так.
Так что это не Паскаль херня, а ручки...
--------------------------------------------------------------------------------
Я же говорю, Паскаль это такая херня, пристанет к чему-то фиг поймешь че ему надо.
--------------------------------------------------------------------------------
Он же тебе чётко рапортовал ошибками, что у тебя не так.
Так что это не Паскаль херня, а ручки...
Почитай все сначала, поймешь почему я так написал.
Не знаю, может твои ручки и ...
На любой другом языке программирования у тебя возникли бы теже самые ошибки.
ЗЫ Если запискаешь программу из IDEшки и обращаешься к файлам, без указания полного пути,
то проверяй в каком каталоге ты её запускаешь. File->Change dir...
Во-вторых, Паскаль меня действительно бесит, он пристает к твоей программе фиг поймешь че ему надо (хоть он и выдает сообщения об ошибках)
В-третьих, сначала подумай стоит ли обсирать чьи-либо руки или еще что-нибудь, а то можешь нарваться.
В-четвертых, если уж на то пошло, руки всего лишь вбивают программы, а создаются они в голове, так что тогда уж голова ...
P.S. Всем удачи в общении с Паскалем!
бля, а как ты сдал этот е...ный Паскаль?7
Во-первых, я Паскаль уже сдал и мне честно говоря уже посрать на него.Хватит нести пургу. Тебе уже несколько человек сказало, что эти ошибки воспроизвелись бы в любом другом языке.
Во-вторых, Паскаль меня действительно бесит, он пристает к твоей программе фиг поймешь че ему надо (хоть он и выдает сообщения об ошибках)
В-третьих, сначала подумай стоит ли обсирать чьи-либо руки или еще что-нибудь, а то можешь нарваться.
Когда он будет Си сдавать, ему ещё веселее будет.
Оставить комментарий
lexan
Помогите если кто в этом разбирается.Короче, как правильно связь с внешними файлами наладить?
У меня в проге:
var f:text;
.......
assign(f, '1.dat');
reset(f);
read(f, a, b);
А он run time errоr 002 выдает!
Помогите, а то завтра меня ....