Типізація даних

Типізація даних це класифікація даних по області їх значення й операціям, у яких вони беруть участь.
Дані представляються в системах, їх обробних, у вигляді змінних і констант, а також їх комбінацій у вигляді виражень і функцій. Типізація даних установлює клас, до якого ставляться змінні й константи й, відповідно, вираження й функції.
Визначення типів даних у мовах програмування проводиться для зменшення помилок при програмуванні й мінімізації необхідної пам\’яті.
Типи даних бувають прості й складові (складні). До простих ставляться, наприклад, цілі, дійсні числа; до складових — масиви, файли. У деяких мовах можливе визначення типу даних користувачем. Типізація даних – це фундаментальне поняття в теорії програмування.
Типізація даних – класифікація даних, які пов’язані між собою спільними характеристиками. Це може бути вид застосування, або значення в програмуванні.
Типізація сортує дані, встановлюючи певні класи. Ці класи потрібні для того, щоб програма займала мінімальний об’єм пам’яті та не мала помилок. Типи даних бувають: простими (дійсні, цілі, прості числа) і складними (файли, масиви). В деяких мовах програмування програміст може сам визначити потрібний йому тип даних.

Переваги використання типізації даних:
1. Надійність. Як вже згадувалось, використання типів даних захищає від помилок, таких як:
– Некоректне присвоювання. Якщо ми представляємо змінну в числовому значенні, то спроба присвоїти символьне значення призведе до помилки. В такому разі програма не зможе запуститися.
– Неправильна передача параметрів. Якщо, наприклад, функція «тангенс» очікує в якості параметра числового значення, то передання їй  «Hello world» привиде до помилки. Саме контроль типів при компіляції оповіщає користувача про помилки.2. Стандартизація. Завдяки сумісності типів, програмісти змінюють інструменти з великою швидкістю, при цьому програми не потребують суттєвих переробок при зміні типу збереження вихідних текстів.

3. Документація. Використання enum і bool не обов\’язкові, тому що їх можна замінити на int – але вони говорять про те, що перед ними величина, яка складається з декількох значень.

Класифікація типів даних:
– Прості (збереження значень в описаному виді).
– Числові (збереження чисел, застосування простих арифметичних дій).
– Цілочисельні (зі знаком «+», або «-», або без знаку).
– Дійсні (дробові числа).
– Числа довільної точності (числа, які получили внаслідок довгої арифметики).
– Символьний тип (збереження одного символу, використання рідних кодувань).
– Логічний тип (може приймати значення true або false, але може мати «не визначено» чи «невідомо», застосування логічних операцій, внаслідок яких у відповіді получимо 1-істина або 0-брехня, операторів розгалуження циклів.
– Множина (збереження множини).
Складні типи:
– Масив (набір значень одного типу або класу. Одномірний – вектор, двомірний – матриця).
– Рядковий тип (збереження рядка символів).
– Запис (збереження різнотипних елементів або полів, які зберігаються як одне ціле).
– Файловий тип (збереження однотипних значень, доступ до яких здійснюється послідовно).
– Клас.
– Інші типи даних (збереження об\’єктів реального світу, які розглядаються як об’єкти комп’ютерного світу, тобто є комп\’ютерними термінами).
– Вказівник (збереження адреси в пам\’яті, що вказує на інформацію).

Контроль типів і системи типізації
Статистична типізація здійснюється при компіляції, а динамічна – під час виконання за допомогою контролю типів.

Контроль типів:
– Сувора типізація — контроль сумісності транслятором.
– Номінативна типізація —  користувач вказує сумісність.
– Структурна типізація — структура сумісності співпадає зі структурою самого типу (типами елементів, з якого складається сам тип).
– Слабка типізація — сумісність даних не контролюється транслятором, а визначається інтерфейсом допуску до них.

Роблячи висновок, можна сказати, що завдяки типізації даних можна зменшити кількість помилок та об’єм пам’яті програми. Також завдяки типізації можна створити надійну, стандартизовану програму. В якій будуть суворо контролюватися всі типи даних. За допомогою типізації в програмі може змінюватися велика кількість інструментів, при цьому вихідний текст може не змінюватися.

Наступна