Реферат: Програмування Структури перехід та вибір варіанту типи символів та перелічувані

Не всі символи позначаються сталими мови Паскаль, але будь-який символ можна задати за допомогою викликуфункції 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<b ? ord(a)<ord(b).

Очевидно, наприклад, що ' ' < '_' < '0' < '1' < … < '9' < 'A' < 'B' < ... < 'Z' < 'a' < 'b' < … < 'z'.

До символів застосовна операція катенації, або дописування, що позначається знайомим знаком "+". Їїрезультатом є не символ, а послідовність із двох символів, або рядок. Наприклад, '1'+'2' є послідовністьсимволів, яку можна задати літералом '12'.

Множина символів і операції, означені для них, утворюють тип символів, іменований char. Змінні цього типуназиваються символьними.

Задачі

1). Указати різницю між 0 і '0', A і 'A', - і '-'.

2)Обчислити значення виразу:

а) chr(ord('0')+9); б) chr(ord('A')+1); в) chr(ord('A')+25);

г) chr(ord('0')-16); д) 'Z'>'a'; е) ord('9')-ord('0').

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

а) цифрою від '0' до '9';;

б) латинською буквою.

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

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

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

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

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

Елементи кожного з типів Boolean, char і integer упорядковані відповідно до операції порівняння <. У цьомупорядку їх можна взаємно однозначно зіставити натуральним числам 0, 1, … (перелічити їх). За будь-якимнатуральним числом можна указати наступне за ним і попереднє перед ним (крім числа 0). Так само забудь-яким елементом, крім найбільшого, цих типів можна назвати наступний за ним і за будь-яким елементом,

крім найменшого, – попередній перед ним. Наприклад, наступним за false є true, наступним за chr(0) – chr(1), заchr(254) – chr(255).

Елементи типу real теж упорядковані, але поставити їм у відповідність натуральні 0, 1, … неможливо, як і задійсним числом указати наступне за ним. Отже, всім базовим типам, окрім типу 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'.

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

К-во Просмотров: 194
Бесплатно скачать Реферат: Програмування Структури перехід та вибір варіанту типи символів та перелічувані