Typy strukturalne w Turbo Pascalu 2


TYPY STRUKTURALNE W PASCALU

Typy strukturalne w Pascalu reprezentują 4 rodzaje struktur: tablice, rekordy, zbiory i pliki. Ograniczeniem rozmiaru jest ok. 64 kB pamięci (65520 B).

Typ tablicowy składa się z ustalonej liczby elementów tego samego typu składowego (prosty lub łańcuchowy) albo strukturalny. Za pomocą tablic przedstawia się regularne struktury danych np. wektory czy macierze. Dostęp do elementów uzyskuje się za pomocą indeksowania, wyrażeniem zgodnym i będącym w zakresie zdefiniowanego typu tablicowego. Np.:

Type wektor =Array [0..100] Of Integer;

macierz2=Array [1..20] Of Array [1..50] Of Real;

macierz3=Array [1..10,1..20,1..30] Of Real;

tablica =Array [Boolean, 1..20,znak] Of Char; {=Array [Boolean] Of Array[1..20] Of Array [znak] Of Char;}

Typ rekordowy - rekordem w Pascalu nazywamy złożoną strukturę danych, której składowe, nazywane polami, mogą być różnych typów. Poszczególne pola mogą same być strukturami złożonymi. Definicja typu rekordowego określa dla każdego pola jego typ i identyfikator. Rozpoczyna się słowem kluczowym record, po którym następują deklaracje pól, kończy się słowem kluczowym end; Kolejne deklaracje oddziela się średnikami. Ostatnia z nich może być wariantowa (składa się z kluczowego słowa case wyróżnik of wykaz-wariantów). Przykłady zmiennych rekordowych:

Type data=Record

rok : Integer;

miesiac : 1..12; {*typy okrojone}

dzien : 1..31

end;{data}

posiadanie={posiada,nie_posiada};{typ porządkowy}

dana=Record

nazwisko:String [20];

imie :String [15];

data_ur :data;

adres :String[30];

Case dzieci:posiadanie Of

posiada :(data_ur_dziecka:Array[1..10] Of data;

nie_posiada:(znak:Char)

End;{dana}

Typ zbiorowy jest zbiorem potęgowym danego typu rzeczywistego, tzn. jest zbiorem wszystkich podzbiorów tego typu w tym także typu pustego. Definicja ma postać: type identyfikator-typu = Set Of typ-porządkowy; Liczba elementów typu porządkowego, będącego typem bazowym w takiej definicji nie może przekraczać 256, przy czym ich liczby porządkowe muszą należeć do przedziału 0..255. Wartości typu zbiorowego podaje się przez wypisanie listy elementów danego zbioru oddzielonych przecinkami w nawiasach kwadratowych. Zapis [] oznacza zbiór pusty. Np.:

type

dzien_pracy=Set Of [poniedzialek, wtorek, sroda, czwartek, piatek];

znaki =Set Of Char;

male_litery=Set Of 'a'..'z';

miesiac =[sty, lut, mar, kwi, maj, cze, lip, sie, wrz,

paz, lis, gru];

z_mies =Set Of miesiac;

Var nazwa_mies : miesiac;

z_nazw : z_mies;

Typ plikowy jest ciągiem elementów tego samego typu, liczba jego składowych jest zmienna. Reprezentuje fizyczny zbiór danych o dostępie sekwencyjnym. Oznacza to, że aktualnie mamy dostęp do 1 elementu, a do innych można dotrzeć po wykonaniu odpowiednich operacji. Zależy od przebiegu programu, skojarzenia pliku z fizycznym zbiorem danych (na dysku, wyprowadzanych na drukarkę itp). Definicja:

type id_pliku = File Of typ-elementow; id_pliku = File;

typ-elementów oznacza identyfikator dowolnego typu prostego, opis typu porządkowego, strukturalnego lub wskaźnikowego. Istnieje predefiniowany plik tekstowy o nazwie Text, którego elementami są wiersze podzielone na znaki. Na końcu wiersza wstawiona jest para znaków CR/LF (carriage return, line feed = powrót karetki, zmiana linii), koniec pliku znaczy znak ^Z. Pliki tekstowe służą do obsługi dostępnych zbiorów fizycznych przy pomocy klawiatury, monitora, drukarki. Np.:

type dane =File Of Integer;

wyniki =File Of Real;

complex=Record

re, im : Real

End;

var daty : File Of data; {patrz wcześniej}

zesp : File Of complex;

Typy wskaźnikowe - w przeciwieństwie do wcześniej omówionych typów prostych i strukturalnych, które istnieją przez cały czas wykonywania tej części programu, gdzie zostały zadeklarowane (zmienne statyczne) - istnieją zmienne dynamiczne reprezentujące obiekty, dla których pamięć jest przydzielana i zwalniana na wyraźne żądanie. Zmienne te nie posiadają identyfikatorów, a odwołanie do nich następuje przy pomocy wskaźnika. Wartościami wskaźników są elementy typu wskaźnikowego, określające adresy zmiennych dynamicznych. Definicja: Type id_typu=^id_typu_bazowego; gdzie ostatnia nazwa określa typ, którego dane będą wskazywane przez zmienne definiowanego typu wskaźnikowego. Np.:

Type wskaznik=^zapis;

zapis=Rekord

naglowek:Char; tekst:String[30]; numer:Integer

End;{zapis}

Var karta:zapis; {zmienna, która mo*e przybierać wartości typu zapis}

Istnieje predefiniowany typ Pointer, którego zmienne nie wskazują konkretnego typu, są jednak zgodne z dowolnym innym typem wskaźnikowym. Słowo kluczowe nil - oznacza stałą tego typu nie określającą żadnego adresu (adres pusty).

1



Wyszukiwarka

Podobne podstrony:
Turbo Pascal Zmienne i ich typy, Alicja Pary˙
Turbo Pascal kurs, Technik Informatyk, Programowanie strukturalne i obiektowe Turbo Pascal
Typy zmiennych w języku Turbo Pascal
Typy strukturalne w Pascalu
Budowa i opis menu edytora Turbo Pascal 7
Obsługa plików w turbo pascalu
Turbo Pascal Instrukcja przypisania
Turbo Pascal - writeln, ETI Edukacja technicyno inf,, KONSPEKTY, Konspekty
PASCAL kurs, Turbo Pascal - moduly uzytkowe, WSTĘP
PASCAL kurs, Turbo Pascal - moduly uzytkowe, WSTĘP
Wykład 4 Społeczeństwo typy i struktury
Budowa i opis menu edytora Turbo Pascal 7
PASCAL kurs, KURS TURBO PASCALA, KURS TURBO PASCALA - wstęp
Poradnk Turbo Pascal
Struktura organizacyjna, Temat 2: Struktury organizacyjne - typy struktur i ich charakterystyka
Lekcja Turbo Pascala
Typy struktur organizacyjnych8
Na czym polega programowanie w TURBO Pascalu, INFORMATYKA

więcej podobnych podstron