Смекни!
smekni.com

Типи даних алгоритмічної мови TURBO Pascal Стандартні функції і оператори роботи з рядками (стр. 1 из 2)

Житомирський військовий інститут

Національного авіаційного університету

Реферат

на тему:

Типи даних алгоритмічної мови TURBOPascal.

Стандартні функції і оператори роботи з рядками

Житомир 2010

План

1. Структура (класифікація) типів даних мови T.Pascal

2. Прості типи даних

3. Структуровані типи даних. Масиви даних

4. Стандартні модулі T.Pascal, їх призначення

5. Символьні масиви

6. Визначення рядкового типу даних

7. Основні операції над рядковими даними

8. Стандартні засоби обробки рядків: процедури і функції

1.Структура типів даних

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

Класифікація типів даних

2. Прості типи даних

До простих відносять реальні та порядкові типи даних.

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

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

Порядкові типи

До порядкових типів відносяться: цілі, логічні, символьні, переліку та тип-діапазон.

До будь-якого з них можна використати функції:

ORD(Х)– порядковий номер значення;

PRED(X)порядковий номер попереднього значення;

SUCE(X) – порядковий номер наступного значення;

ORD(PRED(X))=ORD(X)-1;

ORD(SUCE(X))=ORD(X)+1.

Цілітипи

Опис:

Var <ім’я>: integer;

Тип Діапазон значень Довжина, байт
Byte 0…255 1
Word 0…65535 2
Integer -32768…32767 2
ShortInt -128…127 1
LongInt -2147483648…2147483647 4

Byte– довжина в байт;

Word– довжина в слово;

Integer– ціле;

ShortInt – коротке ціле;

LongInt – довге ціле.


Над цими типами визначені операції: “+”, “-“, “*”, div – цілочислове ділення.

При використані процедур і функцій з цілочисловими параметрами слід керуватися відповідністю діапазонів типів. Наприклад: integerвходить в

Longint, byte < word і т.д.

Якщо в виразі використані різні типи, то вони приводять до базового типу – min потужності цілого типу, який не містить результат.

Логічний тип (BOOLEAN)

Значенням цього типу може бути одна з двох констант FALSEабо TRUE.

Для них справедливі правила:

ORD (FALSE) = 0;

ORD (TRUE) = 1;

FALSE < TRUE.

Крім того є 4 стандартні логічні операції:

AND – логічний добуток;

OR – логічна сума;

XOR – сума по модулю “2”;

NOT – логічне заперечення (унарна операція).

Наприклад:

А = TRUE; not A=B

B = FALSE not B=A

A and B=B A or B=A A xor B=A

A and A=A (TRUE) B or A=A B xor A=A

B and A=B A or A=A A xor A=B

B and B=B B or B=B (FALSE) B xor B=B

Опис:

Var<ім’я>:boolean;

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

(character– символ).

Значення символьного типу є множиною всіх символів ПК. Кожен символ має код у значенні 0…255, так званий ASCII(American Standard Code for Information Interchange). Для представлення символів апострофи: ‘A’, ‘B’, …,’*’,’”’,…

Опис:

Var<ім’я>: char;

Символьні значення можна вводити, виводити, присвоювати, порівнювати (при порівнянні використовується порядковий номер кодуASCII).

Стандартні символьні функції:

СHR(код символа) – повертає відповідний символ;

ORD (S)– повертає код символа S.

Приклад :

Var x,y: char;

Begin

Read(x);

Y:=’A’;

If x <y then write ( x’);

End.

Тип переліку.

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

Type

Season = (winter, spring, autumn);

Значенням присвоюються порядкові номери: 0,1,2,3…255. Наприклад:

ord (summer) =2.

Значення можуть бути тільки іменними. Їх можна присвоювати і порівнювати, але не можна вводити і виводити операторами READіWRITE.

Приклад:

Type

Season = (win, spr, sum, out);

Var

b: byte;

c:season;

Begin

readln(b);

c:= season (b);

Case c of

Win : writeln(‘winter’);

Spr : writeln(‘spring’);

Sum : writeln(‘summer’);

Out : writeln(‘outumn’);

End.

End.

Тип – діапазон

Визначається як інтервал значень базового типу (раніш визначеного), яким може бути будь-який порядковий тип:

<ім’я> = <minзначення>..<maxзначення>;

Приклад:

Type

Day = 1..31;

Mounth = 1..12;

Letter = ‘A’..’Z’;

При визначенні типа-діпазона, слід користуватись правилами:

а) – це один символ(без пробілу);

б) ліва границя не повинна перевищувати праву;

в) ім’я повинно бути правильним ідентифікатором (починатись з букви, не співпадати зі службовими словами,тільки латинські букви, цифри та підкреслення).

