Forum > Russian
Неправильно исполняется код
devisa_san:
Добрый день!
Ситуация следующая - имеется вот такой простейший код, где мы вводим значение переменных и вводим операцию, необходимую для выполнения над переменными. Lazarus при компиляции выдаёт какую то дичь - уже на стадии ввода операции он выводит сообщение, которое должно выводиться при невыполнении всех условий. Код рабочий, проверен в мобильном Pascal N-IDE и там всё работает как надо. Вопрос - что происходит и как сделать так, чтобы код работал? Пробовал версии лазаруса 2.0.4 и 1.8.4. Лазарусы из коробки, никаких настроек не было произведено. Скрин с окном выполнения прикладываю.
P.S. Такое поведение лазаруса вызывает шок - это очень мягко говоря. :o
program Project1;
var a,b:double;
c:string;
begin
write ('a=');
read (a);
write ('b=');
read (b);
write ('Enter operation (+ - * /) : ');
read (c);
if c='+' then write (a+b) else
if c='-' then write (a-b) else
if c='*' then write (a*b) else
if c='/' then write (a/b) else write ('Wrong');
readln;
readln;
readln;
end.
julkas:
Try following -
--- Code: Pascal [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---write ('a=');readln (a);write ('b=');readln (b);write ('Enter operation (+ - * /) : ');readln (c); Замени read() на readln()
devisa_san:
Спасибо за быстрый ответ. Работает как задумано, благодарю. Но тогда почему код работал в Pascal N-IDE?
julkas:
--- Quote from: devisa_san on August 12, 2019, 01:36:39 pm ---Спасибо за быстрый ответ. Работает как задумано, благодарю. Но тогда почему код работал в Pascal N-IDE?
--- End quote ---
Это для меня тоже загадка. Надо опробовать N-IDE. Давно хотел ...
devisa_san:
Ну, и соответственно вопрос почему с Read не работает в Lazarus? Комп в любом случае должен дождаться ввода переменной c, а он этого не делает... Хотелось бы разобраться, а то такое поведение для меня показалось странным. Да, и вообще не первый раз в lazarus наблюдаю такое явление, когда порядок выполнения программы нарушен, но там это было зачастую в программах с графическим интерфейсом и сложной структурой, но тут то простейшая программа с несколькими IF - школьнику паскаль объяснял и тут такое западло вылезло.
Navigation
[0] Message Index
[#] Next page