Что определяет тип данных
7.2. ТИПЫ ДАННЫХ
В Паскале любые данные (константы, переменные, значения функций и т.д.) характеризуются своими типами. Тип данных определяет, во-первых, формат представления данных в памяти компьютера; во-вторых, множество допустимых значений, которые может принимать переменная или константа данного типа; в-третьих, множество допустимых операций, применимых к этому типу.
Все данные, используемые программой, должны принадлежать либо к стандартному (т.е. какому-либо заранее известному), либо к пользовательскому (т.е. определяемому программистом) типу данных. Пользовательские типы разрабатываются пользователями на основе стандартных типов и в программе объявляются в разделе объявления типов, который открывается зарезервированным словом type .
Паскаль имеет очень разветвленную структуру типов. Ниже рассмотрены некоторые наиболее часто употребляемые типы данных.
Целочисленные типы
Значения целых типов могут изображаться двумя способами: в десятичном виде (например, -57; 1896) и в шестнадцатеричном виде (в этом случае вначале ставится знак $, а цифры старше 9 обозначаются латинскими буквами от A до F , например, $1А5; $ F 3 C ).
Целочисленные типы данных
Требуемая память (байт)
shortint
longint
Над данными целого типа определены следующие операции:
1) арифметические операции: + (сложение), — (вычитание), * (умножение), / (деление), div (деление нацело), mod (вычисление остатка от целочисленного деления), — которые вырабатывают результат целого типа, кроме операции деления, вырабатывающей результат вещественного типа;
2) операции отношения: = (равно), < >(не равно), < (меньше), >(больше), < = (меньше или равно), >= (больше или равно), — которые вырабатывают результат логического типа.
Вещественные типы
Вещественные значения могут изображаться в форме с фиксированной точкой, например, 8.32, -546.271 или 0.017, а также в форме с плавающей точкой, т.е. парой чисел вида Е , например, 8.53 Е+00 (8,53), 6.45721 Е+02 (6,45721 × 10 2 ), 1.5 Е-03 (1,5 × 10 -3 ).
Вещественные типы данных
Требуемая память (байт)
2 ,9 × 10 -39 . 1,7 × 10 38
1 ,5 × 10 -45 . 3,4 × 10 38
5 ,0 × 10 -324 . 1,7 × 10 308
1 ,9 × 10 -4951 . 1,1 × 10 4932
-2 ,0 × 10 63 +1 . 2,0 × 10 63 -1
Над данными вещественных типов определены арифметические операции +, -, *, /, а также операции отношения.
Булевский тип « Boolean »
Данные этого типа представлены следующими значениями: true (истина) и false (ложь). Над ними определены логические операции and ( логическое И), or (логическое ИЛИ), xor (исключающее ИЛИ), not (логическое НЕ). Для размещения в памяти переменной булевского типа требуется один байт.
Регулярный тип , или массив, есть упорядоченный набор данных одинакового типа.
Элементами массива могут быть данные любого типа. Число элементов массива фиксируется при описании и в процессе выполнения программы не меняется. Элементы, образующие массив, упорядочены таким образом, что каждому элементу соответствует совокупность индексов, определяющей его местоположение в общей последовательности. В качестве индексов обычно используют выражения целочисленных типов.
Массивы могут быть описаны в разделе var с использованием словосочетания array of (массив из ), например:
vectorx : array [1..50] of real;
matrb : array [1..6, 1..6] of byte ;
Если в такой форме описания массива задан один индекс, массив называется одномерным, если два индекса – двумерным, если n индексов – n -мерным . Например, в приведенном выше примере массив vectorx – одномерный, состоящий из 50 элементов типа real , массив matrb – двумерный, состоящий из 6 ´ 6 элементов типа byte . Одномерные массивы обычно используются для представления векторов, а двумерные – для представления матриц.
Для описания массива можно использовать предварительно определенные константы, например:
masy : array [1..n1, 1..n2] of integer;
Массив может быть описан с помощью представления типа в разделе описания типа данных, например:
mas = array [1..5, 1..6] of real;
Что определяет тип данных
5.2.1. Типы данных
Тип данных – понятие из теории программирования. Тип данных определяет диапазон значений и операций, которые могут быть применены к этим значениям. Например, если переменная имеет числовой тип данных, то таким образом определен диапазон значений, которые могут быть сохранены в этой переменной (числа) и определены операции, которые могут быть применены к этой переменной (арифметические). Каждый язык программирования поддерживает один или несколько типов данных.
Вообще говоря, в памяти компьютера хранятся только последователь-ности битов. Если имя переменной указывает адрес в памяти, по которому хранится информация, то тип данных (тип переменной) указывает, каким обра-зом следует обращаться с этой информацией, то есть с битами, находящимися по данному адресу.
Преимущества от использования типов данных:
- Надежность. Типы данных защищают от трех видов ошибок:
1. Некорректное присваивание. Пусть переменная объявлена как имеющая числовой тип. Тогда попытка присвоить ей символьное или какое-либо другое значение приведет к ошибке еще на этапе компиляции и позволит избежать многих трудностей, поскольку такого рода ошибки трудно отследить обычными средствами. Предварительное объявление используемых переменных сейчас обязательно практически во всех языках.
2. Некорректная операция. Позволяет избежать попыток применения выражений вида «Hello world» + 1. Поскольку, как уже говорилось, все переменные в памяти хранятся как наборы битов, то при отсутствии типов подобная операция была выполнима (и могла дать результат вроде «Hello wordle»!). С использованием типов такие ошибки отсекаются на этапе компиляции.
3. Некорректная передача параметров. Если функция «синус» ожидает, что ей будет передан числовой аргумент, то передача ей в качестве параметра строки » Hello world» может иметь непредсказуемые последствия. При помощи контроля типов такие ошибки также отсекаются на этапе компиляции.
Классификация типов данных. Согласно стандартной классификации, типы данных бывают следующие:
1.1. Числовые. Хранятся числа. Могут применяться обычные арифметические операции.
1.1.1. Целочисленные: со знаком, то есть могут принимать как положительные, так и отрицательные значения; и без знака, то есть могут принимать только неотрицательные значения.
1.1.2. Вещественные: с фиксированной точкой, то есть хранятся знак и цифры целой и дробной частей и с плавающей точкой, то есть число приводится к виду m*2e, где m — мантисса, e — экспонента причем 1/2
1.2. Символьный тип. Хранит один символ. Могут использоваться различные кодировки.
1.3. Строковый тип. Хранит строку символов. Может применяться операция конкатенация (сложение строк). Вообще говоря, может рассматриваться как массив символов, но как правило выделяется в качестве простого.
1.4. Логический тип. Имеет два значения: истина(true) и ложь(false). Могут применяться логические операции. Используется в операторах ветвления и циклах. В некоторых языках является подтипом числового типа, при этом false=0, true=1.
1.5. Перечислимый тип. Может хранить только те значения, которые прямо указаны в его описании.
2. Составные. Формируются на основе комбинаций простых типов.
2.1. Массив. Является индексированным набором элементов одного типа. Одномерный массив — вектор, двумерный массив — таблица.
2.2. Запись. Набор различных элементов (полей записи), хранимый как единое целое. Возможен доступ к отдельным полям записи.
2.3. Множество (тип данных). В основном совпадает с обычным математическим понятием множества. Допустимы стандартные операции с множествами и проверка на принадлежность элемента множеству.
3. Другие типы данных. Если описанные выше типы данных представляли какие-либо объекты реального мира, то рассматриваемые здесь типы данных представляют объекты компьютерного мира, то есть являются исключительно компьютерными терминами.
3.1. Указатель (тип данных). Хранит адрес в памяти компьютера, указывающий на какую-либо информацию, как правило — указатель на переменную.
3.2. Ссылки (тип данных).
Концепция типа данных
Данные, с которыми работает программа, хранятся в оперативной памяти. Естественно, что необходимо точно знать, сколько места они занимают, как именно закодированы и какие действия с ними можно выполнять. Все это задается при описании данных с помощью типа. Тип данных однозначно определяет: внутреннее представление данных, а следовательно, и диапазон их возможных значений; допустимые действия надданными (операции и функции). Например, целые и вещественные числа, даже если они занимают одинаковый объем памяти, имеют совершенно разный диапазон возможных значений; целые числа можно умножать друг на друга, а, к примеру, символы – нельзя.
Каждое выражение в программе имеет определенный тип (табл. 22.4).
Таблица 22.4. Классификация типов
Стандартные
Определяемые программистом
Простые
Составные
Процедурные типы. Объекты
Стандартные типы не требуют предварительного определения. Для каждого типа существует ключевое слово, которое используется при описании переменных, констант и т.д. Если же программист определяет собственный тип данных, он описывает его характеристики и сам дает ему имя, которое затем применяется точно так же, как имена стандартных типов. Типы, выделенные в таблице подчеркиванием, объединяются термином «порядковые».
Типы данных в программировании
В программировании типы данных являются фундаментальными понятиями, которые определяют, какие виды данных могут быть использованы в программе и как они могут быть обработаны.
Типы данных в программировании определяются с помощью языка программирования, который вы используете для написания кода.
Существует несколько основных типов данных, используемых в программировании.
В этой статье мы рассмотрим наиболее распространенные типы и то, как они используются в различных языках программирования.
Целочисленные типы данных
Целочисленные типы данных используются для хранения целых чисел без дробной части. Они могут быть знаковыми или беззнаковыми. Знаковые целочисленные типы данных могут хранить отрицательные числа, а беззнаковые целочисленные типы данных могут хранить только положительные числа.
Например, в языке программирования C целочисленный тип «int» используется для хранения целых чисел. В языке Python целочисленные типы можно определить с помощью ключевого слова «int».
Типы данных с плавающей точкой
Типы данных с плавающей точкой используются для хранения чисел с дробной частью. Они также могут быть знаковыми или беззнаковыми.
Например, в языке программирования C тип данных «float» используется для хранения чисел с плавающей точкой одинарной точности, а тип данных «double» используется для хранения чисел с плавающей точкой двойной точности. В языке Python тип данных с плавающей точкой можно определить с помощью ключевого слова «float».
Символьные типы данных
Символьные типы данных используются для хранения символов, таких как буквы, цифры и знаки препинания.
Например, в языке программирования C символьный тип данных «char» используется для хранения одного символа. В языке Python символьный тип данных можно определить с помощью ключевого слова «str».
Логические типы данных
Логические типы данных используются для хранения значений истинности, которые могут быть либо истинными, либо ложными.
Например, в языке программирования C логический тип данных «bool» используется для хранения значений истинности. В языке Python логический тип данных тоже «bool» и может принимать значения True (истина) или False (ложь).
Логические типы данных широко используются в программировании для принятия решений на основе условий. Например, вы можете использовать логический тип данных, чтобы проверить, является ли число четным или нечетным. Если число четное, логический тип данных будет истинным, если нечетное – ложным.
Массивы
Массивы – это тип данных, который может содержать множество значений одного типа. Массивы используются для хранения множества значений, которые могут быть обработаны вместе.
Например, в языке программирования C массив может быть определен следующим образом:
Это определение массива «numbers», который содержит 5 целочисленных значений. В языке Python массивы могут быть определены с помощью структуры данных «list».
Структуры данных
Структуры данных – это типы данных, которые объединяют несколько значений различных типов в единую структуру. Структуры данных используются для более сложных операций с данными, таких как хранение информации о пользователе, товарах в магазине или контактах в адресной книге.
Например, в языке программирования C структура данных может быть определена следующим образом:
Это определение структуры данных «Person», которая содержит имя (строковое значение), возраст (целочисленное значение) и зарплату (значение с плавающей точкой).
Классы
Классы – это шаблоны для создания объектов, которые могут содержать данные и методы для их обработки. Классы являются фундаментальным понятием в объектно-ориентированном программировании и используются для моделирования реальных объектов или процессов.
Классы могут содержать переменные, которые называются полями, и методы, которые могут использоваться для выполнения действий с этими полями. Например, класс «Студент» может содержать поля «имя», «фамилия» и «оценки», а метод «средний балл» может использоваться для вычисления среднего балла студента.
Ссылочные данные
Ссылочные данные – это данные, которые хранятся в памяти и на которые переменные ссылается. В отличие от примитивных типов данных, таких как числа и символы, ссылочные данные не хранятся в переменной напрямую. Вместо этого переменная содержит ссылку на объект в памяти.
Ссылочные данные могут быть использованы для создания сложных структур данных, таких как списки, деревья и графы. Они также позволяют создавать объекты классов, о которых мы говорили ранее.
Типизация
Типизация – это процесс определения типа данных переменной в программе. Типизация может быть статической или динамической. В статической типизации тип переменной определяется во время компиляции, а в динамической тип определяется во время выполнения программы.
Статическая типизация может помочь предотвратить ошибки в программе, связанные с неправильным использованием типов данных, но требует более тщательной работы в процессе разработки. Динамическая типизация более гибкая, но может привести к ошибкам, связанным с неправильным использованием типов данных.
В заключение, типы данных являются фундаментальными понятиями в программировании, которые позволяют нам хранить и обрабатывать различные типы данных.
Различные языки программирования могут иметь свои собственные типы данных, но базовые концепции остаются одинаковыми.
Понимание типов данных и их использование является важным для создания эффективных и надежных программ. Неправильное использование типов данных может привести к ошибкам выполнения, что сделает непредсказуемым результат работы программы.
Кроме того, правильное использование типов данных может помочь ускорить выполнение программы, снизить потребление памяти и улучшить ее производительность.
Ну а если вы хотите научится кодингу на Python, то запишитесь на бесплатный пробный урок в нашей школе программирования для детей ProgKids.
Карен Константин