Dynamiczne struktury danych: listy

Wielkość: px
Rozpocząć pokaz od strony:

Download "Dynamiczne struktury danych: listy"

Transkrypt

1 Dynamiczne struktury danych: listy Mirosław Mortka Zaczynając rogramować w dowolnym języku rogramowania jesteśmy zmuszeni do oanowania zasad osługiwania się odstawowymi tyami danych. Na rzykład w języku Pascal osługujemy się m.in. tyami: integer, real, string, array, record it. Zmienne zadeklarowane za ich omocą nazywamy zmiennymi statycznymi. Ich zastosowanie łączy się z uzyskaniem wielu zalet, choćby sójność danych czy szybki dostę do elementów. Posiadają jednak bardzo istną wadę, mocno ograniczającą możliwość ich zastosowania: musimy z góry określić wielkość i ilość elementów. Jednakże wiele zagadnień charakteryzuje się zmiennością struktur danych odczas rocesu obliczeniowego. W tym wyadku z omocą rzychodzą nam zmienne dynamiczne. Niewątliwą korzyścią wynikającą ze stosowania tych tyów jest możliwość określenia wielkości zajmowanej rzez nich amięci doiero w trakcie trwania rogramu. Taka deklaracja struktury danych owoduje jednak, iż komilator nie jest w stanie określić konkretnych adresów dla oszczególnych zmiennych ani rzydzielić na nie amięci. W konsekwencji zmuszeni jesteśmy do dynamicznego rzydzielania amięci, tzn. rzydzielania amięci zmiennym w momencie użycia ich rzez rogram (utworzenia nowej zmiennej w trakcie wykonania rogramu) zamiast rzydzielania im stałej ilości amięci odczas translacji rogramu. Komilator rzydziela wtedy stałą ilość amięci na adres zmiennej umieszczanej dynamicznie w amięci zamiast na samą zmienną. Zmienne, które zawierają adres i tym samym wskazują ołożenie innego obiektu lub zmiennej w amięci, nazywamy wskaźnikami. W języku Pascal zmienną wskaźnikową oznaczamy ^. Korzystając z dynamicznych struktur danych możemy oerować na listach, drzewach czy grafach. Listy jednokierunkowe Najrostszym sosobem ozwalającym gruować dowolną ilość danych (ograniczoną tylko rozmiarem dostęnej amięci) jest lista jednokierunkowa (atrz rys. 1). W tym rzyadku każdy element jest ojedynczym rekordem składającym się z co najmniej dwóch ól: ola wartości i wskaźnika do nastęnego elementu listy. Wartością wskaźnika umożliwiającą jednoznaczne zidentyfikowanie ostatniego elementu listy w języku Pascal jest secjalna wartość nil (NULL w C/C++). o Rys. 1. Przykład listy jednokierunkowej

2 W rzyadku list jednokierunkowych nie jest możliwy bezośredni dostę do dowolnego jej elementu. Ponieważ każdy element osiada jedynie wskaźnik do jego nastęnika, więc dotarcie do n-tego elementu listy wymaga wcześniej rzejścia rzez n-1 orzedników. Oto najrostsze oeracje, jakie możemy wykonać na liście jednokierunkowej: wstawienie elementu na zątek listy, wstawienie elementu na koniec listy, usunięcie ierwszego elementu listy, odczyt ierwszego elementu listy, dostę do dowolnego elementu listy. W zależności od wyboru odstawowych oeracji wykonywanych na liście możemy wyróżnić dwa odstawowe rodzaje struktur imlementowanych na odstawie list jednokierunkowych: stos: możliwe jest wstawianie, usuwanie i odczyt ierwszego elementu listy wierzchołka; tego tyu struktura nazywana jest LIFO 1 (rys. 2), kolejka (ojedyncza, jednokierunkowa): wstawianie elementu na koniec listy, odczyt i usuwanie elementu ierwszego struktura tyu FIFO 2 (rys. 3). wierzchołek wstawianie, usuwanie, odczyt dno stosu Rys. 2. Struktura stosu kon usuwanie, odczyt wstawianie Rys. 3. Struktura kolejki 1 ang. last in, first out 2 ang. first in, first out 2

