КАТЕГОРИИ: Архитектура-(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) |
Константи
Текстовий тип Символьний тип (char) Множиною значень цього типу є символи, впорядковані відповідно до розширеного набору символів коду ASCII. При виклику функції Ord(Ch), де Ch - значення символьного типу, повертається порядковий номер Ch. Рядкова константа з довжиною 1 може позначати значення константи символьного типу. Будь-яке значення символьного типу може бути отримане за допомогою стандартної функції Chr. Крім того, до значень типу char, як і до значень інших порядкових типів, також можуть бути застосовані функції Pred і Succ. Символьні дані поміщуються в апострофи (лапки). Рядкові типи З точки зору структур даних рядкові типи, на відміну від інших стандартних типів, є структурованими типами. Однак, враховуючи широке використання рядків в програмуванні, в Turbo Pascal для них введені стандартні типи String і PChar. Рядковий тип даних дозволяє представити послідовність символів максимальної довжини – 255. Довжина рядка вказується в квадратних дужках. Наприклад, string[12] визначає рядок довжиною 12 символів. Якщо довжина рядка не вказана, приймається максимальна довжина рядка. Рядкові дані поміщаються в апострофи. Наприклад, рядок ‘Інформатика.’ має 12 символів. Вказівний тип Стандартний вказівний тип має ідентифікатор Pointer. Значеннями змінних і констант вказівного типу є адреси оперативної пам’яті, які складаються з адреси сегмента (1 слово=2 байта) і зміщення (1 слово=2 байта). Адреса сегмента зберігається в старшому слові, а зміщення – в молодшому слові повної адреси. Стандартний текстовий тип Text використовується для опису текстових файлів і детально буде розглядатись, коли будемо вивчати файли. Структуровані типи та типи користувача ми також будемо вивчати в наступних лекціях. Означення Константа – це об’єкт, який під час виконання програми не змінюється. Тип констант визначається за виглядом їх запису. У кожній мові програмування існують свої правила зображення констант. У мові Pascal до констант, що найчастіше використовуються, відносяться десяткові цілі і дійсні числа, логічні константи, символьні і рядкові. Існують правила запису констант, завдяки яким транслятор розпізнає їх тип. Цілі десяткові числа записуються за звичайними правилами в діапазоні від -2147483648 до +2147483647, наприклад: -17; 193. Дійсні десяткові числа записуються у такому вигляді: ціла частина, крапка, дробова частина, маленька або велика літера Е і показник. Приклади: 200Е2; -31.4Е-1; –2.5, що, відповідно, означає: 20000; -3,14; -2,5. Шістнадцяткові цілі числа записуються шістнадцятковими символами, перед якими розміщується знак долара, наприклад: $А5С, -$5В. Логічні константи мають значення true (істинно) або false (хибно). Символьна константа – це будь-який один символ комп’ютера, поміщений в апострофи, наприклад: ‘a’, ‘Y’. Символ може бути заданий також внутрішнім кодом, перед яким вказується символ #, наприклад: #97 (символ а), #90 (символ Z). Рядкова константа – це будь-яка послідовність символів комп’ютера (крім символу CR – повернення каретки), поміщена в апострофи, наприклад: ‘х+у=‘; ‘Київ – столиця України’. Максимальна довжина рядкової константи – 255 символів. У мові Pascal часто використовуються так звані іменовані константи, тобто константи, яким присвоюються імена (ідентифікатори), які надалі використовуються замість констант. Імена констант у програмі присвоюються до описання змінних. Тип константи визначається автоматично на основі її значення. У мові Pascal припускається використання типізованих констант, які можуть змінювати своє значення у процесі виконання програми. Тому ці константи можна враховувати як змінні. Однак за правилами їх запису вони ближчі до констант. Формально, типізовані константи відрізняються від іменованих тим, що після імені константи вказується її тип. Типізовані константи можуть бути будь-якого типу (простого, рядкового, масиву та ін.), крім файлів. Арифметичні вирази У математиці та фізиці послідовність виконання дій з числовими даними визначають формули, наприклад, h=gt2/2, s=vt. Вираз gt2/2 є складовою формули. Поняття виразу в мові програмування відповідає поняттю математичного виразу. Вираз визначає правило обчислення певного значення і складається із операндів, знаків операцій та круглих дужок. Операндами виразу в загальному випадку можуть бути: константи, змінні, функції. Найпростіший вираз складається з одного операнду. Прикладами таких виразів є: а – змінна, 5.3 – константа, sin(x) – функція. Приклад більш складного виразу: 3.5+ a - sin(x). Залежно від типу результату обчислення розрізняють такі типи виразів: Ø арифметичні (результат арифметичного типу); Ø логічні (результат логічного типу); Ø текстові (результат текстового типу). У арифметичних виразах мови Pascal використовуються такі знаки операцій: + – додавання, – – віднімання, / – ділення, * – множення і т.д. При записуванні арифметичних виразів необхідно враховувати пріоритет операцій і дотримуватись таких правил: 1. Вирази записуються у рядок без будь-яких підрядкових або надрядкових знаків. Наприклад, запис 5*(а+b)2 заборонений. Правильним, наприклад, буде такий запис: 5*(a+b)*(a+b). 2. Операції повинні бути задані у явному вигляді. Неправильно писати 5(а+b). Його потрібно записати у такому вигляді: 5*(а+b). 3. Не дозволяється запис двох операцій, що безпосередньо розміщуються одна за одною. Наприклад, вираз а*–b записаний неправильно. Його можна записати, наприклад, так: а*(–b) або –b*а. 4. Операції у виразах виконуються зліва направо у порядку пріоритетності операцій. 5. Кожній дужці, що відкривається, у виразі повинна відповідати дужка, що закривається. Неправильно писати (a+b)*z). Його треба записати у вигляді (a+b)*z або ((a+b)*z).
Зауваження Якщо операнди виразу відносяться до різних типів даних, то автоматично виконується перетворення цих операндів до одного типу. Наприклад, якщо у виразі а+b число а – ціле десяткове, а число b – дійсне десяткове, то число а буде перетворене до дійсного типу і додавання буде виконуватися над дійсними числами. Результатом виразу буде також дійсне десяткове число. По кількості операндів операції діляться на унарні і бінарні. Унарні операції мають тільки один операнд, перед яким розташовується символ операції. Більшість операцій є бінарними і містять два операнда, між якими ставиться символ операції. Порядок обчислення значення арифметичного виразу, визначається: ü пріоритетом операцій; ü порядком слідування операцій зліва направо; ü дужками. По пріоритету всі операції діляться на чотири групи. Операції першого (найвищого) пріоритету виконуються в першу чергу. Операції четвертого (найнижчого) пріоритету виконуються в останню чергу. Операції з рівним пріоритетом виконуються зліва направо. Дужки слугують для зміни звичайного порядку опрацювання операцій. Підвираз в дужках спочатку обчислюється як окремий операнд, а потім його результат використовується для виконання операції поза дужками.
Класифікація операцій по пріоритетах
Класифікація операцій По характеру виконуваних дій операції можна розділити на наступні групи: 1. Арифметичні операції: Ø унарні (+, –); Ø бінарні (+, –, *, /, div, mod. 2. Операції відношення: =, <>, <, >, <=, >=. 3. Логічні операції: not, and, or, xor. 4. Порозрядні логічні і зсувні операції: not, and, or, xor, shl, shr. 5. Рядкова операція (конкатенація): +. 6. Операції над множинами: +, –, *, in, <=, >=. 7. Операція взяття адреси: @. Арифметичні операції Суть цих дій особливих пояснень не потребує. Слід тільки пам’ятати: ü якщо операнди різних типів, то тип результату буде більш охоплюючий ü тип результату операції ділення завжди буде дійсним.
Операції відношення Дія операцій відношення відповідає їх математичному розумінню. Результатом цих операцій є логічне значення (True, False). При використанні операцій відношення для рядкових значень, порівняння виконується посимвольно зліва направо згідно значенням кодів символів розширеного набору ASCII. Всі рядкові значення незалежно від довжини вважаються сумісними. Крім того, значення символьного типу також вважаються сумісними зі значеннями рядкового типу і опрацьовуються як рядки довжиною в один символ. При порівнянні операндів вказівного типу допустимо використання тільки операцій = і <>. Два вказівника рівні тоді і тільки тоді, коли вони посилаються на один і той самий об’єкт.
Логічні операції (правила виконання)
Логічні операції
Порозрядні і зсувні операції Порозрядні операції в Turbo Pascal можуть мати операнди тільки цілого типу. Дія цих операцій виконується порозрядно (побітово) над двійковим записом операндів. Результатом операції not буде цілочислене значення, рівне десятковому числу, яке відповідає порозрядно інвертованому двійковому запису початкового операнда. Результатом операції and буде цілочислене значення, рівне десятковому числу, яке відповідає двійковому запису порозрядно виконаної над початковими операндами логічної операції І. Результатом операції or буде цілочислене значення, рівне десятковому числу, яке відповідає двійковому запису порозрядно виконаної над початковими операндами логічної операції АБО. Результатом операції xor буде цілочислене значення, рівне десятковому числу, яке відповідає двійковому запису порозрядно виконаної над початковими операндами логічної операції виключне АБО Результатом операції A shl B буде цілочислене значення, рівне десятковому числу, отриманому в результаті порозрядного зсуву вліво двійкового запису операнда А на В розрядів. Ті розряди, що при цьому звільнилися заповнюються нулями. Результатом операції A shr B буде цілочислене значення, рівне десятковому числу, отриманому в результаті порозрядного зсуву вправо двійкового запису операнда А на В розрядів. Ті розряди, що при цьому звільнилися заповнюються нулями.
Приклади:
Рядкові операції Для позначення операції конкатенації (зчеплення) двох рядків або символів в Turbo Pascal використовується такий самий символ, як і для операції додавання (+). Результатом цієї операції буде рядок, що складається з символів обох операндів, в якій символи другого операнда приєднуються в кінець символів першого операнда. Якщо довжина результуючого рядка перевищує 255 символів, то вона урізається до 255 символів.
Операції над множинами Операції над множинами виконуються за правилами теорії множин. Результатом операції об’єднання двох множин А + В буде множина С, що включає як всі елементи множини А, так і всі елементи множини В. Результатом операції різниці двох множин А – В буде множина С, що складається тільки з тих елементів множини А, які не входять у множину В. Результатом операції перетину двох множин А * В буде множина С, що складається тільки з тих елементів, які належать як множині А, так і множині В. Зауваження Якщо найменше порядкове значення, що є результатом операції над множинами це X, а найбільше Y, то типом результату буде set of X..Y. Результатом операції порівняння А = В буде True, а операції А <> В буде False, тільки тоді, коли А и В містять ті самі елементи. Результатом операції порівняння А <= В буде True, якщо множина А є підмножиною множини В. Результатом операції порівняння А >= В буде True, якщо множина А містить у собі всі елементи множини В, Результатом операції належності X in А буде True, якщо значення X якого-небудь порядкового типу Т є елементом множини А того ж типу Т.
Дата добавления: 2013-12-13; Просмотров: 522; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |