Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

План заняття. 1. Характеристика речових типів даних




1. Характеристика речових типів даних

2. Характеристика функцій для роботи з речовими типами даних на мові Object Pascal

В переменных вещественных типов содержатся числа, состоя­щие из целой и дробной частей. В Object Pascal определено шесть вещественных типов. Все типы различаются пороговым (мини­мальным положительным) и максимальным значениями, а также точностью (количеством значащих цифр) и объемом занимаемой памяти (см. табл. 3.10).

Вещественное число в памяти компьютера представляется следующим образом:

где s - знаковый разряд числа, е - экспонента, m - мантисса.

Длина мантиссы колеблется в пределах от 23 двоичных разря­дов (тип Single) до 63 (тип Extended). Это обеспечивает точ­ность десятичных цифр 7-8 для Single и 19-20 для Extended.

Типы Сотр и Currency имеют особое предназначение в Object Pascal. Тип Comp содержит только целые числа с нулевой мантис­сой, которые при вычислениях представляются как вещественные и имеют очень большой диапазон значений. Другими словами, длина дробной части у чисел типа Сотр отсутствует. В свою очередь, у типа Currency длина дробной части составляет 4 десятичных раз­ряда. Этот тип предназначен для обработки денежных операций, так как может охватить большой диапазон денежной массы и поз­воляет учитывать двойную систему денежных единиц (гривня -копейка, доллар - цент и т.д.). При программировании операций с валютой обычно приходится искать естественный способ записи денежных сумм, в котором целая часть числа определяет количест­во гривень, дробная - копеек. Если такие значения записывать в переменные типа Сотр, придется представлять их в виде целого числа копеек. В этом случае следует умножать значение на 100 для обращения копеек в гривни, а затем делить на 100, чтобы снова получить копейки. При использовании типа Currency задачу вы­бора представления масштаба возьмет на себя компилятор. Осо­бенность типов Currency и Сотр заключается в том, что они яв­ляются вещественными типами с фиксированной десятичной точ­кой, ввиду чего работа с ними осуществляется быстрее, чем с остальными вещественными числами с плавающей точкой.

Типы Real, Single, Double и Extended относятся к веще­ственным типам данных с так называемой плавающей десятичной точкой. Десятичная точка ставится перед старшим байтом мантис­сы, однако при арифметических действиях с числом она сдвигается вправо или влево в зависимости от выполняемой операции и дво­ичного порядка числа. Операции с типами Real, Single, Double и Extended называют арифметикой с плавающей точкой.

Для работы с вещественными типами используются математи­ческие функции Object Pascal, которые приведены в табл. 3.11.

 

Генератор случайных чисел - это функция, которая случайным образом берет некоторое число, называемое базовым, меняет его разряды по определенному алгоритму и выдает полученное число как результат. Этот результат становится базовым числом при следующем вызове генератора.

Вызов подряд нескольких функций Random не приводит к повтору возвращаемых результатов (период повторяемости есть, но он очень большой). Но у функции генератора есть одна неприятная особенность: при последовательных запусках про­грамма будет выдавать одинаковые значения. Избежать этого можно, вызвав в начале программы процедуру Randomize, которая обеспечивает инициализацию генератора случайных чисел

Рассмотрим представленные функции на практике. Для иллюст­рации примера используется форма Form_Example (см. рис. 3.1). Обработчик нажатия кнопки ОК будет иметь такой вид

В результате работы программы в поле редактора Memo будут выведены такие строки:

В Object Pascal определен ряд стандартных модулей, в которых описаны различные функции и процедуры. После подключения таких модулей к программе предоставляется возможность исполь­зовать описанные в них подпрограммы. В табл. 3.12-3.14 представ­лены некоторые математические функции, предоставляющие ши­рокие возможности при работе с вещественными типами. В про­грамме эти функции будут доступны после ссылки на стандартный модуль Math, который необходимо указать в разделе uses.

 

Ниже представлены примеры использования некоторых из пе­речисленных процедур и функций:

SinCos(0, sin, cos)-> sin=0, cos=l. n:=DegToRad(180);-> n=3,1415926.n:=Logl0(100);-> n=2.

 

Контрольні питання

1. Характеристика речових типів даних

2. Характеристика функцій для роботи з речовими типами даних на мові Object Pascal


АУДИТОРНЕ ЗАНЯТТЯ

ЗМІСТОВИЙ МОДУЛЬ 2: ПРОЦЕДУРНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ. ПРОГРАМУВАННЯ ГРАФІКИ

ТЕМА 2.1: ОСНОВИ МОВИ OBJECT PASCAL

Лекція №20 – Прості оператори




Поделиться с друзьями:


Дата добавления: 2014-12-25; Просмотров: 381; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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