Величини


Величини і типи величин
Поняття величини. Змінні, константи, ідентифікатори
Поняття величини прийшло до нас із математики. Вперше властивості вели­чини чітко були сформульовані Евклідом у його «Печатках» (III ст. до н.е.). З давніх часів величина розглядалася як узагальнення конкретних понять: дов­жини, площі, об'єму, маси тощо. Величини служили людям для опису об'єктів і процесів у матеріальному світі. За допомогою величин можна виразити довжину відрізка, площу земельної ділянки, висоту будинку, швидкість пішохода або автомобіля, час обертання планети навколо Сонця. З прикладами величин ви зустрічаєтеся щодня: відстань між будинком і школою, температура повітря тощо. Кожний розмір характеризується певним значенням, наприклад, швидкість може дорівнювати 80 км/год, відстань - 700 м, а температура - 15°.
У програмуванні поняття величини дещо відрізняється від поняття величини у природничих науках. Воно є формальнішим: величиною називають об'єкт, з яким пов'язується певна множина значень. Такому об'єкту надається оригіналь­не ім'я - ідентифікатор.
Будь-який алгоритм можна розглядати як спосіб визначення значень деяких величин. Так, алгоритм розв'язання рівняння служить для визначення невідомих величин - коренів рівняння. Комп'ютерна модель автомобіля дозволяє визначати його швидкість залежно від витрати палива. Можна навести багато прикладів, коли в результаті комп'ютерного моделювання визначаються значення величин.
Із визначенням значень величин пов'язані також одержання або створення текстів, різних списків, графічних зображень тощо. У цих випадках величини набувають значень, що відповідають фрагментам тексту, елементам списків, компонентам зображень тощо. Взагалі мовою величин можна висловити будь-яку інформацію, використовуючи можливості кодування.
З фізики і математики ви знаєте, що величини можуть бути змінними і по­стійними (константами). Змінні величини з часом змінюються, а константи незмінні. У програмуванні змінні і константи визначаються по-іншому.
Константою вважається величина, яка під час виконання програми не змінює свого значення.
Призначення програми полягає в обробці інформації, при цьому на перший план виступають не константи, а змінні, оскільки самі константи не важливі.
Змінна - це величина, значення якої змінюється в процесі виконання програми.
Справді, на початку роботи програми в комп'ютер вводять інформацію, яка запам'ятовується в змінних. Значення цих змінних обробляється програмою, і змінні набувають нових значень.
Величини звичайно позначаються окремими символами (наприклад, а, b, с, j, x, z) або послідовностями символів (наприклад, al, bl3d, xlO, itog). Позна­чення тієї або іншої величини в програмі називається ідентифікатором величини.
Ідентифікатор - це ім'я, що вибирається для елементів алгоритму: змінних, констант, заголовків.
Прикладами ідентифікаторів величин можуть бути такі послідовності сим­волів: А, В2С, _І5, X, Y, SI, DAT_33 , My_program тощо. Ідентифікатор має починатися з літери або символу підкреслення _.

Стандартні типи величин
В алгоритмах величини відіграють роль об'єктів, над якими виконуються певні операції. Але значення однієї величини може істотно відрізнятися від зна­чення іншої. Наприклад, числові величини містять числову інформацію і з ними можна виконувати арифметичні операції й операції порівняння. Літерні вели­чини, з якими ви ознайомитеся трохи пізніше, містять інформацію у вигляді сим­волів і фрагментів тексту. Над літерними величинами арифметичні дії вико­нувати не можна, однак їх можна порівнювати. Множина величин, у якій визна­чені можливі операції, називається множиною величин визначеного типу.
Тип величин визначає, яких значень може набувати величина і які операції з цією величиною дозволені. Інакше кажучи, тип величини задає множину припустимих значень величини і сукупність операцій, які можуть бути застосовані до неї.
У програмуванні тип - дуже важлива характеристика величини, оскільки вона визначає можливі операції над величиною і задає ємність пам'яті, що ви­діляється для її збереження (1, 2, 4 байти і т.д.).
Які ж типи величин використовуються при створенні алгоритмів і програм? Насамперед, це величини так званих стандартних типів: числові, літерні і логіч­ні величини. Числовий тип, до якого належать цілі і дійсні, дозволяє оперувати з числами. Літерний тип, що включає символи і рядки, дає можливість оперувати з текстами. А логічний тип установлює результати порівняння чисел або порів­няння різних символів і фрагментів тексту. Розглянемо стандартні типи доклад­ніше.

