Регистрация
26 Мар 2013
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
program rtr4or;
const c=45;
var g,r,h:real;
begin;
g:=60;
r:=5;
g:=c+r+h;
writeln ('h=', h:6:4);
end.

h=0.0000

Почему так.
 
Вам повезло, очевидно ваш АБС сам инициализирует переменные в 0. Очень многие версии компилятора паскаля такими вещами не заморачиваются и при объявлении переменной просто выделяют место в куче... Таким образом не инициализировав переменную вы получаете случайное число...
 
В ИМПЕРАТИВНЫХ языках (а это все процедурные языки и все языки с ООП) ЛЮБАЯ переменная имеет ТОЛЬКО то значение, которые ты ЯВНО ей ПРИСВОИШЬ. И никак иначе. Хочешь получить значение h - пиши формулу, которая ЯВНО вычислит и присвоит значение переменной h. Если ты хочешь написать уравнение, а потом сказать: "вычисли мне h, находящуюся внутри выражения", то для этого используют или ДЕКЛАРАТИВНЫЕ языки (например, Prolog), или специализированные программы для математических вычислений.
 
Назад
Сверху