Данные — это зафиксированные сведения, с которыми работает компьютер: получает, обрабатывает и передает. В программировании есть несколько видов данных. Новичкам нужно разбираться в данных, чтобы быстрее научиться кодить и понимать алгоритмы.
Что такое тип данных, зачем он нужен
Переменные в математике классифицируют по ключевым характеристикам:
- вещественные;
- комплексные;
- логические;
- отдельные значения;
- множества значений;
- множества множеств.
Тип — это характеристика значений, которые переменная или выражение принимает. Функция тоже может сформировать тип.
Типизация — процесс определения типа информационными сущностями. Она бывает нескольких видов:
- статическая — заранее назначает и проверяет;
- динамическая — всё делает в процессе;
- статично-динамическая — совмещает оба предыдущих типа.
По назначению типов:
- сильная — навсегда;
- слабая — допускает изменения.
Многие языки программирования типизированы частично. Если типизация слабая, то можно и отступиться от правил систематизации типов. Программы со слабой типизацией проще сделать более эффективными. Но из-за слабой типизации в коде может появиться много ошибок — багов.
На курсах Skypro, например «Java-разработчик», учат писать чистый код, а еще самостоятельно тестировать его, находить и исправлять ошибки. В результате напишете несколько приложений, которые можно положить в портфолио.
Какие бывают типы данных
Основополагающее понятие в программировании — это виды данных. Классификация помогает определить, где они хранятся, что собой представляют и для каких операций применяются.
✔️ Логические
Этот тип данных основан на логике и может иметь два значения: false (ложь) или true (правда). В языках С# и C++ это bool, а в Java — boolean.
✔️ Целочисленные
Виды данных в программировании делят на знаковые и беззнаковые. В первых хранятся действительные числа и ноль, а во вторых — только больше нуля.
У беззнаковых данных диапазон в два раза больше, чем у знаковых. Это происходит из-за компьютерного восприятия. В знаковых типах бит отражает знак числа, где ноль — положительное значение, а единица — отрицательное.
Учитывая восприятие компьютерными устройствами целого значения, в ячейке памяти из n бит может храниться и 2n-1 для знаковых типов, и 2n — для беззнаковых.
Еще одна классификация типов данных:
- Тип short, или короткий целый. Занимает в ячейке памяти 16 бит, то есть 2 байта (216 = 65 536).
- Тип long. Ему отводится 64 бита = 8 байт (264 = 1,8 446 744 * 1019).
✔️ Числа с плавающей запятой
Плавающая запятая — форма представления действительных чисел, где число хранится в форме мантиссы и показателя степени. Если говорить на языке программирования, то каждое число может быть представлено в следующей форме:
X = M ∗ 10p,
где X — записываемое число;
M — мантисса;
p (целое) — порядок.
Например: 1 592 916 = 1,592 916 ∗ 106; 0,00027,459 = 27,459 ∗ 10-5. На мониторе вы увидите следующие значения:
1,592916E+6; 27,459E–5.
В предназначенном месте памяти хранится целое число фиксированной длины и последовательность вносимого значения.
✔️ Строковые
Строка string в JavaScript — часть текста или определенный заведомо установленный порядок знаков. Их закавычивают.
Отдельные языки применяют специальный вид данных в программировании, с его помощью заносят символ. Например, в языке С — char.
✔️ Указатели
Указатель — это объект, который хранит определенный адрес в памяти компьютера. Значение указателя — это физический адрес определенных данных: указатель указывает на эти данные.
Получение данных по адресу, который хранится в указателе, называют разыменованием указателя. При создании указателя перед названием переменной добавляют *. Указатель может быть нулевым и не указывать ни на один объект.
✔️ Идентификационные
Конечный набор значений определяет перечисляемый тип. Как правило, его представляет список идентификаторов в объявлении типа.
Разберем пример на языке С++ (в С# и Java — аналогично):
enum Season { Spring, Summer, Autumn, Winter };
В случае когда идентификатор указывается в списке значений перечисляемого типа, он становится наименованием константы, которая определена в блоке типа.
✔️ Абстрактные
У абстрактного типа данных (АТД) есть преимущества перед остальными типами:
- Инкапсуляция деталей реализации. Инкапсуляция — ограничение доступа к компонентам, составляющим объект. Достаточно один раз инкапсулировать, чтобы пользователь смог самостоятельно взаимодействовать с АТД через интерфейс. Если детали реализаций поменяют, то представления клиентов о работе не изменятся.
- Снижение уровня сложности через абстрагирование от деталей реализации. Это значит, что детали скрывают и сосредотачиваются на ключевых аспектах системы. Так можно сосредоточиться на том, что делает АТД.
- Ограничение области использования данных. Все данные структуры АТД не зависят от других участков кода.
- Высокая информативность интерфейса.
Примеры
- В языке Python используют следующие типы данных программирования:
- int — целочисленный;
- char — символьный;
- bool — логический;
- float — с плавающей запятой;
- double — с плавающей запятой двойной точности.
Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
- Язык программирования JavaScript содержит следующие типы данных:
- string — тип данных «строка»;
- number — «число»;
- object — тип данных, хранящий свойства и методы;
- undefined — тип данных, значения которых не определены;
- boolean — логический;
- null — с «пустыми» значениями.
JavaScript можно изучить на курсе Skypro «Веб-разработчик». Программа построена от простого к сложному, в ней много практики. Уже к концу второго блока обучения сможете самостоятельно сделать лендинг с играми на JavaScript.
Самоприменение типов данных
У типа данных может быть особенность параметризации с каким-либо другим типом, но строго подчиненная и соотнесенная с принципами абстракции и параметричности.
Под теорией типов понимают математически формализованную базу, которая служит как для проектирования и анализа, так и для изучения систем типов данных в теории языков программирования. За всё это отвечает специально выделенный раздел в информатике.
Пример. Чтобы функция сортировки последовательностей могла быть реализована, необязательно знать свойства всех элементов, которые ее составляют. Важен допуск операции по сравнению и анализу данных. Тогда параметр «последовательности» станет параметрически полиморфным. Составляющие такого типа будут определяться и использоваться не с конкретными типами, а с параметрами-типами. Но параметрически полиморфный тип может быть представлен как конструктор других любых типов. Он становится оператором над типами в арифметической реальности.
В программировании и информатике есть понятия «отражение», «рефлексивность» или «интроспекция». Они обозначают одно и то же — выявление метатипов в динамике.
Представление в компьютере
Реальное программирование отличается от формальной теории информации. Главное отличие — в изучении вопросов об эффективности.
Отличие заключается в понятии «число». Этот термин в науке об ЭВМ и на практике абсолютно неодинаков. Число на ЭВМ понимается как ячейка электронной памяти. Размер кластера зависит от архитектуры ЭВМ и диапазона значений числа. Он обязательно ограничен, а стоп-объем равен объему ячейки.
Целые и вещественные числа в ячейках представлены по-разному. Положительные или неотрицательные числа представляются непосредственно, а вот существенно отрицательные целые числа — в дополнительном коде.
Главное: что такое тип данных
- Тип данных — это характеристика значений, которые принимает некоторая переменная или выражение.
- Есть семь типов данных: логические, целочисленные, с плавающей запятой, строковые, указатели, идентификационные, абстрактные.
- В языке Python используют пять типов, а в JavaScript — шесть типов данных.
Добавить комментарий