Числові величини
В алгоритмічній мові числові величини подані двома типами: цілий (позна­чається як ціл) і дійсний (дійсн).
Цілі числа, що складають тип ціл, обмежені зверху додатним числом Nmax і знизу від'ємним числом Nmin. Значення Nmax і Nmin визначаються ємністю комірок пам'яті, у які записуються цілі числа. Звичайно для цілих чисел виділяється 2 бай­ти пам'яті, відповідно межі діапазону дорівнюють: Nmin = -32768 і     Nmax = 32767.
Вважається, що всі операції із величинами типу ціл виконуються за зви­чайними правилами арифметики з одним винятком: можливі дві операції ділення div і mod.
До іншого числового типу належать дійсні (дійсн) величини. Значення дій­сних величин можуть зображатися у формі з фіксованою крапкою (наприклад, 0.3333; 2.0; -4.567 і т.д.) і з плаваючою крапкою (наприклад, 7x102, 5.173х10-3 і т.д.).
На відміну від цілих чисел, дії з дійсними числами можуть бути неточ­ними - це пов'язано із помилками округлень. Ємність пам'яті, що надається для збереження значень дійсної змінної, - від 4 до 10 байт залежно від обра­ного формату числа.
Над числовими значеннями можна виконувати як арифметичні операції, так і операції порівняння (>, <, >=, <=, =, о).

Літерні величини
Для роботи з текстом служать літерні величини - довільні послідовності символів: літер, цифр, розділових знаків, пробілу й інших спеціальних знаків (можливими символами можуть бути символи таблиці ASCII). Літерні величини звичайно беруть у лапки ("а", "агава") або апострофи (дельта 1, d).
В алгоритмічній мові літерні величини позначаються як літ. У мовах про­грамування розрізняють символьний (char) і рядковий (string) типи. Величини символьного типу скла­даються з одного символу і займають у пам'яті всього 1 байт. Величини ряд­кового типу є різними послідовностями символів, що передбачені кодовою сто­рінкою, встановленою в комп'ютері. Довжина рядка може становити від 0 до 255 символів.
Для всіх літерних величин можливі операції порівняння. За допомогою відно­шень типу: 'a' < 'b',       'b' < 'c', 'c' < 'd',... виконується упорядкування літерних величин (сортування за зростанням або зменшенням). Ще однією операцією, характерною саме для символьних і рядкових величин, є операція конкатенації.

Логічні величини
Величини логічного, або булевого (boolean), типу можуть набувати лише двох значень: True (Так) і False (Hi). Для зображення логічної величини досить одного біта, однак, оскільки місце в пам'яті виділяється по байтах, логічній величині надається мінімальна порція пам'яті - один байт. Операції з логічними величинами (типу лог) розглядатимуться в наступному параграфі.

Табличні величини і масиви
Величини стандартних типів, про які йшлося, подаються одним значенням: числом, текстом, логічним значенням. Однак існують величини, що подаються кількома компонентами, наприклад таблиці і масиви, їх називають складеними величинами.
Інформацію часто зручно подавати у вигляді таблиць. Звичайними є прямокутні таблиці, тобто такі, що складаються із рядків і стовпців. Можна уявити також таблицю, що складається з одного рядка або з одного стовпця. Це буде лінійна таблиця, тобто таблиця, що має один «вимір».
Январь
Февраль
Март
Апрель
Май
Июнь
Июль
Август
Сентябрь
Октябрь
Ноябрь
Декабрь

