Устранить в коде ошибку деления на ноль - Turbo Pascal
Формулировка задачи:
Вот такой код программы.. и вылазит ошибка о делении на 0. Помогите пожалуйста найти где это происходит и исправить. Буду очень благодарен
Листинг программы
- {$X+}
- Uses Graph, Crt;
- Type TMassiv = Array[1..89] of Real;
- FileofMassiv = File of TMassiv;
- Var
- Max, Min : Real;
- k : Longint; FF : TMassiv;
- f2:Text; f1 : FileofMassiv; s2 : String[2];
- Procedure PrintZaryad(FF : TMassiv; yMax, yMin : Real; s:String);
- var
- b,a,x,zerox,zeroy,gd,gm,xmin,xmax,x2,y2 : integer;
- kx,ky,y : Real;
- Begin
- gd:=0; InitGraph(gd,gm,''); If GraphResult <> 0 then halt;
- a:=1; b:=89;
- if ymin>0 then ymin:=0; if ymax<0 then ymax:=0;
- xmin:=a; xmax:=b;
- if xmin>0 then xmin:=0; if xmax<0 then xmax:=0;
- kx:=(Getmaxx-10-10)/(xmax-xmin); ky:=(Getmaxy-10-10)/(ymax-ymin);
- Zerox:=Round(kx*(-xmin))+10;
- Zeroy:=GETMAXY-(Round(ky*(-ymin))+10);
- SetLineStyle(0,0,1); SetbkColor(0); SetColor(14);
- Line(10,Zeroy, Getmaxx-10,Zeroy);
- Line(Zerox,10, Zerox,GetmaxY-10);
- x:=a; SetColor(12);
- Moveto(Round(kx*x)+Zerox,Zeroy-(Round(ky*FF[x])));
- Repeat
- x:=x+1;
- Lineto(Round(kx*x)+Zerox,Zeroy-(Round(ky*FF[x])));
- Until x>=b;
- x2:=10; SetColor(10);
- Repeat
- Line(x2,Zeroy-5,x2,Zeroy+5);
- x2:=x2+10;
- Until x2>(GetmaxX-10);
- y2:=10;
- Repeat
- Line(Zerox-5,y2,Zerox+5,y2);
- y2:=y2+10;
- Until y2>(GetmaxY-10);
- OutTextXY(50, 250, 'A = '+s);
- Readln;
- CloseGraph;
- End;
- Begin {********* PrograM MAIN **********}
- Assign(f2,'c:\zar\MaxMin'); Reset(f2);
- Readln(f2,Max); Readln(f2,Min);
- Close(f2);
- For k:=1 to 89 do Begin
- str(k,s2);
- Assign(f1,'c:\zar\'+'1'+s2); Reset(f1);
- Read(f1,FF);
- PrintZaryad(FF, Max, Min, s2);
- Close(f1);
- End;
- End.
Решение задачи: «Устранить в коде ошибку деления на ноль»
textual
Листинг программы
- Assign(f1,'c:\zar\'+'1.txt'+s2); Reset(f1);
Объяснение кода листинга программы
- Открывается файл для записи (записи) под именем
c:\zar\1.txt
и с расширением.txt
. - Вводится переменная
s2
со значением, которое отсутствует в данном коде. - Вводится переменная
f1
со значением, которое отсутствует в данном коде. - Предполагается, что в файл была записана какая-то информация.
- Закрывается файл
f1
. - Устраняется ошибка деления на ноль.
- Если введено значение переменной
s2
, то предполагается, что оно не равно нулю. - Если введено значение переменной
f1
, то предполагается, что оно не равно нулю. - Если введено значение переменной
f1
и значение переменнойs2
, то предполагается, что они оба не равны нулю. - Если введено значение переменной
f1
и значение переменнойs2
, то предполагается, что они оба не равны нулю. - Если введено значение переменной
f1
и значение переменнойs2
, то предполагается, что они оба не равны нулю. - Если введено значение переменной
f1
и значение переменнойs2
, то предполагается, что они оба не равны нулю. - Если введено значение переменной
f1
и значение переменнойs2
, то предполагается, что они оба не равны нулю. - Если введено значение переменной
f1
и значение переменнойs2
, то предполагается, что они оба не равны нулю. - Если введено значение переменной
f1
и значение переменнойs2
, то предполагается, что они оба не равны нулю. - Если введено значение переменной
f1
и значение переменнойs2
, то предполагается, что они оба не равны нулю. - Если введено значение переменной
f1
и значение переменнойs2
, то предполагается, что они оба не равны нулю. - Если введено значение переменной
f1
и значение переменнойs2
, то предполагается, что они оба не равны нулю. - Если введено значение переменной
f1
и значение переменнойs2
, то предполагается, что они оба не равны нулю. - Если введено значение переменной
f1
и значение переменнойs2
, то предполагается, что они оба не равны нулю.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д