Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты

Паскаль. For, while, repeat, until, min/max, div/mod.

Дима Ерымов Ученик (203), закрыт 3 недели назад
Лучший ответ
Ксения Райт Просветленный (22203) 2 месяца назад
А функция как должна работать? Аргумент должен в неё передаваться, а она сама должна определять соответствует ли он её области определения? Тогда можно так:

var x, y: real; yes: boolean;

function f(x: real): real; begin if x < -1.5 then
begin yes := false; f := -1000 end else begin
f := x - sqrt(2 * x + 3); yes := true end end;

begin while true do begin write('x = ');
readln(x); y := f(x); if yes then writeln('y(x) = ', y)
else writeln('x ∉ D(y)') end end.

Это если функция ничего особо полезного не делает, а просто принимает аргумент, оценивает его и если аргумент корректный, то вычисляет своё значение при данном аргументе и возвращает его, а оно уже в основной программе выводится на экран, но если аргумент некорректный, об этом выводится сообщение в самой программе. Проверку условия х ∈ D(y) можно, кстати, осуществлять и в самой основной программе, а не в функции, да можно и вообще без функции обойтись, что даже намного проще:

var x: real; begin while true do begin
write('x = '); readln(x); if x >= -1.5 then
writeln('y(x) = ', x - sqrt(2 * x + 3)) else
writeln('Incorrect argument') end end.
Остальные ответы
Кублен Оракул (93872) 2 месяца назад
if 2*x+3 >=0 then y:=sqrt( 2*x+3);
Дима ЕрымовУченик (203) 2 месяца назад
Ты просто преобразовал пример так, как он должен выглядеть в паскале и добавил if, а мне нужно код, который решает его. Если бы ты внимательно прочитал задание, которое написано на картинке ты бы это понял.
Дима Ерымов, То, что написано в ответе, полностью соответствует заданию на скриншоте. Твоё "For, while, repeat, until, min/max, div/mod." никакого отношения к тексту задания не имеет. Сначала сам научись формулировать свои хотелки так, чтобы тебя понимали, а уже потом высказывай претензии тем, кто захотел тебе ответить.
КубленОракул (93872) 2 месяца назад
За работу надо платить, за помощь -благодарить
Похожие вопросы