3 Podstawowe oeracje dotyczące listy jednokierunkowej omówimy na odstawie zadania 1. Zadanie 1. Naisać rogram odwracający lik tekstowy lik.wej. Wynikiem wykonania rogramu ma być drugi lik tekstowy lik.wyj. Pierwszym wierszem liku wyjściowego ma być ostatni wiersz liku wejściowego, drugim rzedostatni itd. Założyć, że wiersze nie rzekraczają 255 znaków 3. Rozwiązanie Definiowanie listy w Pascalu Zdefiniujmy ty elementów listy wierszy liku. Każdy taki element zawiera ciąg znaków hodzący z kolejnej linii liku tekstowego oraz wskaźnik do elementu nastęnego. W języku Pascal definicja ta będzie miał nastęujący wygląd: tye PElem = ^TElem; (1) TElem = record (2) s: string; nast: ^TElem; (3) Zaczynamy od zdefiniowania tyu wskaźnikowego PElem do danych tyu TElem (1). Druga definicja (2) narzuca strukturę każdej zmiennej tyu TElem składającą się z dwóch ól: s zawierającego linię tekstu liku oraz nast zawierającego wskaźnik do nastęnego elementu. ^ to symbol wskaźnika. Deklarując zmienną tyu PElem, używamy zaisu ^ do wskazania rekordu tyu TElem. Wśród zmiennych globalnych musimy zadeklarować zmienną tyu PElem wskazującą na zątek listy wykorzystywanej w zadaniu. var : PElem; Uwaga: Składnia języka Pascal zabrania użycia nazwy, której znaczenie nie zostało wcześniej zdefiniowane. Definicja tyu wskaźnikowego wykorzystującą nazwę obiektu wskazywanego jest jedynym wyjątkiem od tej reguły. 3 K.Jakubczyk: Turbo Pascal i Borland C++. Przykłady., Helion, Gliwice2002, s

4 Dodawanie nowego elementu na zątek listy Wstawienie elementu na zątek listy wymaga wykonania dwóch oeracji rzyisania wartości zmiennym tyu wskaźnikowego: a) nadanie olu nast wskazywanemu rzez wskaźnik wartości adresu rzechowywanego rzez wskaźnik do zątku listy (rys. 4a); ^.nast:= ; b) uaktualnienie wartości zmiennej orzez rzyisanie jej wartości wskaźnika do elementu (element zostaje umieszczony na ierwszym miejscu listy rys. 4b). := ; a) b) Rys. 4. Dodanie elementu na zątek listy Wstawianie elementu na zątek listy możliwe jest wówczas, gdy element istnieje (został wcześniej utworzony). W rzeciwnym wyadku musimy utworzyć nowy element i uaktualnić jego ola (nadać im wartości zątkowe). Procedurą rzydzielającą amięć oraz generującą wskaźnik do nowego elementu jest olecenie new. new(); ^.s:= Początkowa wartość ; Procedura wczytującą kolejne linie tekstu i umieszczającą je na zątku listy będzie zatem miała nastęujący wygląd: 4

5 rocedure UtworzListe; var : PElem; {wskaźnik omocniczy} f: text; {zmienna rerezentującą lik tekstowy} s: string; {zmienna omocnicza do wczytywania linii tekstu z liku} Assign(f,'lik.wej'); {otworzenie liku} Reset(f); {do odczytu} :=nil; {zątkowo lista jest while not Eof(f) do ReadLn(f,s); usta} {doóki nie został osiągnięty koniec liku} {czytaj linię tekstu z liku} new(); {utwórz nowy element } ^.s:= s; ^.nast:= ; := ; Close(f); {rzyisz do ola s wskazywanego rzez łańcuch s} {wstaw element} {na zątek listy } {zamknij lik} Każda nowa wczytana linia tekstu zostaje wstawiona na zątek listy. W wyniku tej oeracji uzyskujemy strukturę listową zawierająca w ierwszym elemencie ostatnią linię tekstu znajdującego się w liku, w drugim rzedostatnią it. Wystarczy teraz wyisać kolejne elementy listy do liku lik.wyj, aby nasze zadanie zostało omyślnie zakończone. Przeglądanie listy Zmienna rzechowuje adres ierwszego elementu listy w amięci. Nie możemy modyfikować jej wartości, gdyż wiązałoby się to z utratą informacji na temat ołożenia ierwszego elementu, a co z tym się wiąże również ozostałej części listy. Wrowadźmy więc zmienną omocniczą tyu PElem (wskaźnik do TElem) i z jej omocą dokonajmy rzeglądu elementów listy. Przeglądanie listy będzie rzebiegać w nastęujących etaach: a) zmienna wskazuje na zątek listy (rys. 5a); := ; b) wyisz ole s zmiennej wskazywanej rzez ; WriteLn(^.s); 5

