извиняюсь..если тему уже затрагивали...написал прогу... самую простейшую.. для вычисления всех сторон треугольника., периметра и площади..
а он мне пишет что неправильные операции над числами с плав. точкой произвожу.что делать??
program h09809;
uses crt;
var
aa,bb,alpha_:real;
function triangle(var a,b,alpha:real):real;
var
polyper,perimetr,c,beta,gamma:real;
begin
c:=sqr(a)+sqr(b)-2*a*b*cos(alpha);
beta:=(b*sin(alpha)/a)/sqrt(1-sqr(b*sin(alpha)/a));
gamma:=180-alpha-beta;
writeln('Storoni treugolnika ravni: ',a:2:2,' ',b:2:2,' ',c:2:2);
writeln('Gradusnaya mera yglov treygolnika: alpha=',alpha:2:2,' beta=',beta:2:2,' gamma=',gamma:2:2);
perimetr:=a+b+c;
writeln('Perimetr raven ',perimetr:2:2);
polyper:=(a+b+c)/2;
polyper:=sqrt(polyper*(polyper-a)*(polyper-b)*(polyper-c));
writeln('Ploshad treygolnika ravna ',polyper:2:2);
end;
begin
clrscr;
writeln('Vvedite pervyiy storony treygolnika');
readln(aa);
writeln('Vvedite vtoryiy storony treygolnika');
readln(bb);
writeln('Vvedite ygol mejdy nimi');
readln(alpha_);
triangle(aa,bb,alpha_);
readln;
readln;
end.
Под корнем точно положительное число?
ну по идее да... а ...вы думаете, это потому что он допускает выделение корня из отрицательног числа??
Я не знаю, поэтому и спрашиваю... Вроде больше ничего к подобно ошибке не может привести... Попробуй перед вычислением корня результат подкоренного выражения распечатать - тогда увидишь, из-за этого или нет... Или скажи, на каких данных у тебя программа вылетает...
А отладчиком пройдись....там отрицательное!
Добавлено через 3 мин.
Может попробуешь abs?
Эскизы прикрепленных изображений
ой нет, с синусом всё в порядке, извиняюсь
а с модулем если ввести 4 2 90 выдёт 8 ?
я сначала так же подумал, просто потом вывел Sin (pi * 30 / 180), забыл округлить и получил ответ 5 + мантисса, это меня смутило,
Sin(30*pi/180) :0:2- вот где собака зарыта.
то есть... при вводе надо каждый угол умножать на pi и делить 180??
а при выводе.. соответсвенно..наоборот??
Ну по идеи когда работаешь с синусами и косинусами то да,нужно переводить в радианы..(1 градус приблизительно 0,017 радиан)