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

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

Приложения:

Аноним: Написана ерунда, если называть вещи своими именами.
Аноним: Похоже, что писавший совершенно не понимает предмета, а копирует готовые куски из ранее написанного, либо пишет "по образцу" (который не подходит на самом деле).
janelightman: Ну дело в том, что я вообще не шарю в информатике)) с математикой все супер, а вот это вообще не мое. Плюс пропустила условные операторы в школе) Так что кое как, смотря видео по теме и смотря в учебник, пытаюсь понять(

Ответы

Автор ответа: FreeProgrammer
1
В программе сильно нарушена логика следования действий!
Логично выполнять действия так:
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!!!" - это Вам кто сказал? Т.е. на самом деле, в некоторых компиляторах так и происходит, но не во всех, посему это утверждение в таком виде ложно.
Похожие вопросы
Предмет: Математика, автор: Аноним
Предмет: Алгебра, автор: genadijfilatov