Помощь - Поиск - Пользователи - Календарь
Полная версия: Прерывание цикла
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Raznorg
Мне нужно чтобы цикл прерывался тогда, когда ответ меньше 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
Напишите пожалуйста полное задание что нужно сделать.
Raznorg
напишите программу, которая находит первое отрицательное число последовательности y:=sin(z/100) где z=1,2,3,4...
Krjuger
Цитата
напишите программу, которая находит первое отрицательное число последовательности y:=sin(z/100) где у=1,2,3,4...

Может быть не y,а z??
И почему ты вместо цикла for не возмеш цикл repeat until, например, и как раз сразу, как только выполнитсья условие, он из цикла выйдет.
А вообще можно использовать оператор прерывания цикла break.
TarasBer
> for a:=1 to x do
z:=z+1;

Не понимаю смысл этого действия.
Ааа, автор забыл поставить операторные скобки.
Raznorg
Хм... я попробовал с 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
Что не сходится?
sin(314/100) больше нуля, sin(315/100) меньше.
Что не так?
Синус пи чему равен? А число пи чему примерно равно?
Raznorg
ммм... странно на калькуляторе выходит 0,0547759...
я чего-то не понимаю ?
volvo
Цитата
я чего-то не понимаю ?
Вероятно, того, что Паскаль считает тригонометрические функции для радиан, а не для градусов?
Raznorg
Цитата
Вероятно, того, что Паскаль считает тригонометрические функции для радиан, а не для градусов

Все правильно.
Спасибо.
Тема закрыта.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.