Автор: Raznorg 12.11.2010 22:56
Мне нужно чтобы цикл прерывался тогда, когда ответ меньше 0 и выводил первое число которое привело к этому вот программа :
Код
program _141_3;
uses crt;
var
x,z,a:integer;
y:real;
begin
clrscr;
z:=0;
write('col chisel I= ');
read(x);
for a:=1 to x do
z:=z+1;
y:=sin(z/100);
if y<0 then
writeln('first otr chisl pri I=',z)
else
writeln('malo chisel =)');
end.
Автор: Freedom 12.11.2010 23:05
Напишите пожалуйста полное задание что нужно сделать.
Автор: Raznorg 13.11.2010 2:08
напишите программу, которая находит первое отрицательное число последовательности y:=sin(z/100) где z=1,2,3,4...
Автор: Krjuger 13.11.2010 3:39
Цитата
напишите программу, которая находит первое отрицательное число последовательности y:=sin(z/100) где у=1,2,3,4...
Может быть не y,а z??
И почему ты вместо цикла
for не возмеш цикл
repeat until, например, и как раз сразу, как только выполнитсья условие, он из цикла выйдет.
А вообще можно использовать оператор прерывания цикла
break.
Автор: TarasBer 13.11.2010 14:23
> for a:=1 to x do
z:=z+1;
Не понимаю смысл этого действия.
Ааа, автор забыл поставить операторные скобки.
Автор: Raznorg 13.11.2010 18:54
Хм... я попробовал с repeat until получается так:
Код
program _141_3;
uses crt;
var
z:integer;
y:real;
begin
clrscr;
z:=0;
repeat
z:=z+1;
y:=sin(z/100);
until y<0;
writeln('first otr chisl pri I=',z);
end.
Ответ 315 ? как по мне не сходится...
Автор: TarasBer 13.11.2010 18:57
Что не сходится?
sin(314/100) больше нуля, sin(315/100) меньше.
Что не так?
Синус пи чему равен? А число пи чему примерно равно?
Автор: Raznorg 13.11.2010 19:05
ммм... странно на калькуляторе выходит 0,0547759...
я чего-то не понимаю ?
Автор: volvo 13.11.2010 19:10
Цитата
я чего-то не понимаю ?
Вероятно, того, что Паскаль считает тригонометрические функции для
радиан, а не для
градусов?
Автор: Raznorg 13.11.2010 19:13
Цитата
Вероятно, того, что Паскаль считает тригонометрические функции для радиан, а не для градусов
Все правильно.
Спасибо.
Тема закрыта.