Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Глава 3 Стандартные типы данныхСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Данные. Типы Одна из характерных особенностей современных ЭВМ состоит в возможности получать, накапливать и хранить большие объемы информации, содержащиё формализованные сведения об окружающем человёка мире. Поступившая в ЭВМ информация может быть обработана с целью извлечения из нее требуемых пользователю сведений в зависимости от его интересов и потребностей практики. Информация, хранящаяся в памяти ЭВМ и доступная для обработки, состоит из данных. Данные в определенной степени являются приближенным отражением действительности, поскольку в них игнорируются некоторые свойства и характеристики реальных объектов, несущественные для решаемой задачи. Применение ЭВМ для хранения и обработки данных приводит к разделению данных и их смыслового содержания. ЭВМ, как правило, имеют дело с данными как таковыми, а большая часть интерпретирующей информации в явной форме не фиксируется. Ее должен знать пользователь и применять при анализе данных, полученных от ЭВМ. Для обработки ЭВМ данные представляются в виде величин и их совокупностей. С понятием величины связаны такая важная характеристика, как ее тип. Тип определяет: · возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу; · внутреннюю форму представления данных в ЭВМ; · операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу. В языке Паскаль тип величины задают заранее. Все переменные, используемые в программе, должны быть объявлены в разделе описания с указанием их типа. Обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и рассматривается как необходимое свойство современных алгоритмических языков высокого уровня. Тип однозначно определяет, как будет интерпретироваться та или иная информация в результате исключаются попытки выполнения над ней неприемлемых операций. Рисунок 3.1 - Иерархия типов данных Вещественные типы К вещественным типам данных, используемым в языке программирования Turbo Pascal, относятся Real, Single, Double, Extended и Соmр. Они отличаются друг от друга диапазонами допустимых значений (т.е. значений, которые могут принимать переменные этих типов) Для хранения переменных того или иного вещественного типа требуются различные объемы памяти. Соответствующие характеристики вещественных типов представлены в табл. 3.1. Таблица 3.1. Характеристики вещественных типов, принятых в Turbo Pascal
Вот как выглядят описания переменных вещественных типов. Var a:real; b:single; c:double; d:extended; e:comp; Среди упомянутых выше вещественных типов особого внимания заслуживает Соmр. Данный тип — нечто среднее между вещественным и целочисленным типами; он обладает свойствами одного и другого. Переменные типа Comp могут принимать только целые значения — особенность целочисленных типов. Однако при этом Comp не является порядковым типом, и именно потому его относят к категории вещественных типов. Применимые операции К вещественным числам применимы четыре арифметических действия; полученный при этом результат также будет вещественным числом. Речь идет о таких действиях, как сложение (+), вычитание (—), умножение (*) и деление (/). В одном выражении могут присутствовать переменные как одного, так и разных вещественных типов. Например, объявленные выше переменные a, b, с, d и e могут участвовать в следующих выражениях. a+b+e; c-d; (a*b+c*d)/2; e/(c+d); Причем, даже если один из операндов, участвующих в операциях сложения, вычитания или умножения, окажется целым числом (это допускается), полученный результат все равно будет вещественным. А если речь идет об операции деления, результат окажется вещественным даже при двух целочисленных операндах. К вещественным значениямприменимы все операции сравнения; эти операции представлены в таблице 3.2. Таблица 3.2 Операции сравнения
Любая из этих операций даст логический результат. Применимые стандартные подпрограммы К переменным и значениям, принадлежащим вещественному типу, применимы все математические функции. Функция Abs — возвращает абсолютную величину параметра. Функции Sin, Cos и ArcTan — возвращают соответственно синус, косинус и арктангенс параметра. Функция Exp — возвращает экспоненту параметра. Функции Sgr и Sgrt — возвращает соответственно квадрат и квадратный корень параметра. Функции Int и Frac — возвращают соответственно целую и дробную части параметра. Функции Ln — возвращает натуральный логарифм параметра. Функции Pi — возвращает значение Pi (Pi=3.1415926535897932385). Функция Round —округляет (согласно правилам округления) значение вещественного типа до ближайшего значения целочисленного типа. Функция Trunc — превращает значение вещественного типа в целочисленное значение путем отбрасывания дробной части. Целочисленные типы К целочисленным относятся такие типы данных, как Integer, Shortlnt, Longlnt, Byte и Word. Так же, как и вещественные типы, они отличаются диапазонами допустимых значений и объемом памяти, требуемой для содержания переменных этих типов. Соответствующие характеристики для упомянутых типов представлены в табл. 3.3. Таблица 3.3. Характеристики целочисленных типов
Из целочисленных типов, помимо Integer, мы имели дело с Longlnt. Существование в Turbo Pascal нескольких целочисленных типов обусловлено теми же причинами, которые выше упоминались для вещественных типов. В самом деле, если в некоторой программе имеется переменная, определяющая порядковый номер дня в году понятно, что допустимые для нее значения лежат в диапазоне от 1 до 366. В этом случае объявить данную переменную как принадлежащую типу Longlnt нерационально, а типы Shortlnt и Byte здесь просто не подходят, поскольку значения переменной могут выйти за пределы соответствующих диапазонов. Для этой переменной наиболее подходят типы Integer и Word, причем последний предпочтительнее, поскольку наша переменная может принимать только положительные значения (т.е. исключаются ситуации, когда переменная случайно может принять отрицательное значение). Применимые операции К значениям целочисленных типов применимы те же арифметические операции, что и к вещественным значениям. Причем если операции сложения (+), вычитания (-) И умножения (*) над двумя целыми значениями приведут к целочисленному результату, то операция деления (/), примененная к двум целым значениям, даст вещественный результат. Кроме обычных арифметических операций, к целочисленным значениям в Turbo Pascal применимы две специальные операции деления, обозначаемые зарезервированными словами DIV и MOD. Предположим, программе определены две целочисленные переменные: а и Ь. Тогда результатом Операции a div b будет целая часть частного от деления а на b. 33 div 2 = 16; 3 div 7 = 0; 8 div 2=4; А результатом операции a mod b будет остаток от деления а на b (не путайте остатокс дробной частью). 33 mod 2=1; 3 mod 7=3; 8 mod 2=0; Применимые стандартные подпрограммы К переменным и значениям, принадлежащим одному из целочисленных типов, применимы математические функции, с которыми мы познакомились выше. Особенность использования этих функций с целочисленными значениями в том, что результат часто представляет собой вещественное значение. К переменным и значениям целочисленных типов применимы также процедуры и функции для работы с порядковыми типами. Речь идет о подпрограммах Dec, Inc, Odd, Pred и Succ. Процедура Dec — уменьшает значение переменной. Процедура Inc — увеличивает значение переменной. Функция Odd — проверяет, является ли параметр нечетным числом. Функции Pred и Succ — возвращают значение того же порядкового типа, соответственно предшествующее значению параметра либо следующее за ним. Вот примеры использования представленных выше подпрограмм. х:=Pred(6); {х присваивается значение 5} y:=Succ(6); {у присваивается значение 7} Функции Pred и Succ соответственно уменьшают и увеличивают на единицу значение, указанное в качестве параметра функции. if Odd(x)=True then х:=х+10; Функция Odd проверяет на нечетность значение, заданное в качестве ее параметра. (Если значение оказывается нечетным, оно тут же увеличивается на десять.) а:=5; Inc(а,6); Процедура Inc увеличивает значение целочисленной переменной a (5) на 6 (т.е. а присваивается новое значение 11). b:=4; Dec(b,3); Процедура Dec уменьшает значение целочисленной переменной b(4) на 3 (т.е. b присваивается новое значение 1). К переменным и значениям, принадлежащим одному из целочисленных типов, применимы также некоторые функции преобразования типов, такие как Chr, Ord, High и Low. Функции High и Low возвращают соответственно наибольшее и наименьшее значения указанного диапазона. Вот примеры использования функций High и Low. WriteLn(High(Integer)); WriteLn(bow(Integer)); WriteLn(High(Longlnt)); WriteLn(Low(Longlnt)); Операторы из первой строки вернут значения соответственно 32767 и -32768 (наибольшее и наименьшее значения, допустимые для типа Integer). Операторы из второй строки вернут значения 2147483647 и -2147483648 — наибольшее и наименьшее значения типа Longlnt. Символьный тип В Turbo Pascal принят единственный стандартный символьный тип данных — Char. Переменные этого типа предназначены для хранения отдельных символов — букв, цифр и специальных знаков. Каждому символу приписывается целое число в диапазоне 0... 255. Это число служит кодом внутреннего представления символа, его возвращает функция ORD. Для кодировки используется код ASCII (American Standard Code for Information Interchange - американский стандартный код для обмена информацией). Это 7-битный код, т. е. с его помощью можно закодировать лишь 128 символов в диапазоне от 0 до 127. В то же время в 8-битном байте, отведенном для хранения символа в Турбо Паскале, можно закодировать в два раза больше символов в диапазоне от 0 до 255. Первая половина символов ПК с кодами 0... 127 соответствует стандарту ASCII. Вторая половина символов с кодами 128... 255 не ограничена жесткими рамками стандарта и может меняться на ПК разных типов. К типу CHAR применимы операции отношения, а также встроенные функции. Применимые операции Над значениями типа Char возможны операции сравнения =, <>, >, >=, <, <= (см. табл. 3.2). Причем они дают такой же результат, как и при применении их к кодам соответствующих символов. Применимые стандартные подпрограммы К переменным и значениям, принадлежащим символьному типу, применимы процедуры и функции для работы с порядковыми типами Dec, Inc, Pred и Succ (но не Odd). К символьным переменным и значениям также применимы некоторые функции преобразования типов, такие как High, Low, Ord и UpCase. Функция Ord возвращает порядковый номер значения, принадлежащего одному из порядковых типов. Функция UpCase преобразует аргумент (значение типа Char) в соответствующий символ верхнего регистра. CHR(B) - преобразует выражение В типа BYTE в символ; Все множество символов считается упорядоченным. Латинские буквы идут друг за другом в алфавитном порядке. Выполнение оператора цикла for с:= 'a' to 'z' do write(c); где с - переменная типа char, приведет к выводу всех малых букв латинского алфавита: abcdefghijklmnopqrstuvwxyz. В принципе функция Ord применима и к целочисленным значениям, однако такое ее использование бессмысленно, поскольку в этом случае она возвращает переданные ей значения без изменений. Вот примеры использования функций Ord и UpCase. WriteLn(Ord('b'); Данный оператор определит код (или порядковый номер) символа "b", а затем выведет полученное значение (98) на экран. WriteLn(UpCase('а')); Функция UpCase возвратит символ верхнего регистра (А), соответствующий параметру (a), который затем будет выведен на экран. У символа малая буква а - код 97, заглавная буква А имеет код 65. Символы с кодами 0... 31 относятся к служебным кодам. Коды 32... 64 отводятся под специальные знаки и цифры. Кроме классической записи символьной переменной в одинарных кавычках, Турбо Паскаль вводит еще две формы. Одна из них - представление символа его кодом ASCII с помощью специального префикса #: #97 = chr(97) = ‘а’ (символ 'а'), #0 = chr(O) = ‘’ (нулевой символ), #32 = chr(32) =’ ‘ (пробел). Символы, имеющие коды от 1 до 31 (управляющие), могут быть представлены их "клавиатурными" обозначениями - значком ^ и буквой алфавита с тем же номером (для диапазона кодов 1... 26) или служебным знаком (для диапазона 27... 31): ^А = #1 = chr(1) - код 1, ^В = #2 = chr(2) - код 2, ^[ = #27 = chr(27) - код 27, в том числе "G - звонок (код 7), ^I - TAB (код 9), ^J - забой (код 10), ^М -возврат каретки (код 13).
Логический тип Переменные типа Boolean принимают значения TRUE и FALSE (правда и ложь), которые также могут быть представлены в виде двоичных цифр — соответственно 1 и 0. Применимые операции Над значениями логического типа допустимы операции сравнения (см. табл. 4.2), причем считается, что TRUE больше FALSE. К логическим значениям также применимы логические операции, которые перечислены в табл. 3.4. Таблица 3.4. Логические операции
Предположим, в программе определены переменные а и b, принадлежащие типу Boolean. Результаты применения к этим переменным (при различных значениях) логических операций демонстрирует табл. 4.5. Таблица 4.5. Результаты применения логических операций
Применимые стандартные подпрограммы Логический тип относится к порядковым типам, причем переменные и значения типа Boolean могут принимать только два значения: TRUE и FALSE (TRUE>FALSE). К переменным и значениям, принадлежащим логическому типу, применимы (с учетом особенностей этого типа, изложенных в предыдущем абзаце) все процедуры и функции для работы с порядковыми типами, а также некоторые функции преобразования типов (такие, как High, Low, Ord).
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-17; просмотров: 506; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.214.95 (0.01 с.) |