Тема: Програмування. Основні етапи розробки прикладних програм

Вид материалаДокументы

Содержание


Begin Repeat
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   14

Begin

Repeat


Writeln (‘введіть символ, клавіша esc - кінець’);

Readln(c);

Case c of

#0..#31: writeln(‘командний’);

A’..’Z’,’a’..’z’: writeln(‘англійська буква’);

0’..’9’: writeln(‘цифра’);

#128..#255: writeln(‘альтернативна частина таблиці’);

end

else writeln (розділовий знак‘’)

until c=#27;

end.

ТЕМА: Система типів мови Pascal.

Мову програмуванняTurbo Pascal відносять до строго типізованих мов. Це означає, що всі елементи програми повинні бути оголошені явним чином. Явне оголошення типу визначає діапазон допустимих значень та допустимими операціями.

Компілятор мови здійснює перевірку типів у всіх типів даних.

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

ТИПИ МОВИ ПРОГРАМУВАННЯ TURBO PASCAL:
  1. Скалярні / прості / стандартні типи даних:

а) Цілі або цілочисельні типи

В Pascal є 5 типів цілих чисел. Поділ на ці типи пов’язаний із діапазоном допустимих значень і розміром комірок пам’яті.

Тип

Діапазон

розмір в байтах

Byte

0..255

1

Shoting

-128..127

1

Integer

-32768..32767

2

Word

0..65535

2

longint

-2147483648..2147483647

4

Над цілими числами виконуються 4 операції:

ціле + ціле = ціле ціле * ціле = ціле

ціле – ціле = ціле ціле / ціле = дійсне

Також використовуються 2 операції:

Div, mod – результат цілий.

Наприклад

5 div 2 =2 , 5 mod 2 =1.

Необхідно відзначити, що, при виході значень даних цілого типу за вказаний діапазон, помилки виконання програми не виникає, але результат при цьому буде неправильний.

Наприклад

при виконанні додавання чисел 32767+1 отримаємо результат -

-32768.

б) Дійсні типи

B Pascal є 5 типів дійсних чисел. Поділ на ці типи визначається розміром у пам’яті, а отже, діапазоном допустимих значень.

Тип

Діапазон

розмір в байтах

Real

2.9*Е-39..1.7*Е38

11

Single

1.5*Е-45..3.4*Е38

7

Double

5.0*Е-324..1.7*Е308

15

Extended

3.4*Е-4932..1.1*Е4932

19

Сomp

-2*Е63..2*Е63-1

19

Над дійсними числами використовують +, -, *, /, операції порівняння.

В програмі дійсні числа можуть задаватися у двох формах: з фіксованою десятковою крапкою та з плаваючою

У випадку фіксованої крапки запис числа має чотири частини.

[знак] ціле. ціле.

Плаваюча крапка.

[знак] мантиса Е [знак] порядок.

Мантиса є фактично записом числа з фіксованою крапкою без знака. Положення десяткової крапки визначається порядком в записі числа.

По замовчуванню мантиса числа вибирається в межах 1<=мант <10.

в) Логічні типи

BOOLEAN (булевий тип).

Цей тип має всього два значення:

FALSE (хибна), TRUE (істина).

В пам’яті логічний тип займає 1 байт.

False

Над логічними величинами можна виконувати логічні операції.

X

y

or

and

xor

True

True

True

True

False

False

False

False

False

False

True

False

True

False

True

False

True

True

False

True

г) Символьний тип

CHAR.

Pascal використовує всі символи стандарту ASCII (American Standard Code for Information Interchange).

Всього є 256 символів, що кодуються байтовими значеннями від 0 до 255.

Перші 128 символів, що відповідають від 0 до 127 є так званою основною частиною таблиці ASCII.

Вона містить 32 командних символи від 0 до 31. Ці символи не мають зображення і використовуються для передачі команд в системі ЕОМ. Вони вводяться за допомогою комбінацій клавіш.

Входять: 52 англійські букви, 10 арабських цифр і 34 символи розділових знаків.

Останні 128 символи утворюють альтернативну частину таблиці, яка містить символи національних алфавітів та псевдографіки.

Символи в Pascal можуть записуватися або явно, за допомогою пари апострофів (‘a’, ‘G’), або через його код (#64 (A)). Код символа може задаватися в 10-вій і в 16-вій формах.

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

Над символьними типами виконуються операції приведення символів, що дозволяють по коду визначити символ, або навпаки.

CHR (<код>) – визначення символа за кодом;

ORD (<символ>) – визначення коду символа.
  1. Скалярні типи користувача:

а) Перелічувальний тип

Pascal дозволяє будувати скалярні типи даних довільної природи шляхом оголошення повної сукупності його елементів. При цьому перелічення значень здійснюється через розділював кому і обмежується дужками, значення задаються у вигляді певних зображень, згідно з правилом побудови ідентифікаторів мови.

Наприклад

Type rainbow = ( read, orange, yellow, green, blue, dark blue, magenta);

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

Величини перелічувального типу зберігаються однобайтових значень, які відповідають порядку перечислювання їх. Першому значенню відповідає 0.

Кількість елементів перелічувального типу не перевищує 256.

При обробці даних перелічувального типу можна користуватися як значеннями, що задані при оголошені типу, так і відповідними байтовими числами. Другий випадок використовується для реалізації вводу та виводу даних цього типу. Це пов’язано з тим, що стандартні процедури вводу-виводу не допускають використання в якості параметрів вводу-виводу величини перелічувального типу. Це можна здійснити за допомогою механізму перетворення типів даних. А саме: вводиться байтове числове значення, що відповідає деякому із перелічених значень і через ідентифікатори перелічувального типу здійснює присвоєння цього значення.

Наприклад

Var x:rainbow; i:byte;



readln (i);

x:=rainbow(i)

б) Інтервальний тип

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

Оголошується такий тип з заданням значень інтервалу на основі деякого базового типу.

TYPE <ім'я типу> =<константа1..константа2> ;

Наприклад

Type s = 0..9; g = -32768..-1; b = ‘A’..’Z’;

Компілятор сам визначає базовий тип, на основі якого будується інтервальний. Із декількох можливих береться менший за розміром. Інтервальний тип можна будувати на основі перелічування.

Над величинами інтервального типу можна виконувати всі ті ж операції, що й на базових величинах.

Інтервальний тип не можна будувати на основі дійсного, оскільки цей скалярний тип не відноситься до порядкових (дискретних) типів.
  1. Порядкові типи даних:

Із шести розглянутих скалярних типів п’ять мають такі спільні властивості:
  1. Кількість елементів типу є фіксована і визначена наперед.
  2. Всі значення впорядковані за зростанням.
  3. За їх природою між двома сусідніми немає жодного проміжного.

Ці властивості характеризують так звані порядкові або дискретні типи – цілі числа, символи, логічні ( булеві) величини, перелічувальні, інтервальні типи.

Ці типи можуть використовуватися в якості індексів при побудові структурованих типів даних (масивів). Поряд з основними операціями, що стосуються цих типів (логічні, перетворення типів) до дискретних типів застосовують ще дві операції:
  1. Інкрементація.
  2. Декрементація.

Операція 1 позначається INC. Реалізується стандартною функцією inc і збільшує значення аргументу на 1 одиницю відповідного типу.

Операція 2 – DEC. Реалізується стандартною функцією dec і зменшує значення аргументу на 1 одиницю відповідного типу.

Якщо для цих операцій використовувати 2 аргументи, то другий може задавати кількість одиниць відповідного типу, на яку збільшується або зменшується значення аргументу. Якщо 2-й параметр відсутній, то по замовчуванню вважається крок 1.