Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wprowadzenie do programowania w TP. część 3. Temat: Tablice.

Podobne prezentacje


Prezentacja na temat: "Wprowadzenie do programowania w TP. część 3. Temat: Tablice."— Zapis prezentacji:

1 Wprowadzenie do programowania w TP. część 3

2 Temat: Tablice.

3 Tablica Tablica to struktura będąca uporządkowanym zbiorem elementów. Każdy element posiada własny niepowtarzalny numer pozwalający go szybko odnaleźć. Tablicę można porównać do ponumerowanych wieszaków w szatni: każdemu numerowi odpowiada dokładnie jedna zawieszona kurtka lub płaszcz - okrycie, aby odnaleźć kurtkę wystarczy znać przypisany jej numer.

4 Tablica jednowymiarowa Deklaracja tablicy var tablica = array[1..N] of typ; gdzie tablica – nazwa tablicy [1..N] - rozmiar tablicy od 1 do N typ - typ tablicy (np. integer)

5 Temat Zbiory

6 Zbiory (sets) Zbiory wykorzystuje się do przechowywania kolekcji elementów porządkowych. TYPE zbior = SET OF typ_podstawowy; (w Pascalu liczba elementów do 256)

7 Przykłady TYPE tydzien = (po, wt, sr, cz, pi, so, ni); zbiorliczb = SET OF 0..47; zbiorliter = SET OF 'A'..'Z'; dni_wolne = SET OF pi..ni; Tznakow = SET OF char; Tliczb = SET OF byte;

8 Przykłady var zbiorA, zbiorB, zbiorC: SET OF byte; begin zbiorA := [1,2,5,7]; zbiorB := [3,4,5,6]; zbiorC := zbiorA + zbiorB - [5]; if 5 in zbiorC then writeln (OK); if 1 in zbiorC then writeln (Jest 1); end.

9 Temat Rekordy

10 Rekordy – własne typy danych Czasami zachodzi potrzeba utworzenia własnego typu - rekordu, który będzie przechowywał wymyślone przez nas dane. Przypuśćmy że chciałbyś zbudować prostą bazę danych zawierającą imiona, nazwiska i inne dane swoich klientów. Zamiast przechowywać wszelkie dane w różnych osobnych tablicach, to tworzymy rekord.

11 Przykład type ksiazka=record autor:string[40]; nazwa:string[80]; rokwyd:integer; end; var biblioteka:array[1..50] of ksiazka; // … odwołanie do zawartości rekordu writeln(Autor:,biblioteka[2].autor);

12 Temat Wskaźniki

13 Wskaźniki to adresy pamięci, które pokazują komputerowi miejsce gdzie znajdują się jakieś dane. Pamięć do której odnoszą się wskaźniki można w każdej chwili zwalniać, deklarować i zmieniać.

14 Wskaźniki – uwagi praktyczne Bez wskaźników nie byłoby możliwe nieograniczone tworzenie nowych danych, np. w słowniku. Gdyby nie wskaźniki mielibyśmy z góry określoną liczbę słów, które słownik byłby w stanie zapamiętać, oraz nie moglibyśmy w systemie uruchomić większej liczby programów niż w nim zaplanowano.

15 Przykład var wsk_na_liczbe:^integer; begin clrscr; new(wsk_na_liczbe); wsk_na_liczbe^:=5; writeln('liczba=',wsk_na_liczbe^); dispose(wsk_na_liczbe); end.

16 Typ pointer Typ wskaźników nazywa się pointer. Gdy jakąś zmienną zadeklarujesz jako poiner, będzie ona wskaźnikiem. Wskaźniki mogą adresować różne typy zmiennych. Mogą adresować liczby, napisy, tablice, itd. oznacza pobranie adresu zmiennej. Typ pointer należy rzutować (unikniemy błędu kompilacji) w określony typ.

17 Przykład var wskaznik:pointer; //tworzenie wskaźnika tekst:string; begin clrscr; tekst:=Zwykły tekst'; adresu writeln(string(wskaznik^)); //rzutowanie end.

18 Temat Posługiwanie się wskaźnikami i zmiennymi dynamicznymi

19 Ćwiczenia praktyczne

20 Temat Funkcje i procedury dynamicznego przydziału pamięci

21 Wprowadzenie Dynamiczne struktury danych to takie, w których pamięć może być przydzielana w trakcie wykonywania programu, do tej operacji służą zmienne typu wskaźnikowego i zmienne wskazywane.

