Другие языки программирования и технологии

В чём ошибка в задаче????помогите пожалуйста,подскажите!!!!Дорешатььььь

Для заданной функции y=tgx напечатать таблицу значений изменяя Х от 0 до 90 градусов,с шагом 10.
program r;
var x,y,cosx,sinx:real;
i:integer;
begin
while =90 do
begin if x<>cosx/sinx then begin
y:=cosx/sinx ;
writeln('x=',x:3:2,' ','y=', y:3:2);
end ;
writeln('x=',x:3:2, ' ','­Ґв аҐиҐ­Ёп');
x:=x+10;
end;end.
примерно так
program r;
var
x:integer;
y:real;
begin
x:=0;
while x<=90 do begin
y:=sin(x*pi/180)/cos(x*pi/180) ;
writeln('x=',x:3,' ','y=', y:3:2);
x:=x+10;
end;
end.
АР
Алексей Родионов
95 932
Лучший ответ
> В чём ошибка в задаче??? ?

1. Вы не знаете что такое тангенс. Он численно равен отношению синуса к косинусу.
2. Аргумент для функций Sin(x) и Cos(x) должен задаваться в радианах.
3. Действительные числа нельзя сравнивать на равенство / не равнство. Вы рискуете никогда не выйти из цикла.
Как же не везёт тому, кому надо решать ВОТ ЭТО, когда все нормальные люди отдыхают...
во первых переменные sinx и cosx ничем не заполнены. Во вторых они вообще не нужны. Там следует внести такие изменения sin(x) и cos(x), тогда это будет вызов этих функций. Непонятно что за условие такое, если х не равно тангенсу х, почему оно вообще должно быть равно значению функции (исходный х никогда не будет равен тангенсу х) ? Тут только синус проверять нужно, чтобы не вышло деление на 0.
В условии цикла недопустимое значение. И к тому же, если тут предполагается х=90, то цикл вообще не начнется, поскольку значение х не равно 90 изначально.
Примерно следующие предлагаю, только у меня тут тоже могут быть ошибки, ничерта сейчас не соображаю.. .
program r;
var x,y,cosx,sinx:real;
i:integer;
begin
x:=0;
while x<>90 do
begin
if sin(x)<>0 then y:=cos(x)/sin(x) ;
writeln('x=',x:3:2,' ','y=', y:3:2);
x:=x+10;
end;end.
Виталик `
Виталик `
191