.

Тип символів та інші перелічувані (реферат)

Язык: украинский
Формат: реферат
Тип документа: Word Doc
0 1455
Скачать документ

Реферат на тему:

Тип символів та інші перелічувані

1. Тип символів

Нарешті ми розглянемо останній з базових типів – тип символів. Множина
символів, представних у сучасному комп’ютері, як правило, складається з
256 елементів.

У мові Паскаль символ позначається символьною сталою, що є символом в
апострофах: ‘A’, ‘1’, ‘.’ тощо. Сам символ “апостроф” задається
символьною сталою ””.

Символьна стала – це не символ, а його позначення в мові Паскаль.

Не всі символи позначаються сталими мови Паскаль, але будь-який символ
можна задати за допомогою виклику функції chr. Символам у комп’ютері
ставляться у відповідність номери від 0 до 255. Якщо i – цілий вираз із
значенням від 0 до 255, то вираз вигляду chr(i) задає символ із номером,
що є значенням i. Відповідність символів та номерів від 0 до 127
зафіксовано в Американському стандартному коді для обміну інформацією
(ASCII). Наприклад, chr(48) позначає те ж саме, що й стала ‘0’,
chr(48+1) – то ж саме, що ‘1’, chr(65) є синонімом сталої ‘A’, chr(97) –
сталої ‘a’.

Цілий номер символу породжується викликом функції “порядковий номер”,
тобто виразом вигляду ord(c), де значенням виразу c є символ. Наприклад,
ord(‘0’)=48, ord(‘A’)=65, ord(‘a’)=97. За своїм означенням, функції chr
і ord взаємно обернені, тобто chr(ord(c))=c за будь-якого символу c, і
ord(chr(n))=n за будь-якого n=0, 1, … , 255.

Крім функції ord, для символів означені порівняння, причому

a‘a’; е) ord(‘9’)-ord(‘0’).

6.3. Написати вираз, що задає перевірку, чи є значення символьної
змінної ch:

а) цифрою від ‘0’ до ‘9’; б) малою латинською буквою;

в) латинською буквою (великою чи малою).

6.4.* Написати вираз, що задає обчислення:

а) цілого числа від 0 до 9 за значенням символьної змінної ch від ‘0’ до
‘9’;

б) символу від ‘0’ до ‘9’ за цілим значенням змінної dg від 0 до 9.

6.5.* У шістнадцятковій системі числення літерами ‘A’, ‘B’, … , ‘F’
позначають числа, що в десятковій системі зображаються відповідно як 10,
11, … , 15. Написати оператор, що задає обчислення:

а) цілого числа від 0 до 15 за значенням символьної змінної ch, яким
може бути цифра від ‘0’ до ‘9’ або буква від ‘A’ до ‘F’;

б) символу від ‘0’ до ‘9’ або від ‘A’ до ‘F’ за цілим значенням змінної
dg від 0 до 15.

6.6. Написати програму друкування таблиці символів та їх номерів,
починаючи з символу ‘ ‘ (пропуск), номер якого 32.

6.2. Перелічувані типи

Елементи кожного з типів Boolean, char і integer упорядковані відповідно
до операції порівняння <. false true chr real succ pred ord>, , =.

Типи boolean, char і integer, на відміну від типу real, є
перелічуваними. Операції succ, pred, ord записуються у вигляді викликів
функцій: вирази pred(1), succ(‘a’) і ord(true) мають значення відповідно
0, ‘b’ і 1.

Всі чотири базових типи називаються скалярними, тому що значення цих
типів не складені з частин, які можна було б окремо ідентифікувати. У
наступному підрозділі ми розглянемо спосіб означення власних скалярних
типів. Але всі вони будуть перелічуваними.

У мові Турбо Паскаль для всіх перелічуваних типів означено операції,
аналогічні succ і pred. Вони застосовуються до змінних перелічуваних
типів у вигляді викликів процедур INC і DEC. Виклик inc(z) рівносильний
оператору z:=succ(z), dec(z) – оператору z:=pred(z). У виклику може бути
другий аргумент – цілочисловий вираз. Наприклад, виклик inc(z, 2) задає
збільшення z на дві “одиниці” того типу, до якого належить z. Якщо
змінна z типу char і має значення ‘A’, то в результаті виконання inc(z,
2) її значенням буде ‘C’. Значення виразу може бути й від’ємним – тоді z
зменшиться. Аналогічно за виконання dec(z, 3) значення z зменшується у
його типі, наприклад, від 3 до 0 або від ‘D’ до ‘A’.

6.3. Означення власних перелічуваних типів

Мова Паскаль має засоби означення власних типів, необхідних у створенні
реальних програм.

Носій типу, тобто множина його елементів, задається в означенні імені
типу. Загальний вигляд означення такий:

type ім’я = вираз, що описує елементи множини;

Службове слово type – це англійське “тип”. З виразами, що задають
множини елементів, ми будемо знайомитися поступово.

Найпростіший вираз – це ім’я типу, уже означене вище або ім’я
стандартного типу. Наприклад, означення

type int = integer;

задає нове іменування типу integer. Після цього означення скрізь замість
довгого імені integer можна писати коротке int.

Вирази, що задають множини елементів, можна записувати як в означенні
імені типу, так і на місці імені типу в означеннях змінних. Приклади
наведемо трохи нижче.

Мова Паскаль дозволяє програмісту означати свої власні перелічувані
типи. Вони називаються типами-переліками та типами-діапазонами. Переліки
наочно подають множини таких значень, що природно позначаються словами.
Наприклад, сигнали світлофора або дні тижня.

Множину днів тижня, позначену {Пн, Вт, Ср, Чт, Пт, Сб, Нд} у мові
Паскаль можна задати, означивши тип-перелік з ім’ям, наприклад, Weekd:

type Weekd=(Mon, Tue, Wed, Thu, Fri, Sat, Sun).

Тут ужито скорочення від англійських слів Monday, Tuesday, Wednesday,
Thursday, Friday, Saturday, Sunday – понеділок, вівторок тощо до неділі.

Аналогічно сигнали світлофора можна задати, определив тип Lights:

type Lights=(red, yellow, green) {червоний, жовтий, зелений}

Як бачимо, перелік задається виразом вигляду

( список ідентифікаторів )

Ідентифікатори списку після цього означення виступають сталими
відповідного типу. Сталі не можуть повторюватися в означеннях того
самого блока. Наприклад, якщо разом із типом сигналів світлофора
означити ще тип кольорів райдуги, то використовувати імена red, yellow,
green не можна.

Порядок сталих у списку задає операції ord, pred і succ, означені для
всякого переліку. Наприклад, ord(Mon)=0, ord(Tue)=1 тощо, ord(Sun)=6,
succ(Mon)=Tue, pred(Sat)=Fri. У відповідності зі значеннями ord означено
й порівняння, наприклад, red

Нашли опечатку? Выделите и нажмите CTRL+Enter

Похожие документы
Обсуждение

Ответить

Курсовые, Дипломы, Рефераты на заказ в кратчайшие сроки
Заказать реферат!
UkrReferat.com. Всі права захищені. 2000-2020