Реальний тип

Позначає множину дійсних значень в різних діапазонах. ТР підтримує декілька реальних типів, характеристики яких представленні в таблиці:


Тип Діапазон значень Число цифр Довжина байт
Singl 1.5Е-45…3,4Е38 7…8 4
Real 2,9Е-39…1,7Е38 11…12 6
Double 5Е-324…1,7Е308 15…16 8
Extended 3,4Е-4932…1,1Е4932 19…20 10
Comp 1Е-20…1Е20 19…20 8

Реальні типи можна зобразити з фіксованою і плаваючою комами: (17.38) (1738Е-2)

Для прискорення обчислень, можна переопреділяти тип REAL:

Type

Real = dabble; або

Type

Real = extended;

Функції прискорення реальних типів до цілочислених:

Round– скругляєReal до ближнього цілого;

Trunc– усікає realшляхом відкидання дробної частини.

3. Структуровані типи. Масиви даних

Масиви – тип даних, який складається з фіксованої кількості елементів одного типу.

Опис масиву можна виконувати як у розділі TYPE,так і VAR.

TYPE <ім’я масиву> = ARRAY[розмір]OF <тип компонент>.

Тип індексу (діапазон) – будь-який порядковий тип, зокрема LongInt. Тип компонент – будь-який тип ТР, або інший масив.

Приклад:

Type

M1 = array [1..100] of real;

Mat2 = array [1..10] of array [1..20] of integer;

Var

Vector : M1;

Arr1, Arr2 : mat2;

Інакше

Var<ідентефікатор> : array[діапазон] of <тип>;

Приклад:

Var

Vector: array [1..100] of real;

Над змінними масивів можна виконувати операції присвоювання і порівняння.

Арифметичні дії, ввод та вивод не можна виконувати над послідовностями, але можна над їх окремими елементами.

Елемент масиву виділяється конкретним значенням індексу.

Наприклад:

Var X: array [0..99] of real;

Тоді Х[0]– перший елемент,

Х[1] – другий і т.д.

Масив може бути одномірним, двомірним і т.д.

Наприклад:

Var mat2 : array [1..10,1..20] of integer;

Компоненти масиву позначаються;

Mat2 [1,3]; Mat2 [5,8] …;

Так і організовується доступ до елементів двомірних масивів.

Приклад:

1) Введення значень у масив М.

Var M : array [ 1..10 ] of integer;

i : integer;

begin

i := 0;

repeat

i := i+1;

read ( M [ i ] )

until i = 10

end.

2) обчислити значення функції Yi=(a+b+xi)/2, якщо а і b – фіксовані значення; x={3,8,12,20,25}, i=1,N .

var

A,B : real;

i, N : integer;

X, Y : array [1..5] of real;

begin

read (A, B, N);

for i := 1 to N do

begin

read ( X [i] );

Y [i] := (A + B + X[i])/2;

Write ( Y [i] );

end;

end.

Завдання 1: (масиви)

Введення одномірного масиву і виведення у вигляді:

а) вектора-рядка;

б) вектора-стовпчика.

a) Var M : array [1..10] of real;

i : integer;

begin

i := 0;

repeat

i := i + 1;

reat (M [i] );

until i =10 ;

for i := 1 to 10 do

write (X [i] : 5 : 2,’’);

end.

b)Var M : array [1..10] of real;

i : integer;

begin

i := 0;

repeat

i := i + 1;

reat (M [i] );

until i =10 ;

for i := 1 to 10 do

writeln (X [i] : 5 : 2);

end.

4. Стандартні модулі ТР. Їх призначення

Модуль – це окремо транслюєма програмна одиниця.

Підключення модуля до програми виконують за допомогою ключового слова:

USES <ім’я модуля>.

Основна частина засобів ТР розташована в стандартних модулях, які поставляються разом з компілятором.

Існує вісім стандартних модулів:

SYSTEM, DOS, CRT, PRINTER, GRAPH, OVERLAY, TURBO3, GRAPH3

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

Модуль DOS– призначений для забезпечення інтерфейса з програмами ОС.

МодульCRT– містить засоби керування дисплеєм в текстовому режимі, клавіатурою, динаміком. За допомогою його процедур можна змінювати колір, створювати вікна, звукові тона.

МодульPRINTER– забезпечує зв’язок між процесором і принтером.

МодульGRAPH– містить 90 графічних процедур і функцій, які дозволяють відтворювати на екрані точки, відрізки, кола та ін.. фігури різних кольорів і розмірів; засоби замальовування та виводу тексту у графічному режимі.

МодульOVERLAY – розбиває великі програми на сегменти перекриття (оверлейні сегменти), які використовують загальну область пам’яті.