Другие языки программирования и технологии

Помогите пожалуйста.Почему оно не работает?(паскаль)

program test;

var x, y: real;

begin

writeln('Решение уравнения');

write('Введите x>>');

readln(x);

y:=x*2/3;

writeln ('y= ', y)

end.
Алекс !
Алекс !
113
точку с запятой поставь

и по момему при выполнении программы придется нажать на ентер чтобы дальше программа выполнялась ..точно не скажу..

и не оптимизированно зачем вводить переменную y

program test;
var x: real;
begin
try
writeln('Решение уравнения');
write('Введите x>>');
readln(x);
writeln ('y= ', x*2/3);
except
on System.DivideByZeroException do
writeln('Деление на 0');
on e: System.IndexOutOfRangeException do
writeln(e.Message);
on System.FormatException do
writeln('Неверный формат ввода');
else writeln('Какое-то другое исключение');
end.
Максим Воробьев
Максим Воробьев
543
Лучший ответ
Виталий Гусев Ошибаешься: в Pascal перед end, else, until точка с запятой не ставится.
всё работает, просто реакции не хватает в этом убедиться
Илья Бурнашев
Илья Бурнашев
54 405
В чем оно не работает,, какую ошибку выдает? Тут все правильно. Единственно можно предположить, что вводится не числовое значение.
Лёха Крюков
Лёха Крюков
61 471
Вы должны условие задания сказать, а то помогаешь тут некоторым, а потом оказывается задание в чем-то другом.
Допустим у вас в задании дано y=0, тогда решение x=3y/2 вычисляем и выходит 0
Ждем
AP
Andrei Polyakov
84 521
writeln ('y= ', y);
Андрей Панасов
Андрей Панасов
95 955
Виталий Гусев Ты не прав.
Так-то все работает. Попробуйте точку с запятой поставить после "writeln ('y= ', y)", т.е. исправить сие на "writeln ('y= ', y);" (если не запускается), а так надо после ввода значения x (числа) нажать на Enter. Если же программа быстро закрывается, то тут 2 пути: 1-ый - дописать перед "end" строку "readln ()", 2-ой более хороший - дописать несколько строк - "uses crt;" (после Program) и "readkey " (перед "end"). А если программу нужно запустить несколько раз, то, чтобы не остались предыдущие значения на экране, то после "begin" допишите "clrscr;".

А лучше будет код:

program test;
uses crt;
var x: real;
begin
clrscr;
writeln ('Решение уравнения');
write ('Введите значение переменной x, после чего нажмите клавишу Enter. x=');
readln (x);
writeln ('y=', x*2/3);
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.
Алексей Гаврюк
Алексей Гаврюк
43 559