Вещественный тип данных в паскаль
Вещественный тип данных в паскаль
Для обработки ЭВМ данные представляются в виде величин и их совокупностей. С понятием величины связаны такая важная характеристика, как ее тип.
Тип определяет:
- возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;
- внутреннюю форму представления данных в ЭВМ;
- операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.
В языке Паскаль тип величины задают заранее. Все переменные, используемые в программе, должны быть объявлены в разделе описания с указанием их типа. Обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и рассматривается как необходимое свойство современных алгоритмических языков высокого уровня.
Иерархия типов в языке Паскаль такая: —>
- Простые
- Порядковые
- Целые
- Логические
- Символьные
- Перечисляемые
- Интервальные
- Вещественные
- Порядковые
- Структуированные
- Массивы
- Строки
- Множества
- Записи
- Файлы
- Указатели
Простые типы данных
В таблице приведены простые типы данных Турбо Паскаль, объем памяти, необходимый для хранения одной переменной указанного типа, множество допустимых значений и применимые операции.
Идентификатор | Длина (байт) | Диапазон значений | Операции |
Целые типы | |||
2 | -32768..32767 | +, -, /, *, Div, Mod, >=, , | |
1 | 0..255 | +, -, /, *, Div, Mod, >=, , | |
2 | 0..65535 | +, -, /, *, Div, Mod, >=, , | |
1 | -128..127 | +, -, /, *, Div, Mod, >=, , | |
4 | -2147483648..2147483647 | +, -, /, *, Div, Mod, >=, , | |
Вещественные типы | |||
6 | 2,9×10 -39 — 1,7×10 38 | +, -, /, *, >=, , | |
4 | 1,5×10 -45 — 3,4×10 38 | +, -, /, *, >=, , | |
8 | 5×10 -324 — 1,7×10 308 | +, -, /, *, >=, , | |
10 | 3,4×10 -4932 — 1,1×10 4932 | +, -, /, *, >=, , | |
Логический тип | |||
1 | true, false | Not, And, Or, Xor, >=, , | |
Символьный тип | |||
1 | все символы кода ASCII | +, >=, , |
Перечисляемый и интервальный тип относятся к типам, определяемым пользователем и будут рассмотрены нами позже.
Дополнительные сведения о типах данных..
Порядковые типы, выделяемые из группы простых типов, характеризуются следующими свойствами:
- все возможные значения порядкового типа представляют собой ограниченное упорядоченное множество;
- к любому порядковому типу может быть применена стандартная функция Ord, которая в качестве результата возвращает порядковый номер конкретного значения в данном типе;
- к любому порядковому типу могут быть применены стандартные функции Pred и Succ, которые возвращают предыдущее и последующее значения соответственно;
- к любому порядковому типу могут быть применены стандартные функции Low и High, которые возвращают наименьшее и наибольшее значения величин данного типа.
В языке Паскаль введены понятия эквивалентности и совместимости типов. Два типа Т1 и Т2 являются эквивалентными (идентичными), если выполняется одно из двух условий:
- Т1 и Т2 представляют собой одно и то же имя типа;
- тип Т2 описан с использованием типа Т1 с помощью равенства или последовательности равенств. Например:
Менее строгие ограничения накладываются на совместимость типов. Так, типы являются совместимыми, если:
- они эквивалентны;
- являются оба либо целыми, либо действительными;
- один тип — интервальный, другой — его базовый;
- оба интервальные с общим базовым;
- один тип — строковый, другой — символьный.
В Турбо Паскаль ограничения на совместимость типов можно обойти с помощью приведения типов. Приведение типов позволяет рассматривать одну и ту же величину в памяти ЭВМ как принадлежащую разным типам. Для этого используется конструкция Имя_Типа(переменная или значение)
Напрмер, Integer(‘Z’) представляет собой значение кода символа ‘Z’ в двухбайтном представлении целого числа, а Byte(534) даст значение 22, поскольку целое число 534 имеет тип Word и занимает два байта, а тип Byte занимает один байт, и в процессе приведения старший байт будет отброшен.
Волгоградский государственный педагогический университет
Кафедра алгебры, геометрии и информатики
Вещественные типы
В языке Паскаль существует несколько типов для представления действительный чисел. Однако чаще всего для их представления используется тип Real.
Таблица. Вещественные типы в Pascal
Тип | Диапазон | Число цифр | Память, байт |
---|---|---|---|
Real | 2.9e-39 … 1.7e38 | 11-12 | 6 |
Single | 1.5e-45 … 3.4e38 | 7-8 | 4 |
Double | 5.0e-324 . 1.7e308 | 15-16 | 8 |
Extended | 3.4e-4932 … 1.1e493 | 19-20 | 10 |
Comp | -9.2e63 … (9.2e63)-1 | 19-20 | 8 |
Число цифр определяет точность, с которой будет храниться вещественное число. Например, для Real разрядность мантиссы может составлять не более восьми десятичных знаков. Тип Comp содержит только целые значения, которые представляются в вычислениях как вещественные.
Над действительными числами выполнимы операции сложения (+), вычитания (-), умножения (*) и деления (/). Результатом этих операций является также действительное число. Даже если хотя бы один из операндов вещественный, то результат этих операций также будет вещественным.
Операция деления (/) дает вещественный результат и в случае двух целых операндов. Например, 6 / 2 = 3.0.
Для действительных чисел допустимы такие же операции отношения (сравнения), что и для целых чисел.
Стандартная функция abs(x) – модуль x – от целого аргумента дает целый результат, а от вещественного – вещественный, как и sqr(x) – квадрат x.
Функции
sin(x) – синус x (x в радианах),
cos(x) – косинус x (x в радианах),
ln(x) – натуральный логарифм x,
exp(x) – экспонента x,
sqrt(x) – корень квадратный из x,
arctan(x) – арктангенс x
дают вещественный результат, как для вещественного, так и для целого аргумента.
Функция int возвращает в виде действительного значения целую часть аргумента, frac возвращает дробную часть аргумента.
Функции trunc и round возвращают результат целого типа. Первая отсекает дробную часть от аргумента, а вторая выполняет округление до ближайшего целого.
Функция random без аргументов возвращает равномерно распределенное случайное число от 0 до 1.
Не имеющая аргументов функция pi возвращает число Пифагора.
Нельзя использовать переменные и константы вещественного типа:
- в функциях pred, succ, ord;
- в качестве индексов массивов;
- в операторах передачи управления в качестве меток.
Pascal. Типы данных
Понятие данных является одним из ключевых в программировании, да и вообще в компьютерных науках. Грубо говоря, данные в информатике это информация, находящиеся в состоянии хранении, обработки или передачи, в какой-то отрезок времени. В машинах Тьюринга информация имеет тип, а он в свою очередь, зависит от рода информации.
Типы данных в Паскале определяют возможные значения переменных, констант, выражений и функций. Они бывают встроенными и пользовательскими. Встроенные типы изначально присутствуют в языке программирования, а пользовательские создаются программистом.
По способу представления и обработки типы данных бывают:
- простые
- структурированные
- указатели
- объекты
- процедуры
В этой статье будут рассмотрены лишь, наиболее простые типы данных, так как на начальных этапах обучения, вашей программе будет проще обойтись, например, без файлов и записей, чем без целочисленных или строковых переменных.
Целочисленный тип
Сюда входят несколько целочисленных типов, которые различаются диапазоном значений, количеством байт отведённых для их хранения и словом, с помощью которого объявляется тип.
Тип | Диапазон | Размер в байтах |
shortint | -128…127 | 1 |
integer | -32 768…32 767 | 2 |
longint | -2 147 483 648…2 147 483 647 | 4 |
byte | 0…255 | 1 |
word | 0…65 535 | 2 |
Объявить целочисленную переменную можно в разделе Var, например:
Над переменными этой категории можно выполнять все арифметические и логические операции за исключением деления (/), для него нужен вещественный тип. Также могут быть применены некоторые стандартные функции и процедуры.
Вещественный тип
В Паскале бывают следующие вещественные типы данных:
Тип | Диапазон | Память, байт | Количество цифр |
Real | 2.9e-39 … 1.7e38 | 6 | 11-12 |
Single | 1.5e-45 … 3.4e38 | 4 | 7-8 |
Double | 5.0e-324 …1.7e308 | 8 | 15-16 |
Extended | 3.4e-4932 … 1.1e493 | 10 | 19-20 |
Comp | -9.2e63 … (9.2e63)-1 | 8 | 19-20 |
Над ними может быть выполнено большее количество операций и функций, чем над целыми. Например, эти функции возвращают вещественный результат:
ln(x) – натуральный логарифм;
sqrt(x) – квадратный корень;
Логический тип
Переменная, имеющая логический тип данных может принимать всего два значения: true (истина) и false (ложь). Здесь истине соответствует значение 1, а ложь тождественная нулю. Объявить булеву переменную можно так:
Над данными этого типа могут выполняться операции сравнения и логические операции: not , and, or, xor.
Символьный тип
Символьный тип данных – это совокупность символов, используемых в том или ином компьютере. Переменная данного типа принимает значение одного из этих символов, занимает в памяти компьютера 1 байт. Слово Char определяет величину данного типа. Существует несколько способов записать символьную переменную (или константу):
- как одиночный символ, заключенный в апострофы: ‘W’, ‘V’, ‘п’;
- указав код символа, значение которого должно находиться в диапазоне от 0 до 255.
- при помощи конструкции ^K, где K – код управляющего символа. Значение K должно быть на 64 больше кода соответствующего управляющего символа.
К величинам символьного типа данных применимы операции отношения и следующие функции:
Succ(x) — возвращает следующий символ;
Pred(x) — возвращает предыдущий символ;
Ord(x) — возвращает значение кода символа;
Chr(x) — возвращает значение символа по его коду;
UpCase(x) — переводит литеры из интервала ‘a’..’z’ в верхний регистр.
Для плодотворной работы с символьным типом рекомендую пользоваться таблицей ASCII.
Строковый тип
Строка в Паскале представляет собой последовательность символов заключенных в апострофы, и обозначается словом String. Число символов (длина строки) должно не превышать 255. Если длину строки не указывать, то она автоматически определиться в 255 символов. Общий вид объявления строковой переменной выглядит так:
Каждый символ в строке имеет свой индекс (номер). Индекс первого байта – 0, но в нем храниться не первый символ, а длина всей строки, из чего следует, что переменная этого типа будет занимать на 1 байт больше числа переменных в ней. Номер первого символа – 1, например, если мы имеем строку S=‘stroka’, то S[1]=s;. В одном из следующих уроков строковый тип данных будет рассмотрен подробнее.
Перечисляемый тип данных
Перечисляемый тип данных представляет собой некоторое ограниченное количество идентификаторов. Эти идентификаторы заключаются в круглые скобки, и отделяются друг от друга запятыми.
Type Day=(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
Переменная A может принимать лишь значения определенные в разделе Type. Также можно объявить переменную перечисляемого типа в разделе Var:
Var A: (Monday, Tuesday);
К данному типу применимы операции отношения, при этом заранее определенно, что Monday = .. ;
Типы данных в Паскале
Типы данных в Паскале
Как правило, все языки программирования имеют развитые системы типов, которые позволяют обеспечить некоторую степень безопасности выполнения программ. Система типов способствует согласованию взаимодействия частей программы и уменьшению количества программных ошибок, которые проявляются только в процессе работы программы. Ошибки согласования типов во время работы программы могут приводить к ее аварийному завершению и неспособности нормально функционировать.
Типы данных в языке Паскаль включают в себя множества значений, для которых определяются возможные операции и способы хранения.
Типы данных принято разделять на две группы:
- Простые (примитивные) типы.
- Сложные (структурированные) типы.
Простые типы данных представляют собой неделимые односоставные объекты, на основе которых могут строиться сложные типы, состоящие из множества простых объектов.
Простые типы данных языка Паскаль
С помощью простых типов описываются как числа, так и отдельные символы. Числовые типы бывают целочисленными, которые используются для работы только с целыми числами, и вещественными, предназначены для обозначения дробных чисел.
Числовые типы данных
Целочисленный и вещественный типы данных языка Паскаль описывают целые и дробные числа.
Целочисленные типы данных в версии Turbo Pascal:
Вещественные типы данных:
Рис. 1. Таблица числовых типов данных Паскаль c диапазоном значений и объемом занимаемой памяти.
Ключевые слова для обозначения типов данных в разных версиях инструментальных сред для программирования на языке Паскаль могут варьироваться. Так целочисленный тип integer в версии Borland Pascal (Turbo Pascal) охватывает диапазон значений -32768 .. 32767, а в версии PascalABC.net относится к диапазону целых чисел-2147483648 .. 2147483647.
Символьный тип данных
Множеством значений символьного типа являются символы, имеющие кодовые номера в соответствии с кодом таблицы ASCII.
Таблица ASCII была разработана и стандартизована в США в 1963 году. В этой таблице определены коды для прописных и строчных букв латинского алфавита, арабских цифр, знаков препинания, управляющих символов и букв национальных алфавитов.
Рис. 2. Таблица ASCII.
Для обозначения символьного типа в языке Паскаль используется ключевое слово Char.
Логический тип данных
Логический тип называется также булевским типом в честь английского математика Джорджа Буля, который уделял большое внимание изучению математической логики.
Рис. 3. Портрет Джорджа Буля.
Переменные логического типа могут принимать только два значения ложь или истина.
В языке Паскаль логический тип данных обозначается ключевым словом Boolean, истинное значение обозначается словом True, ложное – обозначается как False.
Структурированные типы данных
Сложные (структурированные) типы данных состоят из нескольких объектов простого типа. К числу сложных типов в языке Паскаль относятся:
- Строковый тип (строки) – объекты строкового типа состоят из символьных элементов. Обозначается через ключевое слово String.
- Регулярный тип (массивы) – один объект регулярного типа состоит из нескольких числовых элементов одинакового типа. Задается через ключевое слово Array с указанием размерности и размера объекта.
- Комбинированный тип (записи) – каждый элемент Записи состоит из нескольких простых элементов, которые могут быт разного типа, как символьного, так и числового или логического. Обозначается ключевым словом Record.
- Множественный тип (множества) – задаются с помощью ключевой фразы Set of с указанием границ множества.
- Файловый тип (файлы) – специальный тип значений, представляющих собой последовательности элементов одного типа произвольной длины. Задается ключевой фразой File of.
Что мы узнали?
Типы данных нужны для защиты программы от программных ошибок и сбоев. В языке Паскаль типы делятся на простые и составные. К простым типам данных относятся числовые, символьные, логические типы. Сложные типы состоят из нескольких элементов простых типов.