Есть код на паскале, который считает выражение и запрещает ввод букв. Нужно сделать проверку знаменателя на 0 обоих выражений, и вывести текст в случае нуля PascalABC program aip; var fltA,fltB,fltB2:real; code:integer; func...
Есть код на паскале, который считает выражение и запрещает ввод букв. Нужно сделать проверку знаменателя на 0 обоих выражений, и вывести текст в случае нуля
PascalABC
program aip;
var
fltA,fltB,fltB2:real;
code:integer;
function ip(A:real):real;
var A1:string;
begin
write('Введите значение А= ');
//--------
repeat
readln(A1);
val(A1,A,code);
if (code<>0) then writeln('no');
until (A>0);
//-------
ip:=A;
end;
begin
fltA:=ip(fltA);
fltB:= ((1-2*sin(fltA)*sin(fltA))/(1+sin(2*fltA)));
fltB2:= ((1-tan(fltA))/(1+tan(fltA)));
writeln('Первая формула ',fltB:5:5);
writeln('Вторая формула ',fltB2:5:5);
end.
Ответ(ы) на вопрос:
PascalABC
program aip;
var
fltA,fltB,fltB2:real;
code:integer;
function ip(A:real):real;
var A1:string;
begin
write('Введите значение А= ');
//--------
repeat
readln(A1);
val(A1,A,code);
if (code<>0) then writeln('no');
until (A>0);
//-------
ip:=A;
end;
begin
fltA:=ip(fltA);
if abs(1+sin(2*fltA)) < 0.000001 then begin
writeln('Delenie na nol v pervoy formule');
end else begin
fltB:= ((1-2*sin(fltA)*sin(fltA))/(1+sin(2*fltA)));
writeln('Первая формула ',fltB:5:5);
end;
if abs(1+tan(fltA)) < 0.000001 then begin
writeln('Delenie na nol vo vtoroy formulte');
end else begin
fltB2:= ((1-tan(fltA))/(1+tan(fltA)));
writeln('Вторая формула ',fltB2:5:5);
end;
end.
Не нашли ответ?
Похожие вопросы