1
2
3
4
5
6
7
1
4
9
16
25
36
49
1
8
27
64
125
216
343
Табличні величини належать до складених величин, тому що включають інші величини, так звані елементи. У лінійних таблицях елементами є комірки, а в прямокутних - записи (див. пункт «Записи» цього параграфа). В алгоритмічній мові табличний тип позначається як таб.
У прикладах таблиць комірки містять однотипні дані: у пря­мокутній таблиці - ціле число, а в лінійній - рядкові величини. Такі таблиці прийнято називати масивами.
Масив - це упорядкований набір із одним ім'ям, що складається з фіксованого числа однотипних елементів.
Наведемо інші приклади масивів. Із математики вам відомо, що положення крапки описується декартовими координатами (X, Y, Z). Сукупність цих коор­динат можна позначити одним ідентифікатором R і оперувати ним як одновимірним масивом. Елементи цього масиву нумеруються за допомогою індексу, наприклад, І (= 1, 2, 3). Якщо з масиву R(l) нам потрібно обрати перший елемент і надати його значення змінній X, ми записуємо це за допомогою іден­тифікатора масиву:
X   =   R(l)
Інші елементи масиву записуються аналогічно:
Y   =   R{2)
Z   =   R(3)
Елементи масиву R належать до одного типу, тому що всі координати х, Y, z набувають   дійсних значень.
Масив можна побудувати з елементів будь-якого дозволеного типу: цілого, символьного, логічного тощо. Прикладом масиву символьного типу є алфавіт. Якщо позначити цей масив як Azbooka, значення його елементів можна ви­значити як:
Azbooka(l) = 'A'
Azbooka(2) = 'Б'
…………………
Azbooka(33) = 'Я'
Масив компактно розміщується в оперативній пам'яті комп'ютера. Звер­нення до того чи іншого елемента масиву робиться за ідентифікатором та індексом, що «пробігає» натуральні значення 1, 2, ...N. Масиви можуть бути одновимірними, двовимірними, тривимірними і т.д.
Ми розглянули приклади одновимірних масивів R і Azbooka, звернемося тепер до двовимірних масивів. Звичайно, вони зображуються у вигляді прямо­кутних таблиць, названих матрицями. Елементи матриць нуме­руються двома індексами: перший індекс відповідає номеру рядка, а другий - номеру стовпця. У тексті програми до елементів двовимірного масиву звер­таються за допомогою ідентифікатора й індексів, наприклад, Array (j , k), Trek (2 , m), Bym (1, 9). У дужках вказуються номери рядка і стовпця, на пере­хресті яких розташовано елемент.
Поняття масиву може бути узагальнене на випадок трьох і більше змінних індексів (тривимірні, n-вимірні масиви). Якщо масиви з одним і двома індексами можна називати таблицями, то у разі трьох і більше індексів говорити про таб­лиці не доводиться.

Рядки
Рядковий тип даних нагадує одновимірний масив, у якому елементами є сим­воли. Приміром, рядок
МИНУЛО   КІЛЬКА  ХВИЛИН
можна розглядати як одновимірний масив із 20 символів (включаючи пробіли). Цей рядок можна позначити ідентифікатором (наприклад, Ryadok) і про­нумерувати всі символи, вважаючи їх елементами масиву: Ryadok (1) = ' м ',.. Ryadok(20)='Н'.
Однак для роботи із символьною інформацією гнучкішим інструментом є не одновимірний масив, а рядок (string). Пов'язано це з тим, що кількість символів у рядку, на відміну від масиву, не фіксована. Завдяки цьому до рядка можна без обмежень застосовувати стандартні операції і функції, призначені для роботи з текстом.

Записи
Розглянемо ще один тип розмірів - записи. Приклади записів трапляються часто, досить глянути в класний журнал або розклад занять.
У розкладі занять ви побачите послідовність записів, що складаються з таких компонентів: День тижня, Номер уроку, Предмет, Аудиторія. Ці компоненти називаються полями, причому значення поля можуть належати до різних типів. У нашому прикладі День тижня і Предмет утворять строковий тип, а Номер уроку й Аудиторія - цілий тип.
Зміст усіх записів однаковий (заголовок таблиці записом не вважається). Поля запису можуть містити величини різних типів. Пізніше під час вивчення мови Pascal ви дізнаєтесь, що такі типи називаються структурованими. На основі наведеного прикладу можемо сформулювати визначення запису.
Запис - це структурований тип даних, що складається з фіксованого числа компонентів одного або кількох типів.

День тижня
Номер уроку
Предмет
Аудиторія
Понеділок

1
Математика
15
Понеділок
2
Географія
15
Понеділок
3
Біологія
15
Понеділок
4
Інформатика
20
Звертаються до запису за допомогою так званого складеного імені. Спо­чатку вказується ім'я змінної, а потім через крапку - ім'я поля. Наприклад, доступ до компонентів Предмет у наведеному прикладі можна отримати, запи­суючи складене ім'я так:
a.   subject
де а - ім'я змінної типу запис, a subject - ідентифікатор поля Предмет.


Комментариев нет:

Отправить комментарий