Добрі поради » Цікаве » Основні типи змінних: формалізація даних

Основні типи змінних: формалізація даних

3-07-2018, 07:08
560
0
Поняття типу, як і, власне, змінної і її значення актуально для будь-якої мови програмування, системи управління базами даних, програмованих оболонок, і застосовуються в різних системних служби і сервіси. Багато розробники додатків і веб-ресурсів вводять свої описатели для типів змінних. Уявлення про базові типи актуальні, дозволяють уникнути помилок та побудувати ефективний алгоритм.

Природні інформаційні елементи

У світі реальної інформації немає змінних, але існують, образно кажучи, опису об'єктів. Що розуміти під об'єктом, часто залежить не від його опису, а від ситуації, в якій сталася «концентрація» інформації і з'явився її споживач.


Шкільна зошит в руках учня – це місце, в яке можна помістити різну інформацію. При цьому в зошит помістяться не тільки числа, рядки, малюнки, але й інтелектуальний рівень господаря, просочиться інформація про його захоплення, грамотності, настрої, можливо, стане відомо, хто його батьки і де він навчається.
Основні типи змінних: формалізація даних
  • для продавця – це вартість, кількість та облік продажів;
  • для покупця – це якість паперу, виробник і можливості: для математики чи письма.
  • Математики оперують формулами. Особливого значення функції і типи змінних не мають, але маються на увазі. Комплексне число ніколи не буває цілим або дробовим – воно буває лише комплексним. Його дві частини – це зовсім інше. Нескінченно мала величина або величина, що прагне до нескінченності, – теж абстракції природного типу. Будь-яка бухгалтерська або управлінська завдання в природному світі ставиться гранично чітко і розуміється як постановником, так і виконавцем. Питання, що рівень розуміння може відрізнятися – деталь. Завдання є, і як її поставити - питання не складний. Але ось як запрограмувати завдання? Тут дійсно є над чим подумати.

    Формалізація даних: «Паскаль»

    Програмування сьогодні – це жорсткі конструкції. У багатьох сучасних мовах зовсім не обов'язково описувати типи змінних, а якщо і описати, то можна завжди автоматом перетворити їх в інший тип. Коли програмування тільки формувалося як область обробки інформації, вважалося правильним зворотне: кожна змінна повинна бути описана заздалегідь, і змінювати її тип ніяк не можна було.
    Основні типи змінних: формалізація даних
    Як опис, так і обробка даних – це вимога граничної точності і ніякої невизначеності. Професійні і популярні мови мали крім очевидних варіантів подання природних даних, вигадані, але зручні для обробки. Наприклад, «Паскаль» пропонував:
  • byte – ціле (0255);
  • boolean – логічне (по суті, фікція, але розміром 1 байт);
  • word – ціле (065535);
  • integer – ціле число (-3276832767);
  • real, single, double - дійсне число;
  • char - символ та ін
  • Крім того, програміст міг використовувати перечислимого, інтервальні та структурні типи змінних. Зрозуміло, що byte і boolean – це абстракції формального світу, в природному застосуванні їх немає: логічні вирази можна позначити сотнею способів, і це робили задовго до появи комп'ютерів, а відрізняти byte від integer – надмірність.

    Формалізація даних: С/С++

    Розробники З/З++ пішли значно далі. Тут не тільки варіантів опису одного типу integer рівно стільки, скільки в «Паскаль» всього описів, але і операції з вказівниками (адресами на змінні) набагато складніше.
    Основні типи змінних: формалізація даних
    Синтаксис конструкцій описів і обробки, виділення коду і описів в різні файли – все це говорить про те, що початковий етап у програмуванні був поглинений рішенням завдання: максимально точно формалізувати предметну область. За описами: тип, значення, змінна. По кожній конструкції обробки, наприклад, циклів було рівно стільки, скільки є варіантів перевірки умови виходу. Оператори умов (if) і розгалуження (switch/case) були жорстко визначені. У кінцевому підсумку все це призвело до кардинально різним противоположностям:
  • C# - одна ідея: точно описано, правильно виконане;
  • javascript & PHP (і їм подібні) – друга ідея: «повна» свобода описів.
  • Обидві ідеї прекрасно уживаються в сучасному динамічному світі і мають достатню кількість вдячних розробників.

    Байти, слова і покажчики

    Типи змінних з самого початку ділилися на вигадані і реальні. Програмування, як самовпевнений дитина з самого народження спочатку думала про себе і про те, як все облаштувати. Як допомогти людині вирішувати його завдання – це завжди було на другому плані.

    Основні типи змінних: формалізація даних
    Описатели byte & boolean – близнюки брати. Дуже вигідно при кодуванні працювати з байтами. Причому є шикарні операції зсуву вліво і вправо, а байт складається з восьми біт. Це дуже практичні опису типів даних. Змінні могли вільно керувати ветвлениями, циклами, лічильниками. Переміщення одиниці за позиціях в байті – дуже затребуваний метод управління виконанням коду. Покажчики – це перша реальна можливість зробити код динамічним. Це примарна динаміка: за допомогою покажчика можна було переміщатися по змінним, не звертаючи уваги на їх описаний тип. Можна сказати, що період жорсткої формалізації дозволив зрозуміти, що і як хочуть зробити розробники З#, чого і навіщо домагаються прихильники javascript & PHP.

    Бази даних: запит – це рядок символів

    Будь-яка база даних-це конструкція описів запитів. По суті, це не змінна, але логіка речей – це рядок символів. Система управління базами даних пропонує набір затребуваних типів і все що залишилося від минулих реалізацій. У будь-якої бази даних є:
  • ціле число;
  • дійсне число;
  • логічний тип;
  • рядок фіксована;
  • рядок мінлива.
  • До цього джентльменського набору додається, як правило, все, що було зроблено в конкретній СУБД з моменту її створення. Самий затребуваний тип – рядок, але саме неприйнятне в цьому типі змінної – довжина. На сучасному етапі програмування обсяг рядки не має значення, тобто вимога дотримуватися фіксовану довжину обмежує програміста і створює прецеденти для помилок.

    Бази даних: запит - це сенс і сукупність типів

    Якщо розглядати запит (на PHP), то в деякому сенсі це змінна цілого типу. Коли запит йде на виконання він дає цілочисельне значення, за яким можна отримати вибірку або результат операції.
    Основні типи змінних: формалізація даних
    У деяких реалізаціях запит видає логічне значення. В більшості випадків результати запиту виходять абсолютно іншими механізмами.
  • $cQuery = "delete from `ex_owners`"
  • $cMySQL = mysqli_query($this->iConnectId, $cQuery)
  • Перший рядок – це текст запиту, друга виконання запиту. Яке значення матиме змінна $cMySQL, або який буде у неї тип - мало цікаво.
  • $cQuery = "create table if not exists sc_bees_1990 (";
  • $cQuery .= "oj_owner char (20), "; //код власника
  • $cQuery .= "oj_code char (20), "; //код примірника
  • $cQuery .= "oj_name char (244), "; //ім'я об'єкта
  • $cQuery .= "oj_line int (3), "; //номер рядка об'єкта або 0
  • $cQuery .= "oj_store varchar (18000),"; //тіло об'єкта
  • $cQuery .= "oj_status char (200)) "; //статус,
  • $cMySQL = mysqli_query($this->iConnectId, $cQuery);
  • Це більш практичний запит – створення таблиці. Але тут також не цікаво ні значення, ні тип $cMySQL. В рядку запиту вказаний важливий сенс створення таблиці певної структури і вказані типи змінних, тобто типи полів. Будь-яка помилка в цьому описі призведе до створення неправильної таблиці. В даному випадку (на PHP), абсолютно не важливо, як і коли була описана змінна $cQuery, але вкрай важливо опис типів всередині неї. PHP дуже тісно пов'язаний з базою даних MySQL, і за допомогою запитів можуть створюватися таблиці просто списків змінних, потім віддалятися або читатися. Так що де, що і як описав програміст – це питання алгоритму та задачі.

    Кодування рядків

    Сучасне програмування змушене рахуватися з усіма природними мовами і використовувати всі кодування, які задовольняють звичайні вимоги локалізації.
    Основні типи змінних: формалізація даних
    Як текст коду програми може бути записаний в конкретній кодуванні, так і рядок бази даних може бути закодована інакше. Правильно визначити тип змінної, важливо не тільки з цієї точки зору. Як правило, не типізовані надають програмісту можливість створювати змінні на льоту. Наприклад, йде заповнення товаром інтернет-магазину. Бухгалтер може помилитися, або програміст може передбачити перехід з одного режиму введення в іншій щодо зміни типу змінної. Закінчився enter цін, і прийшла команда на введення зображень товару, але enter здійснювався в одному полі на стороні клієнта. Обробник javascript в браузері працює в одному кодуванні, механізм AJAX має свої обмеження, декодування на стороні сервера може призвести до інтерпретації числа рядком, а рядки числом. У будь-якому випадку, перш ніж здавати код в промислову експлуатацію, важливо дуже уважно поставитися до кодування. Це не тип змінної, але це вкрай важливо.

    Ідеальна мінлива

    Сучасний світ програмування різноманітний, але напрочуд стабільно розвивається. Цікавий шлях З# і ідея javascript & PHP. З усією певністю можна сказати, що найбільш зручна і ефективна змінна – це послідовність інформації, але рядка імпонують багатьом, а використовують їх всі.
    Основні типи змінних: формалізація даних
    Такий же, як і мова (людина говорить і його розуміють), повинна бути й рядок – вона прийшла і її прочитали. Що робити, є проблеми кодування і поки рядок – це лише символи і коди. Але бути може завтра буде рядок – звук або відео. Від сучасних технологій можна чекати несподіванок.
    Схожі добрі поради по темі
    Види алгоритмів і приклади
    Види алгоритмів і приклади
    Програмування - це записування чогось з використанням чужого малознайомого мови. З розвитком цієї галузі знання розробники пішли ще далі і навчилися
    Що таке дані, значення слова
    Що таке дані, значення слова
    Що таке дані? Коли ми чуємо це слово, то у нас, як правило, виникають асоціації з інформацією. Однак це зовсім не одне і те ж. Чим відрізняються дані
    Програмування: Java. Типи даних
    Програмування: Java. Типи даних
    Мова програмування містить деякі наперед визначені вбудовані типи і дозволяє програмістам визначати свої власні користувальницькі. В Java типи даних
    "Паскаль" - це Мова "Паскаль" для початківців: опис
    "Паскаль" - це Мова "Паскаль" для початківців: опис
    На просторах всесвітньої мережі Інтернет можна знайти безліч програм на мові "Паскаль", але набагато складніше розібратися, за яким принципом вони
    БД - це Види і властивості БД
    БД - це Види і властивості БД
    БД - це абревіатура, расшифровывающаяся як "база даних", або "бази даних" (залежно від контексту). У цій статті розглянемо, що вона/вони собою
    Типи даних в програмуванні та їх особливості
    Типи даних в програмуванні та їх особливості
    В будь-якій програмі використовуються показники, які умовно можна розділити на дві великі групи: змінні та константи. Перші в ході виконання