22 Wprowadzenie Struktury te mogą być proste i złożone. Za ich pomocą można tworzyć np. dynamiczne struktury listowe, tj. uporządkowane zbiory składników, niekoniecznie o jednakowych typach. Składniki te mogą być elementami prostymi (liczbami, czy pojedynczymi znakami) lub elementami złożonymi (tabliczmi, rkordami, obiektami, listami).

23 Typy struktur listowych stosy kolejki listy jednokierunkowe dwukierunkowe cykliczne drzewa

24 Temat Tworzenie i przetwarzanie dynamicznych struktur danych- stos

25 Stos Stos (stack) jest to struktura danych składająca się z liniowo uporządkowanych zbiorów składników, z których tylko najwyższy jest niejako dostępny. Miejsce dostępu to wierzchołek stosu. Jest to jedyne miejsce, do którego można dołączyć lub z którego można usunąć elementy.

26 Stos Każdy składnik stosu posiada wyróżniony element (wskaźnik), który wskazuje na następujący po nim (aders) składnik Wskaźnik ostatniego składnika stosu wskazuje na pusty adres nil. Wierzchołek stosu to miejsce wstawiania i usuwania danych. DANE DANE wskaźnik DANE DANE wskaźnik DANE DANE wskaźnik DANE DANE wskaźnik wierzchołek nil

27 Temat Tworzenie i przetwarzanie dynamicznych struktur danych- kolejka

28 Kolejki Kolejka (queue) jest strukturą składającą się z liniowo uporządkowanych zbiorów składników, do której można dołączyć składnik tylko w jednym końcu (na końcu kolejki), a usunąć tylko na drugim końcu (na początku).

29 Kolejki Powiązanie między składnikami kolejki jest podobne do powiązań między składnikami stosu. Natomiast usuwamy składniki tylko na początku kolejki, zaś dodajemy na końcu kolejki. DANE DANE wskaźnik DANE DANE wskaźnik DANE DANE wskaźnik DANE DANE wskaźnik wierzchołek nil początek kolejki koniec kolejki

30 Temat Tworzenie i przetwarzanie dynamicznych struktur danych- listy

31 Listy Listą (liniową) nazywamy liniowo uporządkowany zbiór składników, z którego w dowolnym miejscu można usunąć składnik, jak również dodać. Wyróżniamy: listy jednokierunkowe, listy dwukierunkowe, listy cykliczne.

32 Listy jednokierunkowe Organizacja listy jednokierunkowej jest podobna do organizacji stosu bądź kolejki.

33 Listy dwukierunkowe Listą dwukierunkową nazywamy liniowo uporządkowany zbiór składników, w którym dla każdego składnika, poza pierwszym i ostatnim, jest określony składnik poprzedni i następny. wierzchołek nil wskaźnik 1 DANE DANE wskaźnik 2 wskaźnik 1 DANE DANE wskaźnik 2 wskaźnik 1 DANE DANE wskaźnik 2 wskaźnik 1 DANE DANE wskaźnik 2

34 Listy cykliczne Lista cykliczna powstaje z listy jedno- lub dwukierunkowej przez powiązanie ostatniego składnika listy z jej pierwszym składnikiem. W wyniku takiego powiązania wyróżnione składniki (pierwszy i ostatni) przestają pełnić swoje funkcje. W liście cyklicznej żaden ze składników nie jest wyróżniony.

35 Listy cykliczne wskaźnik 1 DANE DANE wskaźnik 2 wskaźnik 1 DANE DANE wskaźnik 2 wskaźnik 1 DANE DANE wskaźnik 2 wskaźnik 1 DANE DANE wskaźnik 2 wskaźnik 1 DANE DANE wskaźnik 2

36 Temat Tworzenie i przetwarzanie dynamicznych struktur danych- drzewa

37 Drzewo binarne DANE DANE wskaźnik 0 wskaźnik 1 DANE DANE wskaźnik 0 wskaźnik 1 DANE DANE wskaźnik 0 wskaźnik 1 DANE DANE wskaźnik 0 wskaźnik 1 DANE DANE wskaźnik 0 wskaźnik 1 DANE DANE wskaźnik 0 wskaźnik 1 DANE DANE wskaźnik 0 wskaźnik 1 DANE DANE wskaźnik 0 wskaźnik 1 nil korzeń liść


Pobierz ppt "Wprowadzenie do programowania w TP. część 3. Temat: Tablice."

Podobne prezentacje


Reklamy Google