Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Описова частина Pascal-програми



Складається з наступних розділів:

1. Роздiл позначок (мiток).

2. Роздiл констант.

3. Роздiл типiв.

4. Роздiл опису змiнних та масивiв.

5. Роздiл процедур та функцiй.

Всi вони, за винятком роздiлу змiнних програми, можуть бути вiдсутнiми, якщо вiдповiднi конструкцii в програмi не передбаченi. Роздiл змiнних обов'язково присутнiй; в ньому описуються типи всiх змiнних та масивiв, що дає змогу транслятору автоматично виявити помилки допущенi програмiстом в тому випадку, якщо вiн використовує неописаний або неправильно описаний iдентифiкатор.

Зауваження. Icнує єдиний випадок коли i роздiл змiнних може бути вiдсутнiй - програма використовує лише оператори виводу констант.

2.1.1.2.1. Розділ позначок (міток)

Будь-який оператор Pascal-програми може бути помiчений. Мiтка - це довiльний iдентифiкатор або цiле додатнє число, попередньо описанi в спецiальному роздiлi. Роздiл мiток починається службовим словом:

LABEL

<список мiток>;

Роздiловим знаком у списку є кома. За допомогою мiток можна видiлити оператори, на якi передбачена передача управлiння з довiльних точок програми. Оператори позначенi мiтками записуються з нового рядка i вiддiляються вiд мiтки двокрапкою:

Приклад:

FINISH:

end.

Порожнiй оператор також може бути помiчений. Наприклад: 20:;

2.1.1.2.2. Розділ констант

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

Роздiл констант починається службовим словом:

CONST

<список констант>;

Роздiловим знаком у списку є крапка з комою (;), а елементи списку - конструкцii виду:

<iдентифiкатор константи> = <значення константи>;

<iдентифiкатор константи>: <тип константи>=<значення константи>;

При необхiдностi змiни константи достатньо змiнити її значення в роздiлi опису констант. Змiна значення константи (не типізованої) в ходi виконання програми недопустима.

2.1.1.2.3. Розділ типів

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

TYPE

<iдентифiкатор типу 1>=<опис типу 1>;

...................

<iдентифiкатор типу N>=<опис типу N>;

Приклад:

TYPE

WORKDAYS= (MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY);

WEEKEND = (SATURDAY,SUNDAY);

2.1.1.2.3.1. Цілочисельний тип

На відміну від мови Pascal, де визначається єдиний цілий тип Integer, Turbo Pascal має п'ять стандартних типів цілих чисел. Характеристики цих типів приводяться в табдиці.

Тип Діапазон значень Формат Розмір (байт)
Shortint Integer Longint Byte Word -128..127 -32768..32767 -2147483648..2147483647 0..255 0..65535 Знаковий Знаковий Знаковий Беззнаковий Беззнаковий  

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

2.1.1.2.3.2. Дійсний тип

На відміну від мови Pascal, де визначається єдиний дійсний тип Real, Turbo Pascal має п'ять стандартних типів дійсних чисел. Характеристики цих типів приводяться в таблиці:

Тип Діапазон значень Значущі цифри Розмір (байт)
Real Single Double Extended Comp 2.9*10-39..1.7*10+38 1.5*10-45..3.4*10+38 3.4*10-324..1.7*10+308 3.4*10-324..1.7*10+308 -263+1..263-1 11-12 7-8 15-16 19-20  

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

Типи Single, Double, Extended та Comp можна використотувати в програмах лише при наявності арифметичного співпроцесора, або ж при включеному емуляторі співпроцесора. Дані дійсного типу подаються в памяті комп'ютера в форматі з плаваючою комою.

2.1.1.2.4. Розділ опису змінних

Роздiл опису змiнних має вигляд:

V AR

<список змiнних>;

Роздiловим знаком в списку є крапка з комою (;), а елементами списку є конструкцiї виду: <iдентифiкатор змiнної>: <тип>. В ролi типу може фiгурувати або стандартний тип, або ж поiменований i попередньо описаний iдентифiкатор нестандартного типу.