6 c) rzejdź do kolejnego elementu (rys 5b); := ^.nast; d) owtarzaj unkt b), doóki nie osiągniesz końca listy (sygnalizowane rzez wartość nil). a) b) Rys. 5. Przeglądanie listy jednokierunkowej Zatem cała rocedura wyisywania listy do liku będzie wyglądać nastęująco: rocedure WyiszListe; var : PElem; {wskaźnik omocniczy} f: text; {zmienna rerezentującą lik tekstowy} Assign(f,'lik.wej'); {otworzenie liku} Rewrite(f); {do zaisu} :=; {wskazanie rzez while <>nil do WriteLn(f,^.linia); :=^.nast; Close(f); na zątek listy } {doóki nie został osiągnięty koniec listy} {wyisz linię tekstu do liku} {rzejdź do nastęnego elementu} {zamknij lik} 6

7 Usuwanie listy Dodając nowe elementy do listy zmuszeni byliśmy do dynamicznego rzydzielania im amięci rzy każdorazowym utworzeniu nowego elementu za omocą oeratora new. Przed zakończeniem działania rogramu obowiązkiem rogramisty jest zwolnienie urzednio rzydzielonego obszaru amięci. Do tego celu użyjemy standardowej rocedury disose. Zauważmy, że nie wolno nam bezośrednio usunąć zątkowego elementu listy, wskazywanego rzez, gdyż w takim wyadku utracilibyśmy wskaźniki do ozostałej części listy. Wykorzystamy zmienną omocniczą tyu PElem, aby beziecznie usunąć element z listy. Cała oeracja będzie miała nastęujący rzebieg: a) zmienna wskazuje na zątek listy (rys. 6a); := ; b) wskazuje na element nastęny (rys 6b); := ^.nast; c) usuń beziecznie element (rys 6c); disose (); d) owtarzaj unkt a), doóki nie osiągniesz końca listy (sygnalizowane rzez wartość nil). a) b) c) Rys. 6. Usuwanie elementu z listy jednokierunkowej 7

8 Prześledźmy treść rocedury usuwającą wszystkie elementy listy z amięci: rocedure UsunListe; var : PElem; wskaźnik omocniczy} while <>Nil do :=; :=^.nast; {doóki nie został osiągnięty koniec listy} { wskazuje na zątek listy} {rzejdź do nastęnego elementu} disose(); {usun element } Treść rogramu Główna część rogramu ma za zadanie wyłącznie wywołanie każdej z zadeklarowanych rzez nas rocedur: UtworzListe; WyiszListe; UsunListe; ReadLn; end. Zauważmy, że zadeklarowanie ola tyu string jest osunięciem dalece nieekonomicznym, gdyż każda linia tekstu zawiera różną ilość tekstu, rzy tym niezwykle rzadko (o ile w ogóle) osiąga maksymalną długość. Można zatem rozważyć również dynamiczny rzydział amięci dla oszczególnych łańcuchów za omocą rocedur GetMem oraz FreeMem. Ta modyfikację ozostawiam czytelnikowi. 8

Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem.

Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem. Podstawy programowania Wykład PASCAL Zmienne wskaźnikowe i dynamiczne 1 dr Artur Bartoszewski - Podstawy prograowania, sem. 1- WYKŁAD Rodzaje zmiennych Zmienne dzielą się na statyczne i dynamiczne. Zmienna

Bardziej szczegółowo

Wskaźniki i struktury. Programowanie C, LA Anna Gogolińska

Wskaźniki i struktury. Programowanie C, LA Anna Gogolińska Wskaźniki i struktury Programowanie C, LA Anna Gogolińska Wskaźniki i struktury Jednym z ól struktury może być wskaźnik na zmienną tyu tej struktury. Deklaracja jest z użyciem formy: ty *. Poza tym olem,

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW

ZASADY PROGRAMOWANIA KOMPUTERÓW POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych zajęć

Bardziej szczegółowo

Rysunek 1 Przykładowy graf stanów procesu z dyskretnymi położeniami.

Rysunek 1 Przykładowy graf stanów procesu z dyskretnymi położeniami. Procesy Markowa Proces stochastyczny { X } t t nazywamy rocesem markowowskim, jeśli dla każdego momentu t 0 rawdoodobieństwo dowolnego ołożenia systemu w rzyszłości (t>t 0 ) zależy tylko od jego ołożenia

Bardziej szczegółowo

Obszar Logistyka. Rejestracja faktury zakupowej Rejestracja faktury zakupowej z pozycjami towarowymi. Instrukcja użytkownika

