русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Преобразование типов.


Дата добавления: 2014-11-27; просмотров: 760; Нарушение авторских прав


В Паскале оператор присваивания не всегда работает, даже если он написан синтаксически верно. Когда мы производим вычисления с известными числами, ре­зультат известен и проблем не возникает. С перемен­ными же все проходит не всегда так гладко, поскольку переменные типов Integer и Real хранятся по-раз­ному (занимают разный объем памяти).

Компьютер устроен так, что выполнять действия он может толь­ко с одинаковыми объектами.

 

 

Возьмем следующую программу:

program wrong;

var

а: = Integer;

b: = Real;

begin

b: = 2;

a: = 2.9; {Здесь содержится ошибка!}

end.

Если набрать эту программу и попробовать ее от­транслировать, получим сообщение об ошибке Туре mi smatch. Курсор при этом укажет на ту строку, у ко­торой в комментарии сказано, что здесь содержится ошибка. В переводе на русский язык сообщение озна­чает Нарушение соответствия типов. Давайте разбе­ремся в причинах появления данного сообщения. В пер­вом операторе переменной вещественного типа при­сваивается целое число 2. Ошибки здесь нет, по­скольку произойдет так называемое преобразование типа, при котором число 2 будет представлено в виде десятичной дроби 2.0 и записано в b. А наоборот нельзя - в целую переменную «а» дробное число 2.9 не запишется, и транслятор выдаст ошибку.

Такие си­туации возникают очень часто, и сложнее всего быва­ет разобраться со случаем, когда используется опера­ция деления «/» (например, что будет с результатом f / 2, где f - целое число?). Существует несколько правил, два из которых уже были описаны ранее (в переменную вещественного типа можно записать целое число, а наоборот - нельзя). Остальные прави­ла, касающиеся выполнения арифметических опера­ций, представлены в табл. 1.2. Таблица 1.2. Правила выполнения, арифметических операций языка Паскаль

Что делать, если надо получить в результате целое число, пусть даже округленное? В этом случае можно воспользоваться одной из двух встроенных функций Паскаля: Trunc(а) или Round (а).



Встроенные функ­ции пока можно считать обычными операторами язы­ка Паскаль. Здесь Trunc отбрасывает дробную часть аргумента, a Round округляет его по правилам мате­матики до ближайшего целого.

Примеры:Trunc(2.73) = 2; Trunc(-3,4) = -3; Trunc(1.9) = 1; Round (2.5) = 3; Round(-3.7) = -4.0.



<== предыдущая лекция | следующая лекция ==>
Вопрос. Типы данных в PASCAL | Вопрос. Структура программы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.036 сек.