Які імена записані неправильно? Чому?
a) alpha; b) бета; c) b2; d) abc; e) 1f.
§6. Типи даних.
6.1. Âåëè ÷ èíû. Програма оперує об'єктами, які для комп'ютера прийнято називати даними. Дані можуть бути різного типу. Найбільш поширені типи - це числові, логічні і символьні. Для позначення вихідних даних і результатів обчислень вживаються величини.
Ïîíÿòèå âåëè ÷ èíû ÿâëÿåòñÿ îäíèì èç ñàìûõ âàæíûõ ïîíÿòèé øêîëüíûõ êóðñîâ ìàòåìàòèêè è ôèçèêè. Âåëè ÷ èíû, êîòîðûå ðàññìàòðèâàþòñÿ â êóðñàõ ìàòåìàòèêè è ôèçèêè, ÿâëÿþòñÿ ïðåèìóùåñòâåííî ÷ èñëîâûìè âåëè ÷ èíàìè. Ïîеòîìó ÷ àñòî ñêëàäûâàåòñÿ ïðåäñòàâëåíèå î òîì, ÷ òî âåëè ÷ èíû - ýòî òî, ÷ òî âñåãäà ìîæíî èçìåðèòü. Ïëîùàäü ôèãóðû, ñêîðîñòü äâèæåíèÿ òåëà, ñèëà - ýòî ïðèìåðû âåëè ÷ èí. Ïðè èçó ÷ åíèè èíôîðìàòèêè âîçíèêàåò íåîáõîäèìîñòü ðàñøèðèòü ïîíÿòèå âåëè ÷ èíû. Â íîâîì ïîíèìàíèè âåëè ÷ èíàìè îêàçûâàþòñÿ íå òîëüêî ÷ èñëîâûå âåëè ÷ èíû, íî è ãðàôèêè, òåêñòû, ãåîìåòðè ÷ åñêèå ôèãóðû è, âîîáùå, îáúåêòû ñàìîé ðàçíîé ïðèðîäû. Íåîáõîäèìîñòü ðàññìîòðåíèÿ òàêèõ âåëè ÷ èí îáóñëîâëåíà óíèâåðñàëüíîé ñïîñîáíîñòüþ êîìïüþòåðà îáðàáàòûâàòü ðàçëè ÷ íóþ èíôîðìàöèþ. Ýòà èíôîðìàöèÿ ìîæåò áûòü, â ÷ àñòíîñòè, ÷ èñëîâîé (÷ èñëîâûå âåëè ÷ èíû), ãðàôè ÷ åñêîé (ãðàôè ÷ åñêèå âåëè ÷ èíû), òåêñòîâîé (ëèòåðíûå èëè ñòðîêîâûå âåëè ÷ èíû).
Як і в математиці, в мові Паскаль величини позначають буквами, буквами з цифрою і т.д. тобто дають імена величинам.
Íàïðèìåð: a, ab, summa, x1, a2, b1.
Папомінаем, що в êà ÷ åñòâå èìåí âåëè ÷ èí íåëüçÿ èñïîëüçîâàòü ñëóæåáíûå ñëîâà ÿçûêà.
Âåëè ÷ èíû áûâàþò äâóõ âèäîâ: ïîñòîÿííûå (êîíñòàíòû) è ïåðåìåííûå.
Êîíñòàíòà - величина, значення якої не змінюється â ïðîöåññå âûïîëíåíèÿ ïðîãðàììû. Îíà ìîæåò áûòü çàäàíà ÿâíî ñâîèì çíà ÷ åíèåì èëè îáîçíà ÷ åíà èìåíåì.
Ïåðåìåííàÿ - величина, êîòîðая може змінюватися, беручи при цьому різні значення.
6.2.простейшіетèïû âåëè ÷ èí. Людина, оперуючи якими-небудь даними, здатний швидко розібратися в типах даних і в тих операціях, які допустимі для кожного з типів. Наприклад, він не буде витягувати квадратний корінь з слова чи запише число з великої літери. Основною причиною, що дозволяє виробляти таке швидке розпізнавання, є відмінність в запису різних типів даних. Комп'ютер же всяку інформацію сприймає як послідовність двійкових розрядів. Тому йому необхідно додатково вказати, який тип має кожне використовується в програмі дане. Це здійснюється за допомогою спеціальних операторів-описів.
Типи даних повинні бути задані для того, щоб транслятор міг їх правильно розмістити в пам'яті.
Над даними кожного з типів допускається виробляти певні для цього типу даних операції.
Отже, тип - це характеристика величини, яка визначає три її властивості: форму внутрішнього представлення, безліч прийнятих значень і безліч допустимих операцій.
Найпростіші стандартні типи даних в мові Паскаль ñëåäóþùèå:
1) Дані цілого типу.
Дані цілого типу використовуються в тих випадках, коли якусь величину потрібно представити абсолютно точно, наприклад, кількість предметів.
Запис цілих чисел в програмі така ж, як і в математиці. Це набір цифр, якому може передувати знак «плюс» чи «мінус»: 201, -126, +12600. Значення цілих чисел не можуть виходити за межі певні типом величини. в пам'яті машини дані представлені точно. У мові Паскаль для представлення цілих чисел використовуються наступні типи:
Íàèìåíîâàíèå òèïà Îáëàñòü çíà ÷ åíèé
Як бачите, не будь-яке ціле число може бути представлено в мові Паскаль. Це пов'язано з тим, що числа в пам'яті машини представлені в двійковому вигляді, і прийняте значення залежить від того, скільки розрядів використовує той чи інший тип. Для даних BYTE і SHORTING відводиться 1 байт = 8 біт, WORD і INTEGER - 2 байта = 16 біт, LONGINT - 4 байта = 32 біта. (Як бачите, розмір ящика впливає на можливий розмір вмісту.)
2) Дані дійсного типу.
Дані дійсного (речового) типу використовуються значно частіше, ніж цілого типу. Вони необхідні в тих випадках, коли числові величини можуть містити дробові значення.
Для подання дійсних чисел існує кілька типів (див. Додаток 3). Ми розглянемо поки тільки один: real. Найменше по модулю число (не рахуючи нуля), яке можна зберегти у змінній типу REAL, дорівнює 10 -38. а найбільше - дорівнює 10 +38. незважаючи на великий діапазон в порівнянні з цілими числами дійсні числа мають недоліком: вони представлені в пам'яті ЕОМ з деяким наближенням. Це пояснюється неточним перекладом багатьох дійсних чисел з десяткової системи в двійкову. При обчисленнях похибка може накопичуватися. Крім того, тип real дозволяє зберігати тільки 12 значущих (вірних) цифр.
3) Дані символьного типу.
Мова Паскаль дозволяє обробляти не тільки числа, а й символи. це дає можливість представляти в програмах тексти і виконувати над ними деякі операції.
Набір символів використовуваних в комп'ютері досить великий. Всі символи впорядковані, тобто кожен символ має свій порядковий номер від «0» до «255» (див. Додаток 4).
Òèï äàííûõ char (символ) îáîçíà ÷ àåò ìíîæåñòâî ñèìâîëîâ. Îäèí ñèìâîë òðåáóåò äëÿ ñâîåãî вíóòðåííåãî ïðåäñòàâëåíèÿ 8 áèò = 1 áàéòó. номера символів використовуються в операціях порівняння і в деяких стандартних функціях. Ïðè îïðåäåëåíèè значень символьних âåëè ÷ èí, що привласнюється çíà ÷ åíèå çàêëþ ÷ àåòñÿ â àïîñòðîôû: 'à', 'Â', '+'.
4) Дані логічного типу.
Дані логічного типу беруть участь у всіляких умовних операторах мови Паскаль. Ëîãè ÷ åñêèé òèï boolean õàðàêòåðèçóåòñÿ äâóìÿ çíà ÷ åíèÿìè âåðîÿòíîñòè: true (èñòèííî) è false (ëîæíî). Слова TRUE і FALSE визначені в мові і є логічними константами.
Більш детально з типами даних можна познайомитися в Додатку 3.
Кожна величина повинна бути оголошена в програмі, тобто вказано її тип, яка вона - целочисленная, подрібнена або іншого типу. Повернемося знову до прикладу зі складанням чисел. Складові могли бути або цілими, або дробовими числами.
1) Êîíñòàíòû. Якщо константа позначається ім'ям, то вона äîëæíа áûòü îïèñàíа â ðàçäåëå констант. Опис починається зі службового слова CONST. після імені константи ставиться знак «=» (так само), за яким записується значення константи. Тип константи в цьому випадку визначається присвоюється їй значенням.
Âîò íåñêîëüêî ïðèìåðîâ:
Ñóùåñòâóþò è, òàê íàçûâàåìûå, òèïèçèðîâàííûå êîíñòàíòû. Â îïèñàíèè òèïèçèðîâàííîé êîíñòàíòû ïðèñóòñòâóþò îïèñàíèå òèïà è îäíî èç äîïóñòèìûõ çíà ÷ åíèé äëÿ ýòîãî òèïà.
Òèïèçèðîâàííûå êîíñòàíòû ÿâëÿþòñÿ, ñîáñòâåííî ãîâîðÿ, ïåðåìåííûìè, êîòîðûì â òîé ÷ àñòè ïðîãðàììû, ãäå îïèñûâàþòñÿ êîíñòàíòû, ïðèñâàèâàåòñÿ íåêîòîðîå íà ÷ àëüíîå çíà ÷ åíèå. Îíè íå òîëüêî ìîãóò îïèñûâàòüñÿ êàê ïåðåìåííûå, èõ ìîæíî èñïîëüçîâàòü â ïðîãðàììå â êà ÷ åñòâå ïåðåìåííûõ, ò.å. èì ìîæíî ïðèñâîèòü íîâîå çíà ÷ åíèå èëè èñïîëüçîâàòü èõ â êà ÷ åñòâå ïàðàìåòðà â ïðîöåäóðàõ è ôóíêöèÿõ.
Ïðèìåðû опису типізованих констант:
2) Ïåðåìåííûåвелічіни. Ïåðåìåííûå äîëæíû áûòü îïèñàíû (визначені) â ðàçäåëå VAR. де після імені змінної ставлять знак «:» (двокрапка), за яким записують тип. Якщо кілька змінних мають однаковий тип, то їх можна об'єднати в список, розділяючи комами.
Ïðèìåðи опису змінних:
Нагадаємо, що для змінної величини в програмі повинні бути вказані: ім'я, тип і задані значення.
Запитання і завдання.
Які величини називають константами?
Які величини називають змінними?
які правила запису імен величин? Наведіть приклади.
для чого використовується вказівка типу величини?
Перерахуйте найпростіші типи величин.
чи можна в процесі виконання програми змінювати значення констант?
Чи існує обмеження на безліч цілих чисел, використовуваних в мові Паскаль? Якщо так, то чим вони визначаються?
Для подання будь чисел в мові Паскаль використовується тип REAL?
У чому відмінність двох типів числових даних REAL і INTEGER?
Вказати неправильні записи чисел на мові Паскаль:
а) 0006; б) - 0; в) 7,0; г) 7 .; д) + 0.3; е) .3;
ж) 2/3; з) Е-1; і) 8Е0; к) 0Е-4; л) 2 * Е5; м) е.
Чи є різниця (з точки зору мови Паскаль) між числами 100 і 100.0, між 20 і 20.0? За якою ознакою (величиною або формою записи) цілі числа відрізняються від речових?
Які з наступних послідовностей символів є числами в мові Паскаль:
а) 0; б) -5; в) 1/12; г) 3,14; д) +7.7; е) 0.66 ...;
ж) 0. (6); з) -0,815; і) 2 + 2.5; к) ± 1; л) VII.
17. Чи правильно визначено тип величини:
кількість зошитів - дійсний тип;
вага контейнера - цілий тип?
18. Вкажіть тип величини, якщо значення дорівнює:
19. З наведених значень виберіть допустимі для величин
цілого типу (BYTE)
цілого типу (INTEGER)
'?'; 30; -46; -0.126; 15.003; 'G'.
20. Визначте, чи є величина постійної або змінної:
кількість днів у тижні;
кількість днів у місяці.
21. Визначте тип для величин:
кількість навчальних предметів.
22. Для величини КІЛЬКІСТЬ СТОРІНОК В КНИЗІ виберіть допустиме: 23.7; 292; -78; '7'; 123; '5'; 34.8.
§7. Арифметичні вирази.
в українській мові слово «вираз» має кілька значень. Наприклад, зовнішній вигляд, мовний зворот, формула, що відображає математичні відносини. Саме останнє значення цього слова використовується в мові Паскаль. Тільки замість слова «формула» кажуть «вираз».
У мові Паскаль в порівнянні з математичним поняттям вираз має свої особливості.
Вираз будується з констант, змінних, функцій і операцій над німі.допускается використання круглих дужок. Окремим випадком виразу є просто константа, змінна або функція.
За типом входять до нього значень, вирази можуть бути різними: арифметичними, логічними, строковими.
Розглянемо побудову арифметичних виразів.
У мові Паскаль не для всіх математичних операцій є такі ж позначення. Наприклад, х, х 2. можна записати на мові Паскаль. Для реалізації подібних операцій необхідний алгоритм рішення і, відповідно, програма. Для полегшення роботи програміста найбільш поширені алгоритми розроблені фірмою-виробником мови Паскаль і поставляються разом з мовою. Вони зберігаються в спеціальній бібліотеці та називаються стандартними ілівстроенниміфункціямі, деякі наведені нижче, а з рештою можна познайомитися в додатку 5.
Abs (x) Âû ÷ èñëåíèå модуля (àáñîëþòíîãî çíà ÷ åíèÿ) õ (х);
Sqr (x) Âû ÷ èñëåíèå êâàäðàòà õ (х 2);
Sqrt (x) Âû ÷ èñëåíèå êâàäðàòíîãî êîðíÿ èç õ ().
Програмісту досить знати, як записується функція і аргумент. Аргументи більшості стандартних функцій записуються в дужках, щоб транслятор мови Паскаль міг розпізнати ім'я викликається функції. Вбудовані функції можна використовувати у виразах. Аргументом може бути константа, змінна або вираз, наприклад:
 ìàòåìàòèêå ñóùåñòâóåò áîëüøîå êîëè ÷ åñòâî îïåðàöèé íàä чèñëàìè і іншими об'єктами. Ïîñêîëüêó äëÿ áîëüøèíñòâà çíàêîâ òàêèõ îïåðàöèé не вистачає символів в алфавіті ÿçûêà Ïàñêàëь, то âûíóæäåíû îäèí è òîò æå çíàê îïåðàöèè, ñêàæåì «+» èëè «-», èñïîëüçîâàòü äîâîëüíî øèðîêî, óïîòðåáëÿÿ åãî â ðàçíûõ çíà ÷ åíèÿõ, èëè èñïîëüçîâàòü àíãëèéñêîå íàïèñàíèå îïåðàöèè, íàïðèìåð, not, and, or. Тому рåçóëüòàò âûïîëíеíèÿ îïåðàöèè à + b çàâèñèò îò òèïîâ à è b!