Obszar Logistyka. Rejestracja faktury zakupowej Rejestracja faktury zakupowej z pozycjami towarowymi. Instrukcja użytkownika Obszar Logistyka Rejestracja faktury zakuowej Rejestracja faktury zakuowej z ozycjami towarowymi Instrukcja użytkownika 1 Sis treści SPIS TREŚCI... 2 NAWIGACJA PO SYSTEMIE... 3 1. Podstawowa nawigacja

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych

Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych 1. Wczytywanie z plików tekstowych. Wczytywanie z pliku tekstowego wymaga: a) skojarzenia zmiennej plikowej z plikiem procedura assignfile b)

Bardziej szczegółowo

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 Uwaga: DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 1. Zostały pominięte diagramy: CYFRA, CYFRA SZESNASTKOWA, ZNAK i LITERA. Nie została uwzględniona możliwość posługiwania się komentarzami. 2. Brakuje

Bardziej szczegółowo

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe Algorytmy i złożoności Wykład 3. Listy jednokierunkowe Wstęp. Lista jednokierunkowa jest strukturą pozwalającą na pamiętanie danych w postaci uporzadkowanej, a także na bardzo szybkie wstawianie i usuwanie

Bardziej szczegółowo

Janusz Górczyński. Prognozowanie i symulacje w zadaniach

Janusz Górczyński. Prognozowanie i symulacje w zadaniach Wykłady ze statystyki i ekonometrii Janusz Górczyński Prognozowanie i symulacje w zadaniach Wyższa Szkoła Zarządzania i Marketingu Sochaczew 2009 Publikacja ta jest czwartą ozycją w serii wydawniczej Wykłady

Bardziej szczegółowo

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Tablice wielowymiarowe C umożliwia definiowanie tablic wielowymiarowych najczęściej stosowane

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl

Bardziej szczegółowo

Metody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Wstęp do programowania. Pliki. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Pliki. Piotr Chrząstowski-Wachtel Wstęp do programowania Pliki Piotr Chrząstowski-Wachtel Pamięci zewnętrzne Pamięć wewnętrzna (RAM) jest jednorodna. Dostęp do każdej komórki jest szybki i kosztuje tyle samo W przypadku pamięci zewnętrznych

Bardziej szczegółowo

Podstawy programowania 2. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 2 Podstawy programowania 2 Temat: Zmienne dynamiczne tablica wskaźników i stos dynamiczny Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny 1.1 Tablice wskaźników Tablice

Bardziej szczegółowo

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy) Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;

Bardziej szczegółowo

Ada-95. Dariusz Wawrzyniak

Ada-95. Dariusz Wawrzyniak Część I Wskaźniki Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Wskaźniki

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych; Begin

Bardziej szczegółowo

Kiedy potrzebne. Struktura (rekord) Struktura w języku C# Tablice struktur. struktura, kolekcja

Kiedy potrzebne. Struktura (rekord) Struktura w języku C# Tablice struktur. struktura, kolekcja 1 struktura, kolekcja Kiedy potrzebne Duża liczba danych takiego samego typu tablice a jak nieznana liczba elementów? dane zawierające wartości różnego typu (osoba: pesel, nazwisko, rok urodzenia, pracuje/niepracuje,

Bardziej szczegółowo

Lista 5 Typy dynamiczne kolejka

Lista 5 Typy dynamiczne kolejka Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Metody i języki programowania 1 Wprowadzenie Lista 5 Typy dynamiczne kolejka Kolejka jest jedną z podstawowych struktur umożliwiających

Bardziej szczegółowo

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych kolekcji. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych

Bardziej szczegółowo

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Tablica znaków w językach C i C++ (oraz pochodnych) łańcuch znaków przechowywany jest jako

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Wykład 2 Składnia języka C# (cz. 1)

Wykład 2 Składnia języka C# (cz. 1) Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu

Bardziej szczegółowo

Struktury danych: stos, kolejka, lista, drzewo

Struktury danych: stos, kolejka, lista, drzewo Struktury danych: stos, kolejka, lista, drzewo Wykład: dane w strukturze, funkcje i rodzaje struktur, LIFO, last in first out, kolejka FIFO, first in first out, push, pop, size, empty, głowa, ogon, implementacja

Bardziej szczegółowo

Algorytmy i struktury danych. wykład 5

Algorytmy i struktury danych. wykład 5 Plan wykładu: Wskaźniki. : listy, drzewa, kopce. Wskaźniki - wskaźniki Wskaźnik jest to liczba lub symbol który w ogólności wskazuje adres komórki pamięci. W językach wysokiego poziomu wskaźniki mogą również

Bardziej szczegółowo

Materiał uzupełniający do ćwiczen z przedmiotu: Programowanie w C ++ - ćwiczenia na wskaźnikach

