Предмет: Информатика, автор: dementor228365

Ребят, помогите пожалуйста, проблема с циклами. Обойдусь без предысторий с "хорошим учителем"...


Нужно написать циклы while и repeat/until. Обязательно с оператором if, ибо учитель просит, так как он необходим.
Область "определения" от x=-10 и x=10
Выражение такое: y = корень из (5-x)

Проблема заключается в том, что цикл я составил и он работал, но в качестве значения y под некоторыми значениями x выводилось некое NaN. (Собственно из-за этого if и просится)

Как убрать в принципе знаю, но понятия не имею как оформить.


Кому не лень, просьба помочь...

p.s. Напишите цикл полностью, от корки до корки, прошу...

Ответы

Автор ответа: NaaMan
0

Ответ:

x := -10

while x <= 10 do begin

 {Обязательно надо сделать проверку на знак}

 {Потому что корень из отрицательных чисел не вычисляется}

 {Результатом будет NaN - неопределённое значение}

 if 5-x >= 0 then

     y := sqrt(5-x);

     x := x + 1

end;

{==============================================}

x := -10;

repeat

   if 5 - x > 0 then y := sqrt( 5 - x);

   x := x + 1;

until x >= 10;

Объяснение:

Вот и весь цикл


dementor228365: Слушай, а вот там где Nan раньше появлялся, как мне в операторе write записать, к примеру, слово 'error', после y?
dementor228365: Я наверное плохо объясняю, но я столбиком делаю. И у меня вот
dementor228365: Х=-1 l 2.44... X=0 l 2.236...
dementor228365: Дружище, прости меня, если сильно помешал. Спокойной ночи, надеюсь разберусь дальше
dementor228365: Огромная просьба к тебе... Напиши две программы, вот прям полностью, если понял суть моей проблемы. Если что это два разных задания, ну, это так, для галочки.
dementor228365: Мне нужно, чтобы когда y, на местах где он "не получается", писалось слово error
dementor228365: А так оно перед х пишется
dementor228365: В общем проблема такая, вкратце, нужное слово пишется перед х, а мне нужно, чтобы оно писалось после y, им где раньше NaN было
Похожие вопросы
Предмет: Русский язык, автор: Лиза896191