Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   PASCAL - Построение графика функции (http://forum.oszone.net/showthread.php?t=222243)

dttr 05-12-2011 23:14 1809974

PASCAL - Построение графика функции
 
Суть задачи - записать значения функции по заданному значению x в файл, записать значения x и y в массив для последующего построения графика функции.

Вопрос в следующем: при исполнении программы выводится значение об ошибке файла 'output.dat' - exited with exitcode = 106. Укажите ошибки в коде?

PHP код:

uses crtgraph;
var
{
graph_module}
gdgminteger;
{
ramka}
maxxmaxyx0y0x1y1rsrwrctinteger;
{
podshet}
xminxmaxystepdouble;
M1M2: array[1..1000of double;
F1F2F3text;
ij:integer;
{
setka}
nxnyssscswinteger;
{
graphic}
gsgwgcinteger;


begin
clrscr
;

{
graph_module}
gd:=detect;
initgraph(gd,gm'');

{
ramka}
setcolor(lightgray);
maxx:=GetMaxX;
maxy:=GetMaxY;
x1:=maxx-30;
y1:=maxy-30;
x0:= 30;
y0:= 30;
rectangle(x0y0x1y1);
setcolor(lightgreen);
settextstyle(TriplexFont01);
settextjustify(12);
t:=round((maxx-60)/2);
outtextxy(t40'Graph of the function y=x*x+2');

{
podshet}
assign(F1'input.dat');
assign(F2'output.dat');
reset(F1);
readln(F1xminxmaxstep);
close(F1);
assign(F2,'output.dat');
rewrite(F2);
while 
xmax xmin do
begin
y
:=xmin*xmin+2;
writeln(F2xmin:6:2' 'y:6:2);
xmin:=xmin+step;
end;
close(F2);
reset(F2);
for 
i:=1 to 1000 do
for 
j:=1 to 1000 do
begin
read
(F,M1[i],M2[j]);
end;
{
graphic}


readln;
closegraph;
end


Tonny_Bennet 07-12-2011 10:38 1810871

Хм, по моему

Код:

assign(F2, 'output.dat');
встречается в коде 2 раза.... вот когда вы второй раз пытаетесь создать файл он и ругается. Уберите вторую строчку... скорее всего заработает

dttr 07-12-2011 17:34 1811118

Tonny_Bennet, спасибо, исправил.Но Ошибка сохранилась по-прежнему. В 'input.dat' записаны (xmin, xmax, шаг); далее вывожу в файл 'output.dat'(x, посчитанное значение y); далее записываю значения x - в массив M1, y - в M1. При запуске получаю следующее сообщение:



Независимо от выбора, вылезает ошибка.

Tonny_Bennet 08-12-2011 12:51 1811557

Вот не хотел же себе Pascal ставить... пришлось. Давайте разберёмся по порядку. У вас должно быть часть программы, которая просчитывает значения функций и пишет его либо в файл либо в массив. Потом после того как эта часть отработает нужно заниматься построением линий и точек. Отладьте кусок кода, который считает.

Сейчас я закоментировал весь код, отвечающий за графику. Ругается на Runtime error 103 at $004015FF. Но в файле Output.dat есть данные.


Время: 18:25.

Время: 18:25.
© OSzone.net 2001-