Materiał uzupełniający do ćwiczen z przedmiotu: Programowanie w C ++ - ćwiczenia na wskaźnikach Materiał uzupełniający do ćwiczen z przedmiotu: Programowanie w C ++ - ćwiczenia na wskaźnikach 27 kwietnia 2012 Wiedząc, że deklarowanie typu rekordowego w języku C/ C++ wygląda następująco: struct element

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

Zmienne i struktury dynamiczne

Zmienne i struktury dynamiczne Zmienne i struktury dynamiczne Zmienne dynamiczne są to zmienne, które tworzymy w trakcie działania programu za pomocą operatora new. Usuwa się je operatorem delete. Czas ich występowania w programie jest

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb. 1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb. Algorytmy przeszukiwania w głąb i wszerz są najczęściej stosowanymi algorytmami przeszukiwania. Wykorzystuje się je do zbadania istnienia połączenie

Bardziej szczegółowo

PODSTAWY INFORMATYKI wykład 4.

PODSTAWY INFORMATYKI wykład 4. PODSTAWY INFORMATYKI wykład 4. Adrian Horzyk Web: http://home.agh.edu.pl/~horzyk/ E-mail: horzyk@agh.edu.pl Google: Adrian Horzyk Gabinet: paw. D13 p. 325 Akademia Górniczo-Hutnicza w Krakowie WEAIiE,

Bardziej szczegółowo

Wykład 1: Wskaźniki i zmienne dynamiczne

Wykład 1: Wskaźniki i zmienne dynamiczne Programowanie obiektowe Wykład 1: Wskaźniki i zmienne dynamiczne 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD Podstawy programowania w C++ Wskaźniki 2 dr Artur Bartoszewski - Programowanie

Bardziej szczegółowo

Wstęp do programowania 2

Wstęp do programowania 2 Wstęp do programowania 2 wykład 1 rekordy z wyróżnikami Agata Półrola Wydział Matematyki UŁ 2005/2006 Egzamin z I roku - problemy Problemy z wczytywaniem danych: skip_line Problemy z obliczeniami: zerowanie

Bardziej szczegółowo

Lista, Stos, Kolejka, Tablica Asocjacyjna

Lista, Stos, Kolejka, Tablica Asocjacyjna Lista, Stos, Kolejka, Tablica Asocjacyjna Listy Lista zbiór elementów tego samego typu może dynamicznie zmieniać rozmiar, pozwala na dostęp do poszczególnych elementów Typowo dwie implementacje: tablicowa,

Bardziej szczegółowo

PLIKI TEKSTOWE F C E 30 0D 0A 42 6F 72 6C 61 6E 64 1A T U R B O _ P A S C A L _ 7. 0

PLIKI TEKSTOWE F C E 30 0D 0A 42 6F 72 6C 61 6E 64 1A T U R B O _ P A S C A L _ 7. 0 PLIKI TEKSTOWE plik_liczb : file of integer; plik_znakow : file of char; plik_linii : text; deklaracja zmiennej plikowej Przykład sekwencji bajtów: 54 55 52 42 4F 20 50 41 53 43 41 4C 20 37 2E 30 0D 0A

Bardziej szczegółowo

Wykład 9: Polimorfizm i klasy wirtualne

Wykład 9: Polimorfizm i klasy wirtualne Programowanie obiektowe Wykład 9: i klasy wirtualne 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD Programowanie obiektowe i metody wirtualne 2 W programowaniu obiektowym polimorfizm

Bardziej szczegółowo

( n) Łańcuchy Markowa X 0, X 1,...

( n) Łańcuchy Markowa X 0, X 1,... Łańcuchy Markowa Łańcuchy Markowa to rocesy dyskretne w czasie i o dyskretnym zbiorze stanów, "bez amięci". Zwykle będziemy zakładać, że zbiór stanów to odzbiór zbioru liczb całkowitych Z lub zbioru {,,,...}

Bardziej szczegółowo

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma}; INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE

Bardziej szczegółowo

Wstęp do programowania 2

Wstęp do programowania 2 Wstęp do programowania 2 wykład 6 typy dostępu c.d Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Przykład wykorzystania typów dostępu zob. pakiet rodzajowy listapak

Bardziej szczegółowo

Struktury. Przykład W8_1

Struktury. Przykład W8_1 Struktury Struktury pozwalają na grupowanie zmiennych różnych typów pod wspólną nazwą. To istotnie ułatwia organizacje danych, które okazują się w jednym miejscu kodu programu. To jest bardzo ważne dla

Bardziej szczegółowo

