Понеділок, 18.02.2019, 22:17
Гость

Мішатронік

Автор - Кренцін Михайло

Мобільна версія | Додати у вибране  | Мій профіль | Вихід | RSS |
Меню сайту
Наше опитування
Оцініть мій сайт
Всього відповідей: 12
Статистика

Онлайн всього: 1
Гостей: 1
Користувачів: 0




Явное преобразование типов

 

В ряде случаев в Pascal происходит автоматический переход от одного типа данных к другому (от целого к действительному, от символьного к строковому и т.д.). Существует также ряд функций, осуществляющих преобразование типов (ord, chr, trunc, round). Наряду с этим в Паскаль возможно явное преобразование типов (ретипизация данных). Для того, чтобы осуществить явное преобразование типа, необходимо использовать имя типа аналогично тому, как используется имя функции. В качестве параметра в этом случае указывается имя преобразуемой переменной.

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

Пример задачи, где используется явное преобразование типов

Вычислить значение функции sign(x) = 1 при x>0; 0 при x=0; -1 при x<0.

 
var
 x: real;
 sign: integer;
begin
 readln(x);
 sign:= byte(x>0)-byte(x<0);
 writeln(sign);
end.

 

В программе при положительном значении x выражение x>0 принимает значение true, а выражение x<0 — false. В результате получается, что byte(x>0) = 1, byte(x<0)=0, а sign=1. При отрицательном значении x byte(x>0)=0, byte(x<0)=1, sign=-1. При нулевом значении x sign=0.

 

 

Форма входа
Пошук
Календар
«  Лютий 2019  »
ПнВтСрЧтПтСбНд
    123
45678910
11121314151617
18192021222324
25262728
Друзі сайту
Погода у Вінниці


Єдина Країна! Единая Страна!