Встроенные процедуры и функции, применимые к целым типам
Перечень процедур и функций, применимых к целочисленным типам, приведен в табл. 2. Буквами b, s, w, i, l обозначены выражения соответственно типа BYTE, SHORTINT, WORD, INTEGER и LONGINT, x - выражение любого из этих типов; буквы vb, vs, vw, vi, vl, vx обозначают переменные соответствующих типов. В квадратных скобках указывается необязательный параметр. Таблица 2
Логический тип. Значениями логического типа может быть одна из предварительно объявленных констант FALSE (ложь) или TRUE (истина). Для них справедливы правила: ord(False) = 0; ord(True) = 1; False < True; succ(False)= True; {Стандартная функция определения последующего элемента} pred(True) = False. {Стандартная функция определения предыдущего элемента } Поскольку логический тип относится к порядковым типам, его можно использовать в операторе счетного типа, например: var i : Boolean; begin for i:= False to True do .... Символьный тип. Значением символьного типа является множество всех символов ПК. Каждому символу приписывается целое число в диапазоне 0...255. Это код внутреннего представления символов. Его возвращает функция ORD. Символы с кодами 0...31 относятся к служебным кодам. Если эти коды используются в символьном тексте программы, они считаются пробелами. К типу CHAR применимы операции отношения, а также встроенные функции: СНR(В) - функция типа CHAR; преобразует выражение В типа BYTE в символ и возвращает его своим значением; ‘A’<’B’ ORD(‘B’)=66 ORD(‘a’)=97 ORD(‘0’)=48 СНR(48)=’0’ PRED(‘B’)=65 SUCC(‘д’)=’г’ UpCase(‘n’)=’N’ При выполнении операций сравнения сравниваются коды символов как обычные целые числа. При этом получается, что любая заглавная буква меньше соответствующей, та как в кодовой таблице сначала располагаются все заглавные буквы, а затем строчные. UPCASE(CH) - функция типа CHAR; возвращает прописную букву, если СН -строчная латинская буква, в противном случае возвращает сам символ СН Перечисляемый тип. Перечисляемый тип задается перечислением тех значений, которые он может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками, например: typе colors =(red, white, blue,green); var animals:(cat,dog,cow); Поскольку перечисляемый тип относится к порядковым типам, между значениями перечисляемого типа и его порядковыми номерами устанавливается соответствие:первое значение получает порядковый номер 0, второе 1 и т.д.до 65535. ORD(red)=0; ORD(green)=3 Blue>red Достоинства- 1. Улучшает смысловую читабельность программы 2. Более четко проводится контроль значений 3. имеет очень компактное машинное представления. Недостатки – Не могут быть явно выведены с клавиатуры и выведены на пример. Тип-диапазон (интервальный тип). Тип-диапазон есть подмножество своего базового типа, в качестве которого может выступать любой порядковый тип, кроме типа-диапазона. Тип-диапазон задается границами своих значений внутри базового типа: <мин.знач.>..<макс.знач.> Тип-диапазон может производить такие же действия, которые определены для базового типа. Для каждой операции с переменной интервального типа автоматически выполняется проверка: остается ли значение переменной внутри установленного для нее диапазона. Автоматическая проверка объявленных границ позволяет программисту не отвлекаться на организацию собственного контроля. В этом и есть смысл применения типа-диапазона. Пример В хороша написанных программах вы скорее увидите Var Score : 2..12; чем Score :i nteger; Выход за границы вызовет программное прерывание. Правила определения тип-диапазона: · Два символа ..рассматриваются как один, пробелы недопустимы · Необходимо, чтобы левая граница интервала не превышала правую.
Вещественные типы Вещественные типы: очень большие или очень маленькие числа удобно представлять в экспоненциальной форме число представляется в виде множества называемое мантиссой умноженного на 10 в какой либо степени [число=мантисса*10 в степени k] число=мантисса*10 k 2700=2.7*103 ~2.7e+03 2,108*10-10=2.108e-10 Нельзя: 6. .564 e3 6.e2 5.0e { ошибка}
Целые числа представляются абсолютно точно а числа вещественные представляются с конечной точностью, которая зависит от внутреннего формата. Вещественные числа занимают от 4 до 8 смежных байт и имеют следящую структуру:
Здесь s - знаковый разряд числа; е - экспоненциальная часть; содержит двоичный порядок; m - мантисса числа.
Десятичная точка подразумевается перед левым (старшим) разрядом мантиссы, но при действиях с числом ее положении сдвигается влево или вправо в соответствии с порядком числа. Поэтому действия над вещественными числами называют арифметикой с плавающей точкой (запятой). Как видим, Турбо Паскаль характеризуется богатой гаммой вещественных типов, однако доступ к типам SINGLE, DOUBLE и EXTENDED возможен только при особых режимах компиляции. Дело в том, что эти типы рассчитаны на аппаратную поддержку арифметики с плавающей точкой и для их эффективного использования в состав ПК должен входить арифметический сопроцессор Компилятор Турбо Паскаля. {$N+}. Директива обеспечивает доступ к четырем дополнительным вещественным типам.
Стандартные математические функции над вещественными типами Таблица3
3.3. Константы и переменные Константы-это неизменяемые в процессии программы величины Const Ch_=’A’; 1=50; Имеются две разновидности констант: · Обычные константы, тип которых определяется их значением. · Типизированные константы, тип которых определяется их значением и типом. Заранее определены const: MAXINT=32767 MAXLONGINT=2147483647 TRUE, FALSE NIL – пустой указатель []- пустое множество. При изображении шестнадцатеричного целого числа используется $: $A0, $FFF. Для изображения символов, не имеющих физ. изображения используется код с символ : #7,#10.#13. Для типизированных const задается ее тип и начальное значение. Пример Const Y:real=0.5; Ch:char=#7;
Основными объектами Турбо Паскаль явл. Переменная (var) и обращения к функциям с помощью знаков операции и скобок можно составить выражения. Операция имеющая более высокий приоритет выполняется первой Операции имеющие одинаковый приоритет выполняются с лева на право. В ТР нет возведения в степень но оно выполняется с помощью алгоритма а* ~ ехр (ln (a)*x) Преобразование типов В Турбо – Паскале почти невозможны неявные ( автоматические ) преобразования типов. Исключение сделано в отношении констант и переменных типа INTEGER, которые разрешается использовать в выражениях типа REAL. Пример Var X:integer; Y:real; y:=x+2;{правильно} x:=2.5;{не правильно} Для преобразования REAL к INTEGER имеются две встроенные функции: Round(х) и Trunc(x). В 1-ом случае происходит округление до ближайшего целого, во 2-ом усекается число путем отбрасывания дробной части. Пример X:=y/x; {непр} X:=trunc(y/x); {пр} Просто осуществляется преобразование типов данных, если переменные имеют один и тот же размер. Для этого надо указать идентификатор типа, а за ним в скобках переменную исходного типа.
Популярное: Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1439)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |