X


Każdy jest innym i nikt sobą samym.

il
,..**,
Cb
PROSTY
�A�CUCHOWY
WSKA�NIKOWY
RZECZYWISTY
STRUKTURALNY
BOOLEAN BYTEBOOL WORDBOOL LONGBOOL
REAL
SINGLE DOUBLE
EXTENDED COMP
TABLICOWY REKORDOWY O Bi EKTOWY ZBIOROWY PLIKOWY
CA*KOWITY
INTIGER SHORTINT LONGINT
BYTE WORD
ZNAKOWY
WYLICZENIOWY OKROJONY
PROCEDURALNY
106
P. Micha�kiewicz, I. �wituszak
Programowanie w Turbo Pascal 7.0
Typydanych
Ka�da sta�a, zmienna, wyra�enie czy te� funkeja jest okre�loneg� typu, Typ ten dok�adnie charaktery�uje �bi�r wartu�ci �r�yjmowanycl� p�*zez wy�ej wymienione elementy. Wj�zyku Turbu �'ascal mo�emy wyr�ni� standardowe typy dla liczb ca�kowitych, rzec�ywistych, znak�w i war*, �ci logicznyeh. Dodatkowo mo�erny okre�li� typy definiowane prze� u�ytkownika. Nale�� do nich ty�: okrojony, wyliczeniowy, wska�nikowy, tablicowy, rekordowy, obiektowy, zbiorowy, plikowy i proceduralny, �*,** Rysunek na sLr.107 przedstawia struktur� typ�w wj�zyku Turbo Pascal.
TYP CA�KOWITY Przyk�ad:
Dane tego typu stanowi� zbi�r lie�b ca�kowitych. Mo�na wyr�ni� pi�� type
podtyp�w ca�kowitych r�ni�eych si� zakresem, a co �� tym idzie, Odleg�o�� = Real;
reprezentacj� bajtow� ka�dego z nich.Warto�ci te przedstawia poni�sza Waga = sinqle;
tabelka:
ZAKRES W BAJTACH ROZMIAR
TYP �A�CUCHOWY
Typ �a�cuehowy s�u�y do deklarowania zmiennych sk�adaj�cych si
Shortint -128..127 ci�g�w znak�w. Dane tego typu zapami�tywane s� jako ci�g znak*
Integer -32768..32767 2 f kt�re s� poprzedzone bajtem okre�laj�cym ich ilo��.Poniewa� lic:
-2147483648..214748364? 4 znak�w okre�lajeden bajt,wi�c typ Stringmo�e sk�ada� si� maksy�
Lon *nt nie z 255znak�w.Definiujemy go za pomoc� s�owa String,za� d�ug
Byte 0..255 *'* �a�cucha definiujemy za pomoc� indeksu,kt�rego warto�� musi b
0..65635 2 ** * * zakresu od 1do 255.Brak indeksu powoduje ustawienie jego wartc
Word na 255.Znak o indeksie 0zawiera inforn�aej� o bie��cej d�ugo�ci dan*
Przyk�ad: * * �a�eucha i mo�na go ode�yta� �� pomoc� funkeji Length('�ekst) l
�***; funkcji Ord(Tekst[0)),gdzie Tekat jest �mienn� �a�cuchow�.Pr�yk�*
type * deklaracji typ�w �a�cuchowych:
Liczba Ca�kowita = integer;
Liczba Ca�kowita Dodatnia = Word; type
a=String;
b=5tring[10];
TYP RZECZYWISTY c=5tring[ 123) ;
Dane tego typu atanowi� zbi�r liczb rzeczywistych. Mo�na wyr�nic pl podtyp�w rzeczywistych r�ni�cych si� zakresem, a co za tyn� idzie, reprezentacj� bajtow� ka�dego � nich oraz liczb� miejsc znacz�cy*b� Waxto�ci te przedstawia tabelka.
*:: W pr�ypadku def�niowania procedury lub funkeji, kt�rej parametr* mog� by� zmienne �a�cuehowe o r�nych d�ugo�ciach, mo�emy u�y� deklaracji identyfikatora OpenString jako nazwy typu albo deklara procedury lub funkeji u�y� ��cznie z dyrektyw� {$P+) kompilato: Otr�ymamy wtedy tzw. �a�cuchy otwarte.
Przyk�ad:
Procedure Dodaj ( var Tekst : Openstring );
108 P. Micha�kiewicz, I. �wituszak Programowanie w Turbo Pascal 7.0
1 Sp+y
Procedure Dodaj( var Tekst : 5tring ); begin end; ISP-1
Dla tak zdefiniowanej procedury Dodaj i dla nast�puj�cych zmiennych
uar
x:5t�ing;
y:5tring[15];
wywo�ania poni�aze a� poprawne:
Dodaj(x); Dodaj(y);
�a�euchy o wi�ks�ej d�ugo�ci mo�emy twor�y�, wykorzystuj�c typ PCh* opisany w typach wska�nikowych.
T Y P Pft OCEDURALNY
W przeciwie�stwie do standardu j��yka Paacal, j�zyk Turbo Pascal� traktuje procedury i funkejejako elementyj�zyka, kt�re mo�na przywi** zywa� do zmiennych i przesyla�jako parametry. Deklarowanie zmiennej' tego typu jest podobne do delilaracji funkeji lub procedury, a r�ni siaf tym, �e po slowie funetion lub procedure nie wyst�puje identyfikatat� funkcji lub procedury. Przyklady deklaracji typ�w proceduralnych: *
type
a=Procedure;
b=Procedure(n:Real);
c=Function(m:5tring):Char;
Nale�y pami�ta�, �e �mienne tego typu nie mog� by� zwracane funkej�.
TYP WYLICZENIOWY
Typ wyliczeniowy definiuje zbi�r identyfikator�w oznac�aj�cych posze g�lne warto�ci przez ich wyliczenie. Przykladowe typy wylic�eniowe:
170 P. Micha�kiewicz, I. �wituszak
Dzie� Tygodnia=(pon,wto,�ro,czw,pi�,sob,nie); P�e�=(m��ezyzna,kobieta);
Uporz�dkowanie danych typu wyliczeniowego wynika � kolejno�c wyst�powania na li�cie identyfikator�w ijest okre�lane lic�b� porz� w�. Liczba porz�dkowa dla danej okre�lonej pr�e� pierwszy identy tnr jest r�wna zero i dla ka�dej nast�pnej jest o jeden wi�ksza. Li porz�dkow� wyznacza si� za pomoc� funkeji Ord. Za pomoc� funkeji ; i Succ mo�emy wyznae�y� popr�ednik i nast�pnik danej warto�ci wyliczeniowego, �a� za pomoc� funkeji Low i High najmniejsz� i naj ks�� warto�� z danego �akresu.
TYP OKROJONY
Typ okrojony okre�la podzbi�r dowolnego typu porz�dkowego lub v :yt � ezeniowego, kt�ry ogranic�a zakres dost�pnych warto�ci danego t r***r porz�dkowego. Przykladowe typy okrojone:
type
Rok=1990..1999;
Ma�e Litery='a'..'z';
;:
**b'*' Dla zmiennej R typu Rok mo�emy podstawi� tylko warto�ci z zakresi 1990 do 1999, za� podstawienie innych warto�ci powoduje b��d.
TYP LOGICZNY
t::*`
Typ logiczny jeat to typ wylie�eniowy, kt�ry przyjmuje dwie warb ' okre�lane za pomoc� identyfikator�w False i True. Mo�emy wyr�:
nast�puj�ce typy logiczne:
ROZMIAR W BA*TTACH Boolean 1 ByteBool 1 WordBool 2 Lon Bool 4
Programowanie w Turbo Pascal 7.0
j*yp 1*u01e�� �lUZC *7lLy*uivw�u u,yinv - r-- z
pozoata�e typy logic�ne mog� przyjmowa� r�ne wartu�ci porz�dkowe. Podaumowuj�c, typ logiczny przyjmuje wa�to�� False,je�elijego warto�� porz�dkowa jest r�wna 0, �a� True dla warto�ci wi�kszych od zera.
'1'YP ZNAKOWY
Typ znakowy okre�la zbi�r znak�w okre�lonycl� przez rozszerzony zbi�r znak�w ASCII. Warto�� �orz�dkowa, kt�r� rno�erny odczyta� za pomoe� funkcji Ord, okre�la kod danego znaku. Przyk�adowe typy �nakowe:
type
Znak=Char Litera=Char;
TYP WSKA�NIKOWY
Typ wska�nikowy �ozwala na okre�lenie zmiennycl�, za pon�oc� kt�rych * mo�emy odwo�a� ai� do obszar�w pami�ci operacyjnej. Wyr�niamy ! naat�puj�ce trzy deklaracje typu wska�nikowego:
type
Wsk*l = " Typ podstawowy;
Wsk 2 = Pointer;
Wsk 3 = P Char;
Dehlar�cja 1
Deklaracja pierwsza okre�la typ wska�nikowy s�u��cy d o deklaracji

Drogi użytkowniku!

W trosce o komfort korzystania z naszego serwisu chcemy dostarczać Ci coraz lepsze usługi. By móc to robić prosimy, abyś wyraził zgodę na dopasowanie treści marketingowych do Twoich zachowań w serwisie. Zgoda ta pozwoli nam częściowo finansować rozwój świadczonych usług.

Pamiętaj, że dbamy o Twoją prywatność. Nie zwiększamy zakresu naszych uprawnień bez Twojej zgody. Zadbamy również o bezpieczeństwo Twoich danych. Wyrażoną zgodę możesz cofnąć w każdej chwili.

 Tak, zgadzam się na nadanie mi "cookie" i korzystanie z danych przez Administratora Serwisu i jego partnerów w celu dopasowania treści do moich potrzeb. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

 Tak, zgadzam się na przetwarzanie moich danych osobowych przez Administratora Serwisu i jego partnerów w celu personalizowania wyświetlanych mi reklam i dostosowania do mnie prezentowanych treści marketingowych. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

Wyrażenie powyższych zgód jest dobrowolne i możesz je w dowolnym momencie wycofać poprzez opcję: "Twoje zgody", dostępnej w prawym, dolnym rogu strony lub poprzez usunięcie "cookies" w swojej przeglądarce dla powyżej strony, z tym, że wycofanie zgody nie będzie miało wpływu na zgodność z prawem przetwarzania na podstawie zgody, przed jej wycofaniem.