Предмет: Информатика,
автор: Паша159
Есть код на паскале, который считает выражение и запрещает ввод букв. Нужно сделать проверку знаменателя на 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.
Ответы
Автор ответа:
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);
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.
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.
Автор ответа:
0
Считает все равно, нужно перевод сделать
Автор ответа:
0
ip:=A; замените на ip:=A*3.14/180; вместо 3,14 можете взять более точное значение числа pi
Автор ответа:
0
Не работает :(
Автор ответа:
0
Делит все равно
Автор ответа:
0
Нужно сделать что бы он в градусной мере принимал значения
Похожие вопросы