Не могу найти ошибку - Turbo Pascal
Формулировка задачи:
Решение задачи: «Не могу найти ошибку»
textual
Листинг программы
Program Graf01; uses Graph; var Xw1,Xw2,Yw1,Yw2:integer; Dan: array [1..2,1..200] of real; Xmin,Xmax,Ymin,Ymax:real; Ko1T:integer; Dx:real; i,x0,x1,y0,y1:integer; x:real; ko1X,ko1Y:integer; OcX,OcY:array [1..20] of real; Ocif:string; kX,kY:real; gd,gm: integer; Function F1(x:real):real; begin F1:=(x*x-9)*x+3; end; Procedure RasDan; begin Write('Xmin :');Readln(Xmin); Write('Xmax :');Readln(Xmax); Write('Ko1T :');Readln(Ko1T); Dx:=(Xmax-Xmin)/(Ko1T-1); x:=Xmin; for i:=1 to Ko1T Do begin Dan[1,i]:=x; Dan[2,i]:=F1(x); x:=x+Dx; end; Ymin:=Dan[2,1]; Ymax:=Dan[2,1]; for i:=2 to Ko1T do begin if Dan[2,i]<Ymin Then Ymin:=Dan[2,i]; if Dan[2,i]>Ymax Then Ymax:=Dan[2,i]; end; Writeln('Xmin=',Xmin:8:4,' Xmax=',Xmax:8:4); Writeln('Ymin=',Ymin:8:4,' Ymax=',Ymax:8:4); Write('Кол.верт.линий (Ko1X):');Readln(Ko1X); For i:=1 to Ko1X Do begin Write('X',i,'='); Readln(OcX[i]); end; Write('Кол.гориз. линий (Ko1Y):');Readln(Ko1Y); For i:=1 to Ko1Y Do begin Write('Y','='); Readln(OcY[i]); end; {Readln} end; Procedure Setka; begin Rectangle(Xw1,Yw1,Xw2,Yw2); kX:=Abs((Xw2-Xw1)/(Xmax-Xmin)); x0:=Xw1-Round((Xmin*kX)); For i:=1 to Ko1X Do begin x1:=Round(kX*(OcX[i]))+x0; Line(x1,Yw1,x1,Yw2); Str(OcX[i]:8:1,Ocif); OutTextXY(x1-50,Yw2+10,Ocif); end; kY:=Abs((Yw2-Yw1)/(Ymax-Ymin)); y0:=Yw2+Round(Ymin*KY); For i:=1 to Ko1Y Do begin y1:=y0-Round(kY*(OcY[i])); Line(Xw1,y1,Xw2,y1); Str(OcY[i]:8:1,Ocif); OutTextXY(0,y1-5,Ocif); end; end; Procedure Graf; begin SetLineStyle(0,0,3); x1:=Round(kX*(Dan[1,1]))+x0; y1:=y0-Round(kY*(Dan[2,1])); MoveTo(x1,y1); For i:=2 to Ko1T Do begin x1:=Round(kX*(Dan[1,i]))+x0; y1:=y0-Round(kY*(Dan[2,i])); LineTo(x1,y1); end; end; Begin RasDan; Xw1:=100; Xw2:=600; Yw1:=40; Yw2:=400; gd := Detect; InitGraph(gd, gm, '..\BGI'); Setka; Graf; readln; CloseGraph; End.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д