INFORMATYKA. Podstawy programowania w języku C. (Wykład) Copyright (C) 2005 by Sergiusz Sienkowski IME Zielona Góra

INFORMATYKA. Podstawy programowania w języku C. (Wykład) Copyright (C) 2005 by Sergiusz Sienkowski IME Zielona Góra INFORMATYKA Podstawy programowania w języku C (Wykład) Copyright (C) 2005 by Sergiusz Sienkowski IME Zielona Góra INFORMATYKA Temat: Struktury dynamiczne Wykład 7 Struktury dynamiczne lista jednokierunkowa,

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 > Typy indeksów Indeks jest zakładany na atrybucie relacji atrybucie indeksowym (ang. indexing field). Indeks zawiera wartości atrybutu indeksowego wraz ze wskaźnikami do wszystkich bloków dyskowych zawierających

Bardziej szczegółowo

BeStCAD - Moduł INŻYNIER 1

BeStCAD - Moduł INŻYNIER 1 BeStCAD - Moduł INŻYNIER 1 Ścianki szczelne Oblicza ścianki szczelne Ikona: Polecenie: SCISZ Menu: BstInżynier Ścianki szczelne Polecenie służy do obliczania ścianek szczelnych. Wyniki obliczeń mogą być

Bardziej szczegółowo

Zasady programowania Dokumentacja

Zasady programowania Dokumentacja Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika

Bardziej szczegółowo

Programowanie i struktury danych. Wykład 4 Dr Piotr Cybula

Programowanie i struktury danych. Wykład 4 Dr Piotr Cybula Programowanie i struktury danych Wykład 4 Dr Piotr ybula Typ wska ź nikowy int* pointer; //wskaźnik do zmiennych typu int pozwala na dostęp do dowolnego miejsca pamięci (zmienne

Bardziej szczegółowo

Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe

Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe Podstawy programowania Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe 1 Podstawy programowania Część I Łańcuchy znaków 2 I. Zmienne łańcuchowe Klasyfikacja zmiennych statycznych

Bardziej szczegółowo

Struktury danych (I): kolejka, stos itp.

Struktury danych (I): kolejka, stos itp. Letnie Warsztaty Matematyczno-Informatyczne Algorytmy i struktury danych Struktury danych (I): kolejka, stos itp. Struktury danych (I): kolejka, stos itp. Struktura danych stanowi sposób uporządkowania

Bardziej szczegółowo

Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.)

Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.) Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.) Kontenery - - wektor vector - - lista list - - kolejka queue - - stos stack Kontener asocjacyjny map 2016-01-08 Bazy danych-1 W5 1 Kontenery W programowaniu

