Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Стандартні типи даних




Програма оперує різними елементами даних. Кожен елемент може бути визначеного типу. Цей тип задає як множину значень, що може приймати елемент, так і операції, які можуть бути з ним виконані. Зараз ми розглянемо лише чотири стандартних типи даних: 1) INTEGER (цілий). Діапазон значень даних цього типу, що можуть прийматися, зазвичай від -32768 до +32767. Граничні значення діапазону записано в стандартних константах, які мають імена MAXINT та MININT, тобто MININT -32768 та MAXINT=32767. Спроба отримати значення, що виходить за межі діапазону, призводить до помилки транслятора. Об'єкти даних — учасники операцій — називаються операндами. Над операндами цілого типу можливі такі операції: + (додавання), - (віднімання), * (множення), DIV (цілочисельне ділення з відсіченням залишку), MOD (залишок від цілочисельного ділення). Ці операції виконуються точно. Порядок виконання звичайний: спочатку множення, ділення та отримання залишку, потім додавання та віднімання. Службові слова DIV і MOD з двох сторін повинні відокремлюватися пробілами. Приклади: 5 div 2 = 2 5 mod 2 = 1 5 div 6 = 0 5 mod 6 = 5 2) REAL (дійсний). Дані цього типу мають цілу, дробову частини та порядок (степінь числа 10). Цілі числа в операціях із дійсними даними автоматично приводяться до REAL-формату. Дійсні числа позначаються дійсними сталими. Розглянемо приклад. Число 1.2345 можна позначити багатьма різними способами, наприклад, 123.45 10-2. Тут воно має цілу частину 123, дробову частину.45 і десятковий порядок -2. Цьому запису відповідає стала мови Паскаль 123.45E-2, у якій 123 – ціла частина,.45 – дробова, а E-2 – порядок. Це ж число можна задати сталою 0.12345E1 або 0.012345E+2, або 1.2345, або 12345e-04. Подання числа сталою, у якій перед десятковою крапкою записано єдину цифру від 1 до 9, називається нормалізованим, наприклад, 9.81 або 1.0E2 (число 0 має нормалізоване подання 0.0). Дійсні сталі мають обов'язкову цілучастину, за якою записано дробовучастину і порядок (можливо, одне з них). Ціла частина – це непорожня послідовність цифр, дробова – непорожня послідовність цифр із крапкою на початку, а порядок – буква "E" або "e", можливо, із знаком "+" або "-", і однією або двома цифрами. Перед сталою може бути знак "-", і тоді вона задає від'ємне число: -12.345E-1. Абсолютна величина (модуль) дійсних чисел зазвичай знаходиться в діапазоні від 1Е-38 до 1Е+38. Якщо число по модулю менше, ніж 1Е-38, відбувається втрата значущості (перетворення на нуль), а якщо більше 1Е+38, то виникає помилка (переповнення). Не уточнюючи множину представних дійсних чисел, скажемо лише, що вона: · є скінченною обмеженою підмножиною множини раціональних чисел; · містить усі цілі числа, представні в типі integer (і багато інших, але все одно їх скінченна множина!). Як бачимо, цілі числа задаються як цілими сталими, так і дійсними, наприклад, 2 і 2.0. Проте їм відповідають два цілком різних подання того самого числа, тобто значення двох різних типів. І в машині вони обробляються по-різному. До дійсних значень застосовні ті ж самі арифметичні операції, що й до цілих, за винятком odd, div, modі деяких інших, про що ми скажемо в розділі 10. Їх можна порівнювати (=, <>, > тощо), і до них, і лише до них, застосовні дві операції round і trunc. Вони задаються у вигляді викликів функцій: round(3.62), trunc(2.71) тощо. Перша породжує ціле значення, найближче до операнда, наприклад, round(4.12)=4, round(3.62)=4, а друга – значення математичної функції "ціла частина", що позначається [ x ]: trunc(3.62)=3. Останнє твердження, утім, є не зовсім точним, тому що для від'ємного числа x значенням trunc(x) є не [ x ], а -[-x]: trunc(-3.14)=-3, хоча в математиці [-3.14]=-4. За числовим значенням x, цілим або дійсним, можна обчислити дійсне значення "математичної функції" | x |, sin x, cos x, arctg x, e x, ln x та ін. Вираз із числовим значенням записується як аргумент у виклику функції з ім'ям відповідно abs, sqrt, sin, cos, arctan, exp, ln або sqr, наприклад, abs(-2), sqrt(1-sin(x)), arctan(sin(1)/cos(1)), exp(ln(x)). Значення аргументу у викликах тригонометричних функцій виражає кількість радіан, а не градусів. Крім того, виклик функції sqr(x) за дійсним значенням x породжує дійсне значення x2, а за цілим – ціле. У системі Турбо Паскаль означено також нульмісну функцію Pi (її значенням є число, близьке до числа ) й одномісні функції Frac і Int, застосовні лише до дійсних. Вони задають обчислення дробової частини й дійсного подання цілої частини свого аргументу. Наприклад, sin(pi/2)=1.0, frac(3.1415)=0.1415, int(3.1415)=3.0. Дійсні значення й операції, застосовні до них, утворюють типдійсних з ім'ям real. 3) CHAR (символьний тип). Значенням символьної величини є один символ (літера, цифра і т.ін.). Всі символи занесено в спеціальну таблицю у певному порядку. Порядковий номер символу є кодом цього символу. Всього в таблиці 256 символів (порядкові номери від 0 до 255). Значення символьного типу записується у вигляді символу, взятого в одинарні лапки (апострофи). Для того, щоб представити сам апостроф, його потрібно повторити два рази. Приклади: ' А ' ' Ь ' ' 7 ' '; ' ' '' ' – так може бути представлений сам апостроф Коди великих та малих літер — різні. Оскільки символи мають порядкові номери (коди), то до них можна застосовувати лише операції порівняння одного з іншим. Наприклад, латинські літери розташовано в таблиці кодів в алфавітному порядку, тобто символ ' А ' має мінімальний код, a ' Z ' — максимальний (в ланцюжку великих латинських літер). Тому можна записати: 'А' < ' F ' 'Y' > 'C' 'E' < > 'G' 4) BOOLEAN (булевий або логічний тип).Величини цього типу приймають одне з двох значень: TRUE (істина) чи FALSE (хибність). Слова TRUE і FALSE є булеві константи. До булевих операндів можна застосовувати такі операції: AND (логічне І), OR (логічне АБО), NOT (логічне НЕ). Якщо А, В, С — булеві змінні, то мовою Паскаль булевими виразами будуть, наприклад: A and В В and (C or A) and A Результатом операції AND буде істина (TRUE) тільки у тому випадку, коли обидва операнди мають значення TRUE, інакше результатом буде хибність (FALSE). Результатом операції OR буде Істина (TRUE), якщо хоча б один із операндів мас значення TRUE (АБО один, АБО інший, АБО разом), інакше результатом буде хибність (FALSE). Результатом операції NOT (HE) завжди є протилежна величина (якщо А є TRUE, то NOT А є FALSE). Якщо вираз не має дужок, порядок виконання операцій такий: спочатку NOT, потім AND і, наприкінці, OR. Крім булевих операцій, булеві значення мають операції відношення: =, <>, >, <, > =, <= Наприклад: 3.2<5.1 є TRUE 7=8 є FALSE 'D' > 'A' є TRUE

 

