В программе сильно нарушена логика следования действий!
Логично выполнять действия так:
1 шаг. Ввести х
2 шаг. Проверить, если х не равен 0, то вычислить у; вывести у на экран, иначе вывести сообщение о том, что функция не существует
Ошибки в программе:
- в 5 строке идет вывод сообщения о виде функции, и тут же идет вывод результата деления 1/х. Но! х ЕЩЕ НЕ ВВЕДЕН!!! По умолчанию он равен 0! Идет деление на 0!!!
- в 6 строке идет ввод значения переменной f, но в условии задачи нет такой переменной, и далее она нигде не используется-строка и переменная лишняя!
- в 9й и 13й строках операторные скобки begin и end лишние, они не дают ошибку, просто не нужны
- так как вычислять значение функции можно и при x<0 и при x>0, то два эти условия можно записать как одно условие, т.е. x<>0
- отрицание этого условия и гарантирует, что x=0, когда функция не существует:
if x<>0 then writeln('y=',1/x)
else writeln('Функция не существует');
на этом задача будет решена, т.к. вывод результата будет выполняться сразу же после проверки условия и вычисления