В ряде случаев в Pascal происходит автоматический переход от одного типа данных к другому (от целого к действительному, от символьного к строковому и т.д.). Существует также ряд функций, осуществляющих преобразование типов (ord, chr, trunc, round). Наряду с этим в Паскаль возможно явное преобразование типов (ретипизация данных). Для того, чтобы осуществить явное преобразование типа, необходимо использовать имя типа аналогично тому, как используется имя функции. В качестве параметра в этом случае указывается имя преобразуемой переменной.
Преобразовать можно любой тип к любому другому, однако следует выполнять требование: в операторе присваивания переменная слева должна занимать в памяти столько же или больше байт, сколько занимает преобразуемое значение.
Вычислить значение функции sign(x) = 1 при x>0; 0 при x=0; -1 при x
var x: real; sign: integer; begin readln(x); sign:= byte(x>0)-byte(x); writeln(sign); end.
В программе при положительном значении x выражение x>0 принимает значение true, а выражение x0) = 1, byte(x0)=0, byte(x
Комментарии
почему?
не идёт программа?
явное преобразование типов
Тому що )))
Вона не запускається тому ,що не було назви програми (Program efwf;)
прграмма не запускается и readln; не помогает
У меня все работает
У меня все работает (freepascal в Linux)
Все идет
В конце перед end. readln; допиши и пойдет)