Информатика, вопрос задал janelightman , 8 лет назад

Проверьте, пожалуйста, правильно ли написана программа... При проверке вылезает окно CRT но при этом в нем ничего писать не выходит Задание: составьте программу вычисления для любого x функции y=1/x, при x=0 выдать сообщение «функция не существует».

Приложения:

Ответы на вопрос

Ответил FreeProgrammer
0
В программе сильно нарушена логика следования действий!
Логично выполнять действия так:
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('Функция не существует');
на этом задача будет решена, т.к. вывод результата будет выполняться сразу же после проверки условия и вычисления
Ответил janelightman
0
Спасибо большущее!!!!!!!
Ответил Аноним
0
"По умолчанию он равен 0! Идет деление на 0!!!" - это Вам кто сказал? Т.е. на самом деле, в некоторых компиляторах так и происходит, но не во всех, посему это утверждение в таком виде ложно.
Новые вопросы