Стандартні функції. Вирази.
Стандартні функції Більшість інших операцій по обробці величин виконують стандартні функції. Функція має ім'я (ідентифікатор), за яким вказано один чи більше аргументів. При зверненні до функції викликається готова вбудована в транслятор програма обробки, якій, в якості вхідних величин, передаються аргументи функції. Результат повертається в головну програму через ім'я функції. Ось список основних функцій: abs(x)— абсолютна величина (модуль) х. Аргумент х — цілий або дійсний. Результат — відповідно цілий або дійсний. sqr(x)— число в квадраті. Аргумент х — цілий або дійсний. Результат — відповідно цілий або дійсний. sqrt(x)- обчислення кореня квадратного. Аргумент і результат – дійсні; х>=0 trunc(x) — відкидає дробову частину х. Аргумент — дійсний, результат — цілий. Якщо y:= trunc (3.5) то значення змінної y буде дорівнювати 3. round(x) — округлення х до найближчого цілого. Аргумент — дійсний, результат — цілий. Якщо y:= round (3.5) то значення змінної y буде дорівнювати 4. pred(x) — якщо х — ціле, дає попереднє ціле число, якщо х — символ, дає попередній символ, якщо х — нижня границя діапазону, то результат не визначено; х не повинний бути REAL. Якщо y:= pred (3) то значення змінної y буде дорівнювати 2. succ(x)— аналогічно дає наступне значення; якщо х — верхня межа, результат не визначено; х не повинний бути REAL. Якщо y:= succ (3) то значення змінної y буде дорівнювати 4. sin(x) - x — в радіанах, результат — дійсне число. cos(x) - x — в радіанах, результат — дійсне число. arctan(x) - х — дійсне, результат — значення в радіанах. ln(х) - натуральний логарифм, х>0, х і результат — дійсні. ехр(х) — e в степені х. Експонента х — дійсне. Для піднесення х до будь-якого степеня у (х ^ у) можна користуватися формулою: x ^ у = ехр(у * ln(х)) ord(x)— дає код символьної величини х. Приклад: ord(‘B') = 66 chr(x)- дає символ, код якого дорівнює цілому х. Приклад: chr(66)=B Вирази Вирази складаються з операцій, припустимих для величин, що використовуються. Послідовність виконання операцій така: 1) операції в круглих дужках; 2) функції; 3) not; 4) *, /, div, mod, and (операції типу множення); 5) +, -, or (операції типу додавання); 6) =, >, <, <=, >= (операції типу відношення). Правила використання виразів: 1. Вираз записується в один рядок. 2. У виразах використовуються тільки круглі дужки, причому кіль­кість дужок, що відкриваються, повинна відповідати кількості дужок, що закриваються. 3. Не можна записувати підряд два знаки арифметичних операцій. Операції одного старшинства виконуються послідовно зліва направо. Згідно з цим, вираз (a=b) or (c=d) не еквівалентний a=b or c=d. Тому, слід дуже уважно стежити за старшинством операцій і необхідним порядком їх виконання. Особливість полягає в тому, що всі вирази записуються одним рядком. Таким чином, складні дроби потрібно записувати так: спочатку обчислюється чисельник (взятий в дужки), потім — знаменник (також взятий в дужки) і, нарешті, сам дріб (записаний за допомогою косої риски, що означає ділення).



Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 348; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.