Операції, які можна виробляти над числовими даними, цілими і речовими, такі:
1) Множення: А * В, А і В можуть бути цілими і дійсними. Залежно від типу сомножителей тип результату може бути наступним:
А і В - цілі, результат теж цілого типу.
Якщо один з співмножників, або обидва відразу, речові числа, то і результат дійсне число.
2) Розподіл А / В. Якими б не були ділене і дільник, цілими або речовими, результат завжди дійсне число.
3) Додавання: А + В. Залежність типів, як і при множенні.
4) Віднімання: А - В. Залежність типів, як і при множенні.
5) Целочисленное розподіл: A DIV B. Ця операція визначає неповне частка від ділення А на В. Тип діленого, дільника і результату цілочисельний.
6) Знаходження залишку при целочисленном розподілі: A МОD B. Ця операція визначає залишок від ділення А на В. Тип діленого, дільника і результату цілочисельний.
При визначенні типу результату необхідно бути дуже уважним. Наприклад, якщо описані змінні
var a: shortint; b: integer; c: longint; x: real;
то тип результату буде наступним
a + b Òèï: integer
a + b + c Òèï: longint
a + b + c + x Òèï: real
c mod b Òèï: longint
Зауважимо, що в Паскалі немає операції піднесення до степеня. Зведення на всю ступінь рекомендується проводити шляхом багаторазового множення підстави ступеня і використання функції зведення в квадрат SQR (X).
Як і в математиці, при обчисленні значення виразу в Паскалі враховується пріоритет операції. спочатку виконуються операції з найменшим пріоритетом. Якщо вираз містить декілька операцій одного пріоритету, то вони виконуються зліва направо в тому порядку, як йдуть в вираженні. Для зміни порядку виконання операцій використовуються круглі дужки.
 Òóðáî Ïàñêàëå найпершими виконуються âñòðîåííûå ôóíêöèè.
