Войти

Показать полную графическую версию : PASCAL - Построение графика функции


dttr
05-12-2011, 23:14
Суть задачи - записать значения функции по заданному значению x в файл, записать значения x и y в массив для последующего построения графика функции.

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

uses crt, graph;
var
{graph_module}
gd, gm: integer;
{ramka}
maxx, maxy, x0, y0, x1, y1, rs, rw, rc, t: integer;
{podshet}
xmin, xmax, y, step: double;
M1, M2: array[1..1000] of double;
F1, F2, F3: text;
i, j:integer;
{setka}
nx, ny, ss, sc, sw: integer;
{graphic}
gs, gw, gc: integer;


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(x0, y0, x1, y1);
setcolor(lightgreen);
settextstyle(TriplexFont, 0, 1);
settextjustify(1, 2);
t:=round((maxx-60)/2);
outtextxy(t, 40, 'Graph of the function y=x*x+2');

{podshet}
assign(F1, 'input.dat');
assign(F2, 'output.dat');
reset(F1);
readln(F1, xmin, xmax, step);
close(F1);
assign(F2,'output.dat');
rewrite(F2);
while xmax > xmin do
begin
y:=xmin*xmin+2;
writeln(F2, xmin: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
Хм, по моему

assign(F2, 'output.dat');

встречается в коде 2 раза.... вот когда вы второй раз пытаетесь создать файл он и ругается. Уберите вторую строчку... скорее всего заработает

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

http://i28.fastpic.ru/big/2011/1207/84/f95dcf98a784b5fe194cab8650106184.jpg

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

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

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




© OSzone.net 2001-2012