Что такое вещественный тип переменной
Pascal. Простые типы данных
При описании переменной необходимо указать ее тип. Тип переменной описывает набор значений, которые она может принимать, и действия, которые могут быть над ней выполнены. Описание типа определяет идентификатор, который обозначает тип.
Простые типы делятся на стандартные (порядковые) и перечисляемые (ограниченные).
Стандартные типы
Турбо-Паскаль имеет четыре встроенных стандартных типа: integer (целое), real (вещественное), boolean (логический) и char (символьный).
Целочисленный тип (integer)
В Турбо-Паскале имеется пять встроенных целочисленных типов: shortint (короткое целое), integer (целое), longint (длинное целое), byte (длиной в байт) и word (длиной в слово). Каждый тип обозначает определенное подмножество целых чисел, как это показано в следующей Таблице.
Встроенные целочисленные типы.
Диапазон
Формат
16 битов со знаком
16 битов без знака
Арифметические действия над операндами целочисленного типа осуществляются в соответствии со следующими правилами:
Операции совершаемые над целыми числами:
RANDOM(X)-получение случайного числа от 0 до Х
Описываются переменные целого типа следующим образом:
var список переменных: тип;
Например: var а,р,n:integer;
Вещественный тип(real)
Имеется пять видов вещественных типов: real, singlе, duble, exnende, comp. Вещественные типы различаются диапазоном и точностью связанных с ними значений
Диапазон и десятичные цифры для вещественных типов
Диапазон
Цифры
2.9×10Е-39 до 1.7×10Е 38
1.5×10Е-45 до 3.4×10Е 38
5.0×10Е-324 до 1.7×10Е 308
3.4×10Е-493 до 1.1×10Е 403
Операции совершаемые над вещественными числами:
Описываются переменные вещественного типа следующим образом:
Символьный тип(char)
K типу char относится любой символ заключенный в апострофы. Для представления апострофа как символьную переменную, надо заключить его в апостроф:’’’’.
Каждый символ имеет свой код и номер. Порядковые номера цифр 0,1..9 упорядочены по возрастанию. Порядковые номера букв также упорядочены по возрастанию, но не обязательно следуют друг за другом.
К символьным данным применимы знаки сравнения:
Можно выполнить такие операторы присваивания:
но нельзя выполнять смешанные присваивания:
К переменным перечислимого типа применимы следующие функции:
Переменные перечислимого типа можно сравнить, так как они упорядочены и пронумерованы. Так выражения: север запад и бак Будет полезно почитать по теме:
Вещественные типы
В языке Паскаль существует несколько типов для представления действительных (вещественных) чисел. Чаще всего используется тип Real.
Вещественные типы в Pascal
Число цифр определяет точность, с которой будет храниться вещественное число. Например, для Real разрядность мантиссы может составлять не более восьми десятичных знаков. Тип Comp содержит только целые значения, которые представляются в вычислениях как вещественные.
Над действительными числами выполнимы операции сложения (+), вычитания (-), умножения (*) и деления (/). Результатом этих операций является также действительное число. Даже если хотя бы один из операндов вещественный, то результат этих операций также будет вещественным.
Операция деления (/) дает вещественный результат и в случае двух целых операндов. Например, 6 / 2 = 3.0.
Для действительных чисел допустимы такие же операции отношения (сравнения), что и для целых чисел.
Функции, которые дают вещественный результат, как для вещественного, так и для целого аргумента:
Функция int возвращает в виде действительного значения целую часть аргумента, frac возвращает дробную часть аргумента.
Функции trunc и round возвращают результат целого типа. Первая отсекает дробную часть от аргумента, а вторая выполняет округление до ближайшего целого.
Функция random без аргументов возвращает равномерно распределенное случайное число от 0 до 1.
Не имеющая аргументов функция pi возвращает число Пифагора.
Нельзя использовать переменные и константы вещественного типа:
Структура языка программирования
Содержание
Дополнительно
Классификация типов данных
Для простых типов данных определяются границы диапазона и количество байт, занимаемых ими в памяти компьютера.
В большинстве языков программирования, простые типы жестко связаны с их представлением в памяти компьютера. Компьютер хранит данные в виде последовательности битов, каждый из которых может иметь значение 0 и 1. Фрагмент данных в памяти может выглядеть следующим образом
Данные на битовом уровне (в памяти) не имеют ни структуры, ни смысла. Как интерпретировать данные, как целочисленное число, или вещественное, или символ, зависит от того, какой тип имеют данные, представленные в этой и последующих ячейках памяти.
Числовые типы данных
Целочисленные типы данных
Исходя из машинного представления целого числа, в ячейке памяти из n бит может хранится 2 n для беззнаковых, и 2 n-1 для знаковых типов.
Рассмотрим теперь конкретные целочисленные типы в трёх языках.
У некоторых типов есть приписка «16 разрядов» или «32 разряда». Это означает, что в зависимости от разрядности операционной системы и компилятора данный тип будет находится в соответствующем диапазоне. По-этому, рекомендуется не использовать int, unsigned int, а использовать их аналоги, но уже жестко определенные, short, long, unsigned short, unsigned long.
В Java нет беззнаковых целочисленных типов данных.
Вещественные типы данных
Числа вещественного типа данных задаются в форме чисел с плавающей запятой.
Плавающая запятая — форма представления действительных чисел, в которой число хранится в форме мантиссы и показателя степени. В случае языков программирования, любое число может быть представлено в следующем виде
Вывод: вещественные типы данных, в отличии от целочисленных, характеризуются диапазоном точности и количеством значащих разрядов.
Рассмотрим конкретные типы данных в наших трёх языках.
Тип decimal создан специально для операций высокой точности, в частности финансовых операций. Он не реализован как примитивный тип, по-этому его частое использование может повлиять на производительность вычислений.
Символьный тип данных
Значение переменной этого типа данных представляет собой один символ. В действительности, это есть целое число. В зависимости от кодировки, это число превращается в некий символ. Данные типы данных характеризуются лишь размером выделяемой под них памяти.
Логический тип данных
Перечислимый тип данных
Во внутреннем представлении, это целочисленный тип данных, только здесь пользователь вместо числе использует заранее определенные строковые значения.
Чтобы прочувствовать эту концепцию, приведем пример на языке С++ (в С# и Java аналогично)
Теперь переменные перечислимого типа Forms могут принимать лишь значения, определенные в примере кода. Это очень удобно, ведь мы уже оперируем не с числами, а с некими смысловыми значениями, замечу лишь, что для компьютера эти значения всё-равно являются целыми числами.
Массив
Каждый массив характеризуется типом данных его элементов, который может быть как простым, так и сложным, то есть любым.
В языках программирования нельзя оперировать всем массивом, работают с конкретным элементом. Чтобы доступиться до него в трёх рассматриваемых нами языках используют оператор «[]».
Структура
Структуры реализованы в языке программирования, чтобы собрать некие близки по смыслу вещи воедино.
Например, есть колесо автомобиля. У колеса есть диаметр, толщина, шина. Шина в свою очередь является структурой, у которой есть свои параметры: материал, марка, чем заполнена. Естественно, для каждого параметра можно создать свою переменную или константу, у нас появится большое количество переменных, которые, чтобы понять к чему они относятся, нужно в именах общую часть выделять. Имена будут нести лишнюю смысловую нагрузку. Получается запутанная история. А так мы определяем две структуры, а затем параметры в них.
Класс
Еще одним пользовательским типом данных является класс. Класс умеет всё, что и структура, но кроме параметров, у него есть и методы, и поддерживает большое количество вещей, связанных с объектно-ориентированным программированием.
Pascal: Занятие №1. Часть 3: Типы данных в Паскаль
Типы данных в Паскале
Паскаль — это типизированный язык программирования. Это означает, что переменные, в которых хранятся данные, имеют определенный тип данных. Т.е. программе напрямую надо указать, какие данные могут храниться в той или иной переменной: текстовые данные, числовые данные, если числовые — то целочисленные или дробные, и т.п. Это необходимо в первую очередь для того чтобы компьютер «знал», какие операции можно выполнять с этими переменными и как правильно их выполнять.
Например, сложение текстовых данных, или как это правильно называется в программировании — конкатенация — это обычное слияние строк, тогда как сложение числовых данных происходит поразрядно, кроме того, дробные и целые числа складываются тоже по-разному. То же самое касается и других операций.
Рассмотрим наиболее распространенные в Pascal типы данных.
Целочисленные типы данных в Паскаль
Тип | Диапазон | Требуемая память (байт) |
byte | 0..255 | 1 |
shortint | -128..127 | 1 |
integer | -32768.. 32767 | 2 |
word | 0..65535 | 2 |
longint | -2147483648..2147483647 | 4 |
Нужно иметь в виду, что при написании программ в паскале integer (в переводе с англ. целое) является наиболее часто используемым, так как диапазон значений наиболее востребуем. Если необходим более широкий диапазон, используется longint (long integer, в переводе с англ. длинное целое). Тип byte в Паскале используется, когда нет необходимости работать с отрицательными значениями, то же самое касается и типа word (только диапазон значений здесь значительно больше).
Примеры того, как описываются (объявляются) переменные в Паскале:
Pascal | PascalABC.NET | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pascal | PascalABC.NET | |||||||||||||||||
ДЕЙСТВИЕ | РЕЗУЛЬТАТ | СМЫСЛ |
---|---|---|
2 + 3 | 5 | плюс |
4 — 1 | 3 | минус |
2 * 3 | 6 | умножить |
17 div 5 | 3 | целочисленное деление |
17 mod 5 | 2 | остаток от целочисленного деления |
Порядок выполнения операций
var a: integer; b: real; begin a := 1; writeln(‘a := 1; a = ‘,a); a += 2; // Увеличение на 2 writeln(‘a += 2; a = ‘,a); a *= 3; // Умножение на 3 writeln(‘a *= 3; a = ‘,a); writeln; b := 6; writeln(‘b := 6; b = ‘,b); r /= 2; writeln(‘b /= 2; b = ‘,b); end.
Стандартные арифметические процедуры и функции Pascal
Здесь стоит более подробно остановиться на некоторых арифметических операциях.
Пример операции inc:
Более сложное использование процедуры inc:
Inc(x,n) где x — порядкового типа, n — целого типа; процедура inc увеличивает x на n.
Пример использования функции odd:
begin WriteLn(Odd(5));
Пример использования процедуры sqr в Pascal:
var x:integer; begin x:=3; writeln(sqr(x)); <ответ 9>end.
Однако в компиляторе pascal abc возведение в степень осуществляется значительно проще:
Пример использования процедуры sqrt в Pascal:
var x:integer; begin x:=9; writeln(sqrt(x)); <ответ 3>end.
Типы данных в языке Си
Тип данных определяет множество значений, набор операций, которые можно применять к таким значениям и способ реализации хранения значений и выполнения операций.
Язык Си поддерживает статическую типизацию, и типы всех используемых в программе данных должны быть указаны перед ее компиляцией.
Различают простые, составные и прочие типы данных.
Простые данные
Простые данные можно разделить на
Составные (сложные) данные
Другие типы данных
Программа, написанная на языке Си, оперирует с данными различных типов. Все данные имеют имя и тип. Обращение к данным в программе осуществляется по их именам (идентификаторам).
Идентификатор — это последовательность, содержащая не более 32 символов, среди которых могут быть любые буквы латинского алфавита a — z, A — Z, цифры 0 — 9 и знак подчеркивания (_). Первый символ идентификатора не должен быть цифрой.
Несмотря на то, что допускается имя, имеющее до 32 символов, определяющее значение имеют только первые 8 символов. Помимо имени, все данные имеют тип. Указание типа необходимо для того, чтобы было известно, сколько места в оперативной памяти будет занимать данный объект.
Компилятор языка Си придерживается строгого соответствия прописных и строчных букв в именах идентификаторов и лексем.
INT a=2;
b = A + 3; // идентификатор А не объявлен
b = a + 3; // идентификатор b не объявлен
Целочисленные данные
Целочисленные данные могут быть представлены в знаковой и беззнаковой форме.
Основные типы и размеры целочисленных данных:
Количество бит | Беззнаковый тип | Знаковый тип |
8 | unsigned char 0…255 | char -128…127 |
16 | unsigned short 0…65535 | short -32768…32767 |
32 | unsigned int | int |
64 | unsigned long int | long int |
Вещественные данные
Вещественный тип предназначен для представления действительных чисел. Вещественные числа представляются в разрядной сетке машины в нормированной форме.
Нормированная форма числа предполагает наличие одной значащей цифры (не 0) до разделения целой и дробной части. Такое представление умножается на основание системы счисления в соответствующей степени. Например, число 12345,678 в нормированной форме можно представить как
12345,678 = 1,2345678·10 4
Число 0,009876 в нормированной форме можно представить как
В двоичной системе счисления значащий разряд, стоящий перед разделителем целой и дробной части, может быть равен только 1. В случае если число нельзя представить в нормированной форме (например, число 0), значащий разряд перед разделителем целой и дробной части равен 0.
В общем случае вещественное число в разрядной сетке вычислительной машины можно представить в виде 4 полей.
Различают три основных типа представления вещественных чисел в языке Си:
Тип | Обозна- чение в Си | Кол-во бит | Биты степени | Мантисса | Сдвиг |
простое | float | 32 | 30…23 | 22…0 | 127 |
двойной точности | double | 64 | 62…52 | 51…0 | 1023 |
двойной расширен- ной точности | long double | 80 | 78…64 | 62…0 | 16383 |
Как видно из таблицы, бит целое у типов float и double отсутствует. При этом диапазон представления вещественного числа состоит из двух диапазонов, расположенных симметрично относительно нуля. Например, диапазон представления чисел типа float можно представить в виде:
Для представления числа в двоичной системе счисления преобразуем отдельно целую и дробную части:
178,12510 = 10110010,0012=1,0110010001·2 111
Для преобразования в нормированную форму осуществляется сдвиг на 7 разрядов влево).
Для определения степени числа применяем сдвиг:
0111111+00000111 = 10000110.
Символьный тип
Логический тип
Логический тип применяется в логических операциях, используется при алгоритмических проверках условий и в циклах и имеет два значения:
В программе должно быть дано объявление всех используемых данных с указанием их имени и типа. Описание данных должно предшествовать их использованию в программе.
- Что такое осушитель кондиционера
- Что такое географическая карта коротко и ясно