Наступним по пріоритетності слід îïåðàтор ëîãè ÷ åñêîãî îòðèöàíèÿ not. Більш докладно про це оператора (як і про AND і OR) ми поговоримо пізніше.
На третьому місці стоять операції:
div - цілочисельне ділення (знаходження неповного приватного),
mod - знаходження залишку при целочисленном розподіл;
and - операція логічного множення (логічне І).
На четвертому місці стоять îïåðàöèè:
or - операція логічного додавання (логічне АБО).
При складанні виразів неоходімо виконувати наступні правила:
1. Записувати все вираз в рядок. Двоповерхові вираження, а також верхні і нижні індекси не допускаються. Наприклад, аðèôìåòè ÷ åñêîå âûðàæåíèå çàïèñûâàåòñÿ òàê:
Загибель, І загибель, І загибель, І загибель! Наших друзів. Бомбардування Глибокої тривали і далі. Вони. знову міняти аеродроми, в боях втрачати друзів і товаришів. У війну, коли. професіонали. Другий вагон з нашими друзями був закритий. Розмовляти з ними.
залізну] д [орогена] Гомель - Калинковичі. 14 днів голодні, відірвані бойові друзі ходили і шукали. на Бахмацької ж [елезной] д [орогена] - 3 ешелону і на Артемівської ж [елезной] д [орогена] - 5 ешелонів. Повністю знищено.
залізну] д [орогена] Гомель - Калинковичі. 14 днів голодні, відірвані бойові друзі ходили і шукали. на Бахмацької ж [елезной] д [орогена] - 3 ешелону і на Артемівської ж [елезной] д [орогена] - 5 ешелонів. Повністю знищено.
в брудні і неглибокі ями - вири. Орог -Нур - замкнутий бессточное озеро. Мало. Монголії, в район мальовничого озера Орог -Нур. Тому я не думав. у творчій науковій -роботи монгольським друзям. Географічні дослідження природи Центральної Азії.
ДТО ГУГБ Сталінської ж [елезной] д [орогена] Капітан державної безпеки Оонівський. ГУГБ Сталінської ж [елезной] д [орогена] капітан державної безпеки. діяльність організації (справа «Друзі») Широко розгалужена повстанська організація.