Цілочисельні типи даних 1

Основи програмування
Кожен професіонал колись був чайником. Напевно вам знайоме стан, коли "не знаєш як почати думати, щоб до такого додуматися". Напевно ви стикалися з ситуацією, коли ви просто не знаєте, з чого почати. Ця книга орієнтована саме на таких людей, хто хотів би стати програмістом, але абсолютно не знає, як почати цей шлях. Детальніше.
Наприклад, тип даних Integer в Delphi має діапазон -2147483648 ... 2147483647, в той час як в Turbo Pascal тип даних Integer представляє числа в діапазоні -35768 ... 32767. У Free Pascal діапазон значень типу Integer визначається обраним режимом.
Так як Lazarus використовує компілятор Free Pascal, то все сказане про типах даних по відношенню до Free Pascal справедливо і для Lazarus.
Отже, цілочисельні типи даних Free Pascal перераховані в таблиці 13.1.
Таблиця 13.1. Цілочисельні типи даних Free Pascal (Lazarus).
ПРИМІТКА
У Free Pascal типи Int64 і QWord не є порядковими. Це означає, що ви не можете використовувати їх, наприклад, для індексних змінних в циклах. Однак я привів їх тут, щоб окремо не описувати в майбутньому і зібрати в одному місці всі цілочисельні типи Free Pascal. Якщо якісь слова вам не зрозумілі - не лякайтеся. Свого часу я про все розповім докладніше.
А тепер кілька пояснень до таблиці.
У колонці ТИП наведені ідентифікатори типів даних (ключові слова, які вказують компілятору, до якого типу відносяться ті чи інші дані). Як використовувати ці ідентифікатори, ви дізнаєтеся в наступних уроках.
У колонці РОЗМІР вказано розмір, який займає тип даних в пам'яті комп'ютера. Наприклад, ціле позитивне число можна представити різними типами: Byte. Word. Cardinal і ін. Однак число типу Cardinal буде займати в пам'яті 4 байта, в той час як число типу Byte - всього лише 1 байт. Тому, якщо ви точно знаєте, що число, з яким ви працюєте, ніколи не прийме значення більше 255, то краще визначати його як тип Byte. так як це дозволить заощадити місце в пам'яті комп'ютера. Хоча тут не все так однозначно (нюанси розподілу пам'яті і інших ресурсів комп'ютера виходять за рамки даного курсу).
У колонці ДІАПАЗОН вказано діапазон значень, яким оперує тип даних. Наприклад, число типу Byte може приймати значення від 0 до 255.
А тепер практика. Напишемо програму, яка виводить на екран діапазони значень всіх цілочисельних типів даних. Вихідний код цієї програми наведено нижче:
Лістинг 13.1. Програма виведення на екран діапазонів цілих чисел.
Стандартна функція Low визначає мінімальне значення типу даних. Фунцкія High визначає максимальне значення. З функціями WriteLn і ReadLn ви вже трохи знайомі. Більш докладно про підпрограма (процедурах і функціях) ми будемо говорити у відповідному розділі курсу.
Наостанок скажу, як записуються цілочисельні дані в програмі. Так само як і всюди - просто пишіть число, без лапок і будь-яких додаткових символів. Наприклад, так
Правда, це відноситься до чисел в десятковій системі числення. Напевно ви вже знаєте, що є й інші системи. Найбільш широко поширені двоичная, десяткова і шістнадцяткова системи числення.
Free Pascal підтримує чотири формату запису цілого числа:
- Десяткова запис. Просто число, наприклад 10.
- Шістнадцяткова запис. Число з префіксом $. Наприклад, шістнадцяткове число $ 10 одно десятичному 16.
- Вісімкова запис. Число з префіксом . Наприклад, вісімкове число 10 одно десятичному 8.
- Двійковий запис. Число з префіксом%. Наприклад, двійкове число% 10 одно десятичному 2.
Створіть програму, яка виводить на екран діапазони значень цілих чисел (лістинг 13.1). Відкомпілюйте програму і запустіть її. Переконайтеся, що ці значення відповідають зазначеним в таблиці 13.1.
У вихідному коді програми знайдіть рядок, яка задає режим компіляції:
У цьому рядку замість слова objfpc напишіть слово tp. Тобто підсумковий рядок повинна виглядати так:
Запустіть програму. Подивіться діапазон значень типу Integer. Зробіть висновки.
Вчіться думати як програміст, тобто логічно. Ніхто вам до пенсії не буде все розжовувати, як це роблю зараз я. Треба звикати думати самостійно. Інакше ви скотитися до "мавпячому принципом навчання", і тоді ваші шанси стати класним програмістом наблизяться до нуля. Щоб допомогти вам не скотитися на рівень "зубріння", я буду періодично залишати прогалини у вашому навчанні, щоб ви постаралися самі додуматися до якихось речей.
Набагато краще, якщо ви самі додумалися до неправильного вирішення. самі знайдете помилку і самі її виправите, ніж будете завжди використовувати чужі правильні рішення і тупо їх копіювати.