Помощь - Поиск - Пользователи - Календарь
Полная версия: На цикл
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
FantomasiK
Помогите!!! Вот написал задачу, а оно почему-то плохо работает. Когда я ввожу N мне сразу ответ не выдает, а оно опять просит ввести N, пока не попадаешь на определённые цифры. Например: 1, 8, 56...
вот условие задачи
№1 надо вычислить значение функции y=sin(n*x)-cos(n/x), если N заданно, а X изменяется от Xo до Xк с шагом N. Вывести на печать значение функции, удовлетворяющие условию 0<y<0.5
А вот, что у меня есть
Program zadanie_1;
Uses crt;
Var n,x: integer; y:real;
Begin
ClrScr;
repeat
Write('Vvedite n=');
Readln(n);
for x:=1 to n do y:=sin(n*x)-cos(n/x);
until (y>0) and (y<0.5);
Write(' y=',y:4:2);
Readln;
End.
Анна
Потому что у тебя условие: Вывести на печать значение функции, удовлетворяющие условию 0<y<0.5
А вот оно у тебя в задаче:
repeat
...
until (y>0) and (y<0.5);
volvo
FantomasiK, ты просто зацикливаешь ввод данных тоже. Вот так сделай:
    Write('Vvedite n='); Readln(n);
for x:=1 to n do begin
y:=sin(n*x)-cos(n/x);
if (y>0) and (y<0.5) then WriteLn(' y=',y:4:2);
end;

и убери совсем Repeat ... Until.
Анна
а ещё лучше
                         Program zadanie_1;

Uses crt;

Var n,x: integer; y:real;

Begin

ClrScr;



Write('Vvedite n='); Readln(n);
for x:=1 to n do
y:=sin(n*x)-cos(n/x);
if (y>0) and (y<0.5) then WriteLn(' y=',y:4:2) else writeln ('Не удовлетворяет условию...');


End.






Для наглядности ... blum.gif blink.gif
volvo
Цитата
а ещё лучше

А вот за следующее подобное решение я буду тебя наказывать !!! mad.gif Теперьотладь эту программу, и объясни, в чем была твоя ошибка... Для наглядности.
Анна
вот ...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.