В Pascal-програмi за допомогою одного опису можна визначити відразу декiлька змiнних одного i того ж типу.

2.1.2. Арифметичнi вирази та операцiї

Арифметичнi вирази видають як результат цiлi або дiйснi величини. Арифметичний вираз утворюється з числових констант, змiнних, елементiв масивiв або записiв, арифметичних функцiй об'єднаних знаками арифметичних операцiй та дужками.

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

2.1.2.1. Арифметичні функції

Основнi арифметичнi функцii подано в таблиці 1.

Таблиця 1

Функція Матем. вигляд Аргумент Тип аргументу Тип результ. Приклад
Abs(x) Sin(x) Cos(x) Arctan(x) Exp(x) Ln(x) Sqr(x) Sqrt(x) Frac(x)   Int(x)     Random(I)   |x| sin x cos x arctg x e^x ln x x^2 x^(1/2) дробна частина найменша ціла част. числа Випадкове число в межах [0,I]   радiан радiан радiан   x>0   x>=0 IBR Real Real Real Real Real IBR Real Real   Real     Real     IBR Real Real Real Real Real IBR Real Real   Real     Real     Abs(-56)->56   e = 2.718282   Frac(2.75)->0.75   Int(1.2)->1 Int(-3.4)->-4  

Цікаво порівняти результати використання арифметичної функції Int та фунцій перетворення типу Round і Trunc.

Нехай маємо два числа x=2.7 та y=-2.7. Тоді можемо записати:

Int(x)=2.0 Int(y)=-3.0

Round(x)=3 Round(y)=-3

Trunc(x)=2 Trunc(y)=-2

2.1.2.2. Скалярні функції

Розглянемо скалярнi функцiї Pascal та їх використання в арифметичних виразах.

1. Pred(s) - видає елемент, що є попереднiм до s.

Приклади:

Pred(80) => 79; Pred(-5) => -6; Pred ('b') => 'a'.

2. Succ(s) - видає значення, що слiдує за s.

Приклади:

Succ (90) => 91; Succ(-4) => 5.

2.1.2.3. Арифметичні операції мови Pascal

Арифметичні операції виконують арифметичні дії в виразах над значеннями операндів цілочисельних та дійсних типів. Перелік арифметичних операцій подано в таблиці 2.

Таблиця 2

Операція Дія Типи операндів Тип результата
Бінарні:      
+   -   *   /   div mod and shl shr or xor Додавання   Віднімання   Множення   Ділення   Цілочисельне ділення Остача від ділення Арифметичне (і) Зсув вліво Зсув вправо Арифметичне (або) Викючаюча диз'юнкція Цілий Дійсний Цілий Дійсний Цілий Дійсний Цілий Дійсний Цілий Цілий Цілий Цілий Цілий Цілий Цілий   Цілий Дійсний Цілий Дійсний Цілий Дійсний Дійсний Дійсний Дійсний Дійсний Цілий Цілий Цілий Цілий Цілий  
Унарні      
+ - not Збереження знаку Зміна знаку Арифметичне заперечення     Цілий     Цілий

Зауваження до таблиці.

1. Додавання та віднімання (+, -) виконуються так само, як в звичайних арифметичних виразах. Допускається змішування типів: Byte, Integer, Real, - в одному арифметичному виразi. При цьому результат автоматично перетворюеться до типу, що займає максимум мiсця в пам'ятi комп'ютера.

2. Операцii множення (*) та дiлення (/) виконуються з даними типу: Integer, Byte, Real.

3. Операцiя цiлочисельного дiлення (div) вiдрiзняється вiд звичайного дiлення тим, що результат є цілочисельною величиною.

Прiоритети виконання операцiй в арифметичному виразi:

1. Обчислення функцiй.

2. Унарні операції.

3. Операцiї: /,*, div, mod

4. Операції: and,or,shl,shr

5. Операції: +, -





Дата публикования: 2014-11-04; Прочитано: 1615 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...