Bardziej szczegółowo

Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego

Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego Pascal 1. Pliki tekstowe Przykład 1.1. Zapis do pliku tekstowego {deklaracja zmiennej tekstowej 'plik'} plik: text; {skojarzenie zmiennej plikowej 'plik' z plikiem na dysku (podajemy lokalizacje)} {tworzenie

Bardziej szczegółowo

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych: Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym

Bardziej szczegółowo

Drzewa poszukiwań binarnych

Drzewa poszukiwań binarnych 1 Cel ćwiczenia Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet ielonogórski Drzewa poszukiwań binarnych Ćwiczenie

Bardziej szczegółowo

6 6.1 Projektowanie profili

6 6.1 Projektowanie profili 6 Niwelacja rofilów 6.1 Projektowanie rofili Niwelacja rofilów Niwelacja rofilów olega na określeniu wysokości ikiet niwelacją geometryczną, trygonometryczną lub tachimetryczną usytuowanych wzdłuŝ osi

Bardziej szczegółowo

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne Sortowanie Dane wejściowe : trzy liczby w dowolnym porządku Dane wyjściowe: trzy liczby

Bardziej szczegółowo

Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel Wstęp do programowania Procedury i funkcje Piotr Chrząstowski-Wachtel Po co procedury i funkcje? Gdyby jakis tyran zabronił korzystać z procedur lub funkcji, to informatyka by upadła! Procedury i funkcje

Bardziej szczegółowo

Algorytmika i pseudoprogramowanie

Algorytmika i pseudoprogramowanie Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry

Bardziej szczegółowo

Abstrakcyjne struktury danych - stos, lista, drzewo

Abstrakcyjne struktury danych - stos, lista, drzewo Sprawozdanie Podstawy Informatyki Laboratoria Abstrakcyjne struktury danych - stos, lista, drzewo Maciej Tarkowski maciek@akom.pl grupa VII 1/8 1. Stos Stos (ang. Stack) jest podstawową liniową strukturą

Bardziej szczegółowo

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA Rekurencja - zdolność podprogramu (procedury) do wywoływania samego (samej) siebie Wieże Hanoi dane wejściowe - trzy kołki i N krążków o różniących się średnicach wynik - sekwencja ruchów przenosząca krążki

Bardziej szczegółowo

Wstęp do programowania 2

Wstęp do programowania 2 Wstęp do programowania 2 wykład 10 Zadania Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Współbieżność dotychczasowe programy wykonywały akcje sekwencyjnie Ada umożliwia

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

Systemy operacyjne. Laboratorium 9. Perl wyrażenia regularne. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017

Systemy operacyjne. Laboratorium 9. Perl wyrażenia regularne. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017 Systemy operacyjne Laboratorium 9 Perl wyrażenia regularne Jarosław Rudy Politechnika Wrocławska 28 lutego 2017 Temat obejmuje wykorzystanie wyrażeń regularnych w perlu. Wyrażenia same w sobie są w zasadzie

Bardziej szczegółowo

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Tablice (jedno i wielowymiarowe), łańcuchy znaków Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie

Bardziej szczegółowo

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u będziemy używać w taki sam sposób, jak wbudowanych funkcji

Bardziej szczegółowo

Analiza nośności pionowej pojedynczego pala

Analiza nośności pionowej pojedynczego pala Poradnik Inżyniera Nr 13 Aktualizacja: 09/2016 Analiza nośności ionowej ojedynczego ala Program: Plik owiązany: Pal Demo_manual_13.gi Celem niniejszego rzewodnika jest rzedstawienie wykorzystania rogramu

Bardziej szczegółowo

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,

Bardziej szczegółowo

Wykład PASCAL - Pliki tekstowe

Wykład PASCAL - Pliki tekstowe Podstawy programowania Wykład PASCAL - Pliki tekstowe 1 dr Artur Bartoszewski - Podstawy prograowania, sem. 1- WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą,

Bardziej szczegółowo

Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel Wstęp do programowania Listy Piotr Chrząstowski-Wachtel Do czego stosujemy listy? Listy stosuje się wszędzie tam, gdzie występuje duży rozrzut w możliwym rozmiarze danych, np. w reprezentacji grafów jeśli

Bardziej szczegółowo

Podstawowe struktury danych

Podstawowe struktury danych Podstawowe struktury danych 1) Listy Lista to skończony ciąg elementów: q=[x 1, x 2,..., x n ]. Skrajne elementy x 1 i x n nazywamy końcami listy, a wielkość q = n długością (rozmiarem) listy. Szczególnym

Bardziej szczegółowo

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Wykład 3 Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Dynamiczne struktury danych Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element

Bardziej szczegółowo

Wykład 3 Składnia języka C# (cz. 2)

Wykład 3 Składnia języka C# (cz. 2) Wizualne systemy programowania Wykład 3 Składnia języka C# (cz. 2) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Metody 2 Metody W C# nie jest

Bardziej szczegółowo

Podstawy Informatyki. Wykład 6. Struktury danych

Podstawy Informatyki. Wykład 6. Struktury danych Podstawy Informatyki Wykład 6 Struktury danych Stałe i zmienne Podstawowymi obiektami występującymi w programie są stałe i zmienne. Ich znaczenie jest takie samo jak w matematyce. Stałe i zmienne muszą

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Algorytmy i struktury danych Laboratorium Drzewa poszukiwań binarnych 1 Cel ćwiczenia Ćwiczenie ma na celu zapoznanie studentów

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium

Bardziej szczegółowo

Podstawy Programowania 2

Podstawy Programowania 2 Podstawy Programowania 2 Laboratorium 7 Instrukcja 6 Object Pascal Opracował: mgr inż. Leszek Ciopiński Wstęp: Programowanie obiektowe a programowanie strukturalne. W programowaniu strukturalnym, któremu

Bardziej szczegółowo

Lab 9 Podstawy Programowania

Lab 9 Podstawy Programowania Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany

Bardziej szczegółowo

Wstęp do wskaźników w języku ANSI C

Wstęp do wskaźników w języku ANSI C Wstęp do wskaźników w języku ANSI C / Materiał dydaktyczny pomocniczy do przedmiotu Informatyka sem.iii kier. Elektrotechnika/ 1. Wprowadzenie W języku ANSI C dla każdego typu X (wbudowanego, pochodnego,

Bardziej szczegółowo

ZASOBY ZMIENNYCH W STEROWNIKACH SAIA-BURGESS

ZASOBY ZMIENNYCH W STEROWNIKACH SAIA-BURGESS ZASOBY ZMIENNYCH W STEROWNIKACH SAIA-BURGESS Autorzy Wydanie Data : : : Zespół SABUR Sp. z o.o. 3.00 Sierpień 2013 2013 SABUR Sp. z o. o. Wszelkie prawa zastrzeżone Bez pisemnej zgody firmy SABUR Sp. z

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

ALGORYTMY OPTYMALIZACJI wyklad 3.nb 1. Wykład 3. Sformułujemy teraz warunki konieczne dla istnienia rozwiązań zagadnienia optymalizacyjnego:

ALGORYTMY OPTYMALIZACJI wyklad 3.nb 1. Wykład 3. Sformułujemy teraz warunki konieczne dla istnienia rozwiązań zagadnienia optymalizacyjnego: ALGORYTMY OPTYMALIZACJI wyklad 3.nb 1 Wykład 3 3. Otymalizacja z ograniczeniami Sformułujemy teraz warunki konieczne dla istnienia rozwiązań zagadnienia otymalizacyjnego: g i HxL 0, i = 1, 2,..., m (3.1)

Bardziej szczegółowo

Wykład 5: Klasy cz. 3

Wykład 5: Klasy cz. 3 Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu

Bardziej szczegółowo

1 Wskaźniki i listy jednokierunkowe

1 Wskaźniki i listy jednokierunkowe 1 Wskaźniki i listy jednokierunkowe 1.1 Model pamięci komputera Pamięć komputera możemy wyobrażać sobie tak, jak na rysunku: Zawartość:... 01001011 01101010 11100101 00111001 00100010 01110011... adresy:

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Kusory Wprowadzenie Kursory użytkownika Kursory domyślne Zmienne kursora Wyrażenia kursora - 2 - Wprowadzenie Co to jest kursor?

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Pascal - wprowadzenie

Pascal - wprowadzenie Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego

Bardziej szczegółowo

ALGORYTM STRAŻAKA W WALCE Z ROZLEWAMI OLEJOWYMI

ALGORYTM STRAŻAKA W WALCE Z ROZLEWAMI OLEJOWYMI JOLANTA MAZUREK Akademia Morska w Gdyni Katedra Matematyki ALGORYTM STRAŻAKA W WALCE Z ROZLEWAMI OLEJOWYMI W artykule rzedstawiono model wykorzystujący narzędzia matematyczne do ustalenia reguł oraz rozwiązań,

Bardziej szczegółowo

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki Konwersje napis liczba Struktury, unie Scanf / printf Wskaźniki Konwersje liczba napis Ćwiczenia 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12,

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

Pierwsze kroki z easy Soft CoDeSys. 2009 Eaton Corporation. All rights reserved.

Pierwsze kroki z easy Soft CoDeSys. 2009 Eaton Corporation. All rights reserved. Pierwsze kroki z easy Soft CoDeSys Tworzenie prostego programu Rozpoczęcie pracy 2 Tworzenie prostego programu Wybór aparatu 3 Tworzenie prostego programu Wybór języka programowania Do wyboru jest sześć

Bardziej szczegółowo

lekcja 8a Gry komputerowe MasterMind

lekcja 8a Gry komputerowe MasterMind lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych

Bardziej szczegółowo

Lekcja 6: Pascal. Procedura i funkcja

Lekcja 6: Pascal. Procedura i funkcja Lekcja 6: Pascal. Procedura i funkcja S. Hoa Nguyen 1 Materiał Książka: Programowanie w języku Pascal. Rozdział 9. Podprogramy Podprogramy - motywacja Skrócenie zapisu (wielokrotne powtórzenia tej samej

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona

Bardziej szczegółowo

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued

Bardziej szczegółowo

138 Forum Bibl. Med. 2011 R. 4 nr 1 (7)

138 Forum Bibl. Med. 2011 R. 4 nr 1 (7) Dr Tomasz Milewicz, Barbara Latała, Iga Liińska, dr Tomasz Sacha, dr Ewa Stochmal, Dorota Pach, dr Danuta Galicka-Latała, rof. dr hab. Józef Krzysiek Kraków - CM UJ rola szkoleń w nabywaniu umiejętności

Bardziej szczegółowo

Laboratorium Metod i Algorytmów Sterowania Cyfrowego

Laboratorium Metod i Algorytmów Sterowania Cyfrowego Laboratorium Metod i Algorytmów Sterowania Cyfrowego Ćwiczenie 3 Dobór nastaw cyfrowych regulatorów rzemysłowych PID I. Cel ćwiczenia 1. Poznanie zasad doboru nastaw cyfrowych regulatorów rzemysłowych..

Bardziej szczegółowo

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo