część 15 struktury rekurencyjne i ich zastosowania listy Jarosław Gramacki Instytut Informatyki i Elektroniki

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

Download "część 15 struktury rekurencyjne i ich zastosowania listy Jarosław Gramacki Instytut Informatyki i Elektroniki"

Transkrypt

1 Język ANSI C część struktury rekurencyjne i ich zstosowni listy Jrosłw Grmcki Instytut Informtyki i Elektroniki struktury mogą zwierć w sobie definicje "rekurencyjne" czyli wskźniki do siebie smych dzięki tej włściwości możliwe jest tworzenie tkich złożonych struktur dnych jk listy lub drzew listy i drzew stosuje się w rzydkch gdy z góry nie widomo ile będzie trzeb rzechowywć dnych rzykłd: oliczyć ile rzy wystęuje kżde słowo w dnym liku tekstowym. Włściw struktur dnych: drzewo binrne szczegóły budowy konkretnej listy / drzew zleżą od jej zstosowni // list -kierunkow tyedef struct linked_list tyedef brdzo ułtwi zisy struct linked_list *next; // nstęn ozycj n liście chr nme[0]; // dne rzechowywne n liście int ge; // dne rzechowywne n liście LIST; // list -kierunkow tyedef struct double_list struct double_list *next; // w rzód struct double_list *rev; // w tył int ge; // dne rzechowywne n liście DLIST; dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0)

2 // dodwnie elementów do listy -kierunkowej void dd_elem (chr *_nme, int _ge); LIST *dd_elem (LIST *, chr *_nme, int _ge); int dd_elem (LIST *, chr *_nme, int _ge); int dd_elem4 (LIST **, chr *_nme, int _ge); // różne oercje n liście -kierunkowej int find (LIST *, chr *_nme); int del_elem (LIST *, int _ge); void free_list (LIST *); void rintlist (LIST *); void rintdlist (DLIST *); void dotsk (LIST *, void (*fun) (int*, int) ); // wykonj fun() n elementch listy void elemfun (int *, int); // sortownie listy int comre (const void *, const void *); void sortlist (LIST *); // ostć wymgn rzez qsort() // z użyciem qsort() // dodwnie elementów do listy -kierunkowej void dd_delem (DLIST *, int _ge); UWAGA: w rzeczywistości rojekt owinien skłdć się n. z lików: list.h (rototyy, deklrcje struktur, zmienne globlne) list.c (definicje funkcji) min.c (rogrm główny) + "sterownie" cłością odowiednimi dyrektywmi rerocesor (#ifndef, #endif,...) dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) /* zmienn globln */ LIST *List = ; int min (void) dd_elem( "", 0 ); // 0 dd_elem( "", ); // 0... // dodwnie elementu n oczątek listy // List zmienn globln, źle!!! List void dd_elem (chr *_nme, int _ge) LIST *; = (LIST *) mlloc ( sizeof(list) ); // strcy ( ->nme, _nme); ->ge = _ge; ->next = List; // List = ; // 0 dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) 4

3 List 0 ierwszy element List kolejne elementy 0 dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) /* zmienn globln */ LIST *List = ; int min (void) dd_elem( "", 0 ); dd_elem( "", ); rintlist(list); void rintlist ( LIST * ) while( ) rintf("(%s %d)", ->nme, ->ge)); = ->next; // dziłmy n koii // wskźnik rintf("\n"); 0 dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) 6

4 /* zmienn globln */ LIST *List = ; int min (void) dd_elem( "", 0 ); dd_elem( "", ); rintlist(list); // ierwsze wywołnie musi być z odstwieniem List =... // gdy strtujemy od ustej listy (w rzykłdzie oniżej nie jest to rwdą) // gdy list już istnieje, to odstwienie List =... jest zbędne List = dd_elem( List, "b", ); // 0 dd_elem( List, "b", 0 ); // 0 0 dd_elem( List, "b", ); // 0 0 rintlist( List); dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) // dodwnie elementu n koniec listy LIST *dd_elem (LIST *, chr *_nme, int _ge) LIST *; LIST * = ; if ( == ) = (LIST *) mlloc ( sizeof(list) ); strcy ( ->nme, _nme); ->ge = _ge; ->next = ; // gdy ierwszy element bez List =... (trz orzedni sljd) dl kżdego wstwinego elementu wejdziemy tutj. Powód: funkcj NIE modyfikuje wrtości wskźnik else = (LIST *) mlloc ( sizeof(list) ); // strcy ( ->nme, _nme); ->ge = _ge; while( ->next ) // znjdz osttni element = ->next; // ->next = ; // ->next = ; // 4 ( rzyd się w del_elem()! ) // ->next = ; //, list cykliczn return ; dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) 8

5 0 b 4 dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) 9 /* zmienn globln */ LIST *List = ; int min (void) dd_elem( "", 0 ); dd_elem( "", ); rintlist(list); // ierwsze wywołnie musi być tkie gdy strtujemy od ustej listy // inczej list (z chociż jednym elementem) musi już istnieć // gdy list już istnieje, to odstwienie List =... jest zbędne List = dd_elem( List, "b", ); // 0 dd_elem( List, "b", 0 ); // 0 0 dd_elem( List, "b", ); // 0 0 rintlist( List); del_elem( List, 0 ); dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) 0

6 // ksuje dn z listy uorządkownej // nie mozn usunć ierwszego elementu // usuwny element musi znjdowć się n liście! źle z chwilę tką listę będziemy budowli int del_elem(list *, int _ge) LIST * = ; LIST *fter = ->next; // rzegldnie listy while( fter!= && fter->ge!= _ge) = ->next; // fter = fter->next; // ->next = fter->next; // tu błąd gdy ksownego elem. nie m n liście free(fter); // return (fter!= ); // czy sksowno cos? dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) del_elem( List, 0 ); fter 0 b del_elem( List, 0 ); fter 0 b? błąd ojwi się w tej linii: ->next = fter->next; dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0)

7 /* zmienn globln */ LIST *List = ; // dodwnie elementu w sosób uorządkowny (wg. ol ge) // list musi już istnieć // m sens tylko dl listy uorządkownej // nie wstwi elementu mniejszego niż njmniejszy n liście // (gdyż nleżłoby zmodyfikowć korzeń, tu: ) // douszcz wstwinie duliktów int min (void) dd_elem( "", 0 ); dd_elem( "", ); rintlist(list); // ierwsze wywołnie musi być tkie gdy strtujemy od ustej listy // inczej list (z chociż jednym elementem) musi już istnieć // gdy list już istnieje, to odstwienie List =... jest zbędne List = dd_elem( List, "b", ); // 0 dd_elem( List, "b", 0 ); // 0 0 dd_elem( List, "b", ); // 0 0 rintlist( List); // del_elem( List, 0 ); dd_elem( List, "c", ); // 0 0 dd_elem( List, "c", ); // 0 0 dd_elem( List, "c", ); // 0 0 rintlist( List); efekt wstęnego nieuorządkowni listy dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) int dd_elem (LIST *, chr *_nme, int _ge) LIST *; LIST * = ; // rzeglądnie listy while(!= && (->ge < _ge)) = ; = ->next; // modyfikcj wskźnik OK, dziłmy n koii wskźnik //, // nowy węzeł = (LIST *) mlloc ( sizeof(list) ); //, 6 if ( == ) return FALSE; strcy ( ->nme, _nme); ->ge = _ge; // wstwienie nowego węzł do listy ->next = ; //, ->next = ; // 4, 8??? return TRUE; dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) 4

8 dd_elem( List, "c", ); c 0 b b 0 4 c dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) dd_elem( List, "c", - );, c 0 b b 0 8 c - "dzięki" temu ojwi się błąd rzy róbie drukowni listy (zętli się) 6 dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) 6

9 ... dd_elem( List, "c", ); // 0 0 dd_elem( List, "c", ); // 0 0 dd_elem( List, "c", ); // 0 0 rintlist( List); del_elem( List, ); del_elem( List, ); rintlist( List ); // ksowny element musi być n liście dd_elem4( &List, "d", - ); dd_elem4( &List, "d", ); dd_elem4( &List, "d", - ); dd_elem4( &List, "d", 0 ); rintlist( List ); // dulikt // dodwnie elementu w sosób uorządkowny (wg. ol ge) // list musi już istnieć // m sens tylko dl listy uorządkownej // douszcz wstwinie duliktów // gdy wstwimy mniejszy element niż już jkikolwiek n liście // to modyfikuje korzeń (**) inny sosób to zwrócenie (zmodyfikownego) wskźnik z funkcji instrukcją return. Porównj z funkcją dd_elem() dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) int dd_elem4 (LIST **, chr *_nme, int _ge) LIST *; LIST *; LIST *fter; fter = *; = ; // wżny, trz niżej // rzeglądnie listy while( fter!= && (fter->ge < _ge)) = fter; fter = fter->next; // nowy wezel = (LIST *) mlloc ( sizeof(list) ); // if ( == ) return FALSE; strcy ( ->nme, _nme); ->ge = _ge; // wstwienie nowego wezl do listy ->next = fter; // if ( == ) // czy dołączyć n oczątek? * = ; // jeśli tk, to modyfikuj korzeń, // else ->next = ; // dołącznie nie n oczątek listy return TRUE; dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) 8

10 dd_elem4( &List, "d", - ); fter,... c - dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) 9 // szuk nisu n liście int find(list *, chr *_nme) while (!= ) if ( strcm( ->nme, _nme ) == 0 ) brek; = ->next; return (!= ); void free_list(list *) LIST *; // konieczn zmienn omocnicz. Nie możn wykonć free() elementu // z którego dnych jeszcze chcemy skorzystć! while( ) = ; = ->next; free ( ); dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) 0

11 /* zmienn globln */ LIST *List = ; int min (void) dd_elem( "", 0 ); dd_elem( "", ); rintlist(list); // ierwsze wywołnie musi być tkie gdy strtujemy od ustej listy // inczej list (z chociż jednym elementem) musi już istnieć // gdy list już istnieje, to odstwienie List =... jest zbędne List = dd_elem( List, "b", ); // 0 dd_elem( List, "b", 0 ); // 0 0 dd_elem( List, "b", ); // 0 0 rintlist( List); // del_elem( List, 0 ); dd_elem( List, "c", ); // 0 0 dd_elem( List, "c", ); // 0 0 dd_elem( List, "c", ); // 0 0 rintlist( List); dotsk(list, elemfun); rintlist( List ); // elemfun - wskźnik do funkcji dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) // do kżdego elementu listy dodj + długość ol nme void dotsk (LIST *, void (*fun)(int*, int) ) for (; ; =->next ) fun ( &(->ge), strlen(->nme) ); // modyfikcj kżdego elementu listy // (*fun)( &(->ge), strlen(->nme) ); // lub tk void elemfun (int *, int b) * = * + b + ; dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0)

12 ... dd_elem( List, "c", ); // 0 0 dd_elem( List, "c", ); // 0 0 dd_elem( List, "c", ); // 0 0 rintlist( List); del_elem( List, ); del_elem( List, ); rintlist( List ); // ksowny element musi być n liście dd_elem4( &List, "d", - ); dd_elem4( &List, "d", ); dd_elem4( &List, "d", - ); dd_elem4( &List, "d", 0 ); rintlist( List ); // dulikt rintf("comre: %d nd %d: %d\n", List->ge, List->next->ge, comre( List, List->next) ); rintf("comre: %d nd %d: %d\n", List->next->next->ge, List->ge, comre( List->next->next, List) ); dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) // wersj odowiedni dl qsort() int comre ( const void *, const void * ) LIST *t = (LIST*); // OK LIST *t = (LIST*); // OK // dl: // LIST *t = ; // LIST *t = ; //"[Wrning] initiliztion discrds qulifiers from ointer trget tye" return ( (int*)(t->ge) - (int*)(t->ge) ); // źle (błąd komiltor) // "request for member `ge' in something not structure or union" int comre(const void *, const void *) return ( (int*)(list*)(->ge) - (int*)(list*)(->ge) ); dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) 4

13 DLIST firstdlist =,, - ; DLIST *DList = &firstdlist;... // ierwszy element dd_elem4( &List, "d", - ); dd_elem4( &List, "d", ); dd_elem4( &List, "d", - ); dd_elem4( &List, "d", 0 ); rintlist( List ); // dulikt rintf("comre: %d nd %d: %d\n", List->ge, List->next->ge, comre( List, List->next) ); rintf("comre: %d nd %d: %d\n", List->next->next->ge, List->ge, comre( List->next->next, List) ); dd_delem( DList, ); dd_delem( DList, ); rintdlist( DList ); // list -kierunkow tyedef struct double_list struct double_list *next; // w rzód struct double_list *rev; // w tył int ge; // dne rzechowywne n liście DLIST; dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) // wstwinie do listy -kierunkowej w sosób uorządkowny // list nie może być ust // nie wstwi duliktów void dd_delem (DLIST *, int _ge) DLIST *; DLIST *; // rzeglądnie listy while(!= && (->ge < _ge)) = ; = ->next; = (DLIST *) mlloc ( sizeof(dlist) ); ->ge = _ge; // ustw wskźniki if ( ) // obsług rzydku, gdy jeden element n liście ->rev = ; // ->next = ; // ->next = ; // ->rev = ; // 4 dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) 6

14 dd_delem( DList, ); dd_delem( DList, ); next - - rev 4 4 dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) void rintdlist ( DLIST * ) DLIST *tm; int count = 0; // od rzodu, korzystjąc z ol next while( ) tm = ; // tm odąż z rintf("%d ", ->ge); = ->next; count++; rintf("\n"); // od tyłu, korzystjąc z ol rev while ( count-- ) rintf("%d ", tm->ge); tm = tm->rev; rintf("\n\n"); dr inż. Jrosłw Grmcki, Instytut Informtyki i Elektroniki, UZ (ver..0) 8

Rachunek prawdopodobieństwa i statystyka matematyczna.

Rachunek prawdopodobieństwa i statystyka matematyczna. Rchunek rwdoodobieństw i sttystyk mtemtyczn. Zd 8. {(, : i } Zleżność tą możn rzedstwić w ostci nstęującej interretcji grficznej: Arkdiusz Kwosk Rfł Kukliński Informtyk sem.4 gr. Srwdźmy, czy odne zmienne

Bardziej szczegółowo

Rozwiązania maj 2017r. Zadania zamknięte

Rozwiązania maj 2017r. Zadania zamknięte Rozwiązni mj 2017r. Zdni zmknięte Zd 1. 5 16 5 2 5 2 Zd 2. 5 2 27 2 23 2 2 2 2 Zd 3. 2log 3 2log 5log 3 log 5 log 9 log 25log Zd. 120% 8910 1,2 8910 2,2 8910 $%, 050 Zd 5. Njłtwiej jest zuwżyć że dl 1

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

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

Programowanie i struktury danych

Programowanie i struktury danych Programowanie i struktury danych 1 / 19 Dynamiczne struktury danych Dynamiczną strukturą danych nazywamy taka strukturę danych, której rozmiar, a więc liczba przechowywanych w niej danych, może się dowolnie

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

Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik

Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik Wykład X Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2016 c Copyright 2016 Janusz Słupik Drzewa binarne Drzewa binarne Drzewo binarne - to drzewo (graf spójny bez cykli) z korzeniem (wyróżnionym

Bardziej szczegółowo

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury, , Programowanie, uzupełnienie notatek: dr Jerzy Białkowski , 1 2 3 4 , Wczytywanie liczb , Wczytywanie liczb 1 #include 2 #include < s t d l i b. h> 3 4 int main ( ) { 5 int rozmiar, numer

Bardziej szczegółowo

ZADANIA AUTOMATY I JĘZYKI FORMALNE AUTOMATY SKOŃCZONE

ZADANIA AUTOMATY I JĘZYKI FORMALNE AUTOMATY SKOŃCZONE ZADANIA AUTOMATY I JĘZYKI FORMALNE AUTOMATY SKOŃCZONE DAS Deterministyczny Automt Skończony Zdnie Niech M ędzie DAS tkim że funkcj przejści: Q F ) podj digrm stnów dl M ) które ze słów nleżą do język kceptownego

Bardziej szczegółowo

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy

Bardziej szczegółowo

Wprowadzenie do szablonów klas

Wprowadzenie do szablonów klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008-2010 Bogdan Kreczmer Niniejszy

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego 1 /24 Pisanie pojedynczych znaków z klawiatury do pliku #include void main(void) { FILE *fptr; // wkaznik do pliku, tzw. uchwyt

Bardziej szczegółowo

Zadania. I. Podzielność liczb całkowitych

Zadania. I. Podzielność liczb całkowitych Zdni I. Podzielność liczb cłkowitych. Pewn liczb sześciocyfrow kończy się cyfrą 5. Jeśli tę cyfrę przestwimy n miejsce pierwsze ze strony lewej to otrzymmy nową liczbę cztery rzy większą od poprzedniej.

Bardziej szczegółowo

Co nie powinno być umieszczane w plikach nagłówkowych:

Co nie powinno być umieszczane w plikach nagłówkowych: Zawartość plików nagłówkowych (*.h) : #include #define ESC 27 dyrektywy dołączenia definicje stałych #define MAX(x,y) ((x)>(y)?(x):(y)) definicje makr int menu(char* tab[], int ilosc); struct

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce. POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 204/205 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 2 : Drzewa BST c.d., równoważenie

Bardziej szczegółowo

Poprawność semantyczna

Poprawność semantyczna Poprawność składniowa Poprawność semantyczna Poprawność algorytmu Wypisywanie zdań z języka poprawnych składniowo Poprawne wartościowanie zdań języka, np. w języku programowania skutki wystąpienia wyróżnionych

Bardziej szczegółowo

KURS C/C++ WYKŁAD 8. Deklaracja funkcji informuje komplilator jaką wartość funkcja będzie zwracała i jakiego typu są jej argumenty.

KURS C/C++ WYKŁAD 8. Deklaracja funkcji informuje komplilator jaką wartość funkcja będzie zwracała i jakiego typu są jej argumenty. Funkcje. Deklaracja funkcji: KURS C/C++ WYKŁAD 8 #include //deklaracje funkcji: printf(...), scanf(...) #include //double sqrt (double ) #include //void clrscr (void) void main

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wieczorowe Studia Licencjackie Wrocław, 9.01.2007 Wstęp do programowania Wykład nr 13 Listy usuwanie elementów Poniżej prezentujemy funkcję, która usuwa element o podanej wartości pola wiek z nieuporządkowanej

Bardziej szczegółowo

Wskaźniki. Programowanie Proceduralne 1

Wskaźniki. Programowanie Proceduralne 1 Wskaźniki Programowanie Proceduralne 1 Adresy zmiennych Sterta 1 #include 2 3 int a = 2 ; 4 5 int main ( ) 6 { 7 int b = 3 ; 8 9 printf ( " adres zmiennej a %p\n", &a ) ; 10 printf ( " adres

Bardziej szczegółowo

Algorytmy i Struktury Danych.

Algorytmy i Struktury Danych. Algorytmy i Struktury Danych. Liniowe struktury danych - Lista Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 5 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych.

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

Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać)

Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać) Języki i Paradygmaty Programowania Laboratorium 1 Obiekty i klasy C++ Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać) UWAGA! Umiejętność tworzenia

Bardziej szczegółowo

Pobieranie argumentów wiersza polecenia

Pobieranie argumentów wiersza polecenia Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:

Bardziej szczegółowo

Algorytmy i Struktury Danych.

Algorytmy i Struktury Danych. Algorytmy i Struktury Danych. Drzewa poszukiwań binarnych. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych.

Bardziej szczegółowo

WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5

WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 WYKŁAD 10 Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 Tomasz Zieliński ZMIENNE O ZŁOŻONEJ BUDOWIE (1) Zmienne

Bardziej szczegółowo

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

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel Wstęp do programowania Drzewa Piotr Chrząstowski-Wachtel Drzewa Drzewa definiują matematycy, jako spójne nieskierowane grafy bez cykli. Równoważne określenia: Spójne grafy o n wierzchołkach i n-1 krawędziach

Bardziej szczegółowo

WYKŁAD 9. Algorytmy sortowania elementów zbioru (tablic) Programy: c4_1.c... c4_3.c. Tomasz Zieliński

WYKŁAD 9. Algorytmy sortowania elementów zbioru (tablic) Programy: c4_1.c... c4_3.c. Tomasz Zieliński WYKŁAD 9 Algorytmy sortowania elementów zbioru (tablic) Programy: c4_1.c... c4_3.c Tomasz Zieliński /* Przyklad 4.1 - SORTOWANIE TABLIC - metoda najprostsza */ #include #define ROZMIAR 11 void

Bardziej szczegółowo

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU Inicjalizacja agregatowa zmiennej tablicowej int a[5] = 1,2,3,4,5 INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU Struktury są również agregatami, dlatego: struct X double f; char c; X x1 = 1, 2.2, 'c' Ale

Bardziej szczegółowo

PEWNIK DEDEKINDA i jego najprostsze konsekwencje

PEWNIK DEDEKINDA i jego najprostsze konsekwencje PEWNIK DEDEKINDA i jego njprostsze konsekwencje W rozdzile ósmym stwierdziliśmy, że z podnych tm pewników nie wynik istnienie pierwistków z liczb rzeczywistych. Uzupe lnimy terz liste pewników jeszcze

Bardziej szczegółowo

Jzyk C++ cz 3. Jarosław Gramacki Instytut Informatyki i Elektroniki ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )

Jzyk C++ cz 3. Jarosław Gramacki Instytut Informatyki i Elektroniki ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2 ( $%%) )'20 )*0) 1 / ) Jzyk C++ cz 3 Jarosław Gramacki Instytut Informatyki i Elektroniki # $$%%& ' ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )!" 2 # $$%%& ' ( $%%/,))3 ( %* 2 / 4 ( ( *' *''*,

Bardziej szczegółowo

Weryfikacja modelowa jest analizą statyczną logiki modalnej

Weryfikacja modelowa jest analizą statyczną logiki modalnej Weryfikcj modelow jest nlizą sttyczną logiki modlnej Mrcin Sulikowski MIMUW 15 grudni 010 1 Wstęp Weryfikcj systemów etykietownych 3 Flow Logic 4 Weryfikcj modelow nliz sttyczn Co jest czym czego? Weryfikcj

Bardziej szczegółowo

ALGORYTMY I STRUKTURY DANYCH

ALGORYTMY I STRUKTURY DANYCH ALGORYTMY I STRUKTURY DANYCH Temat 4: Realizacje dynamicznych struktur danych. Wykładowca: dr inż. Zbigniew TARAPATA e-mail: Zbigniew.Tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/

Bardziej szczegółowo

Wstęp do programowania 1

Wstęp do programowania 1 Wstęp do programowania 1 Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Struktura dla dat - przykład #include struct Date { int y; short m; short

Bardziej szczegółowo

Matematyka stosowana i metody numeryczne

Matematyka stosowana i metody numeryczne Ew Pbisek Adm Wostko Piotr Pluciński Mtemtyk stosown i metody numeryczne Konspekt z wykłdu 0 Cłkownie numeryczne Wzory cłkowni numerycznego pozwlją n obliczenie przybliżonej wrtości cłki: I(f) = f(x) dx

Bardziej szczegółowo

1 Ułamki zwykłe i dziesiętne

1 Ułamki zwykłe i dziesiętne Liczby wymierne i niewymierne Liczby wymierne i niewymierne - powtórzenie Ułmki zwykłe i dziesiętne. Rozszerznie ułmków Rozszerz ułmki b c b c 6 8. Skrcnie ułmków c b c b 8 0 Liczby wymierne i niewymierne

Bardziej szczegółowo

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana Wykład Materiały bazują częściowo na slajdach Marata Dukhana Języki programowania Kompilowane np. C, C++, Pascal Interpretowane np. JavaScript, PHP, Python, VBA Pośrednie np. Java, C# Znane kompilatory

Bardziej szczegółowo

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1 Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).

Bardziej szczegółowo

część 8 wskaźniki - podstawy Jarosław Gramacki Instytut Informatyki i Elektroniki Podstawowe pojęcia

część 8 wskaźniki - podstawy Jarosław Gramacki Instytut Informatyki i Elektroniki Podstawowe pojęcia Język ANSI C część 8 wskaźniki - podstawy Jarosław Gramacki Instytut Informatyki i Elektroniki Podstawowe pojęcia najbardziej podstawowe operacje na wskaźnikach int x = 1, y = 2, Tab[10]; int *ip; // czy

Bardziej szczegółowo

Funkcja (podprogram) void

Funkcja (podprogram) void Funkcje Co to jest funkcja? Budowa funkcji Deklaracja, definicja i wywołanie funkcji Przykłady funkcji definiowanych przez programistę Przekazywanie argumentów do funkcji Tablica jako argument funkcji

Bardziej szczegółowo

int tab_a [ 2 ] [ 3 ];

int tab_a [ 2 ] [ 3 ]; // PROGRAM 4_1 - Przyklady dynamicznego tworzenia // i usuwania tablicy dwuwymiarowej int [2][3] #include void main(void) //------------------------------ Przyklad A -------------------------------------------

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część trzynasta Tablice struktur, pliki struktur Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści

Bardziej szczegółowo

Algorytm selekcji Hoare a. Łukasz Miemus

Algorytm selekcji Hoare a. Łukasz Miemus Algorytm selekcji Hoare a Łukasz Miemus 1 lutego 2006 Rozdział 1 O algorytmie 1.1 Problem Mamy tablicę A[N] różnych elementów i zmienną int K, takie że 1 K N. Oczekiwane rozwiązanie to określenie K-tego

Bardziej szczegółowo

Sieciowa komunikacja procesów - XDR i RPC

Sieciowa komunikacja procesów - XDR i RPC *** abc.x Przyklad pliku RPCGEN Obliczanie sumy, roznicy i iloczynu dwoch liczb calkowitych *** ************************************ Wywolanie procedury odleglej dopuszcza tylko jeden argument wywolania

Bardziej szczegółowo

Wykład 12. Programowanie serwera MS SQL 2005 w C#

Wykład 12. Programowanie serwera MS SQL 2005 w C# Wykład 12 Programowanie serwera MS SQL 2005 w C# Budowa procedur składowanych w C# Budowa funkcji składowanych w C# Wykorzystanie funkcji składowanych w C# po stronie klienta Tworzenie typów definiowanych

Bardziej szczegółowo

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji? Zadanie 01 W przedstawionym ponizej programie w jezyku ANSI C w miejscu wykropkowanym brakuje jednej linii: #include... int main() { printf("tralalalala"); return 0; } A. B. "iostream" C.

Bardziej szczegółowo

Programy współbieżne

Programy współbieżne Specyfikownie i weryfikownie Progrmy współieżne Mrek A. Bednrczyk, www.ipipn.gd.pl Litertur wiele prc dostępnych w Sieci np.: http://www.wikipedi.org/ Specyfikownie i weryfikcj progrmy współieżne PJP Prosty

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

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

Algorytmy z powrotami. Algorytm minimax

Algorytmy z powrotami. Algorytm minimax Algorytmy z powrotami. Algorytm minimax Algorytmy i struktury danych. Wykład 7. Rok akademicki: 2010/2011 Algorytm z powrotami rozwiązanie problemu budowane jest w kolejnych krokach, po stwierdzeniu (w

Bardziej szczegółowo

Badanie regularności w słowach

Badanie regularności w słowach Przypdek sekwencyjny Mrcin Piątkowski Wydził Mtemtyki i Informtyki Uniwersytet Mikołj Kopernik Edsger Wybe Dijkstr (1930 2002) Computer science is no more bout computers thn stronomy is bout telescopes,

Bardziej szczegółowo

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C Opublikowano w: WEREWKA J..: Podstawy programowana dla automatyków. Skrypt AGH Nr 1515, Kraków 1998 20. i łączenie podprogramów a z programem napisanym w Ze względu na duże rozpowszechnienie języka, szczególnie

Bardziej szczegółowo

Komisja Egzaminacyjna dla Aktuariuszy LII Egzamin dla Aktuariuszy z 15 marca 2010 r. Część I Matematyka finansowa

Komisja Egzaminacyjna dla Aktuariuszy LII Egzamin dla Aktuariuszy z 15 marca 2010 r. Część I Matematyka finansowa Mtemtyk finnsow 15.0.010 r. Komisj Egzmincyjn dl Akturiuszy LII Egzmin dl Akturiuszy z 15 mrc 010 r. Część I Mtemtyk finnsow WERSJA TESTU A Imię i nzwisko osoy egzminownej:... Czs egzminu: 100 minut 1

Bardziej szczegółowo

Wstęp do programowania. Różne różności

Wstęp do programowania. Różne różności Wstęp do programowania Różne różności Typy danych Typ danych określa dwie rzeczy: Jak wartości danego typu są określane w pamięci Jakie operacje są dozwolone na obiektach danego typu 2 Rodzaje typów Proste

Bardziej szczegółowo

Wykład 2. Granice, ciągłość, pochodna funkcji i jej interpretacja geometryczna

Wykład 2. Granice, ciągłość, pochodna funkcji i jej interpretacja geometryczna 1 Wykłd Grnice, ciągłość, pocodn unkcji i jej interpretcj geometryczn.1 Grnic unkcji. Grnic lewostronn i grnic prwostronn unkcji Deinicj.1 Mówimy, że liczb g jest grnicą lewostronną unkcji w punkcie =,

Bardziej szczegółowo

Laboratorium Podstawy Przetwarzania Rozproszonego SPRAWOZDANIE z zadania SERWIS KOMPUTEROWY

Laboratorium Podstawy Przetwarzania Rozproszonego SPRAWOZDANIE z zadania SERWIS KOMPUTEROWY Laboratorium Podstawy Przetwarzania Rozproszonego SPRAWOZDANIE z zadania SERWIS KOMPUTEROWY Nazwisko Imię album termin zajęć Marek Lewandowski 59817 Maciej Mietliński 59832 poniedziałek 18:30 tydzień nieparzysty

Bardziej szczegółowo

Stałe, tablice dynamiczne i wielowymiarowe

Stałe, tablice dynamiczne i wielowymiarowe Stałe, tablice dynamiczne i wielowymiarowe tylko do odczytu STAŁE - CONST tablice: const int dni_miesiaca[12]=31,28,31,30,31,30,31,31,30,31,30,31; const słowo kluczowe const sprawia, że wartość zmiennej

Bardziej szczegółowo

DYNAMICZNE PRZYDZIELANIE PAMIECI

DYNAMICZNE PRZYDZIELANIE PAMIECI DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne

Bardziej szczegółowo

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU Inicjalizacja agregatowa zmiennej tablicowej int a[5] = 1,2,3,4,5 INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU Struktury są również agregatami, dlatego: struct X double f; char c; X x1 = 1, 2.2, 'c' Ale

Bardziej szczegółowo

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych

Bardziej szczegółowo

4.3. Przekształcenia automatów skończonych

4.3. Przekształcenia automatów skończonych 4.3. Przeksztłceni utomtów skończonych Konstrukcj utomtu skończonego (niedeterministycznego) n podstwie wyrżeni regulrnego (lgorytm Thompson). Wejście: wyrżenie regulrne r nd lfetem T Wyjście : utomt skończony

Bardziej szczegółowo

Wykład 1

Wykład 1 Wstęp do programowania 1 Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Wprowadzenie Cel wykładów z programowania proceduralnego Wykład jest poświęcony językowi C i jego

Bardziej szczegółowo

Algorytmy i Struktury Danych. Co dziś? Drzewo decyzyjne. Wykład IV Sortowania cd. Elementarne struktury danych

Algorytmy i Struktury Danych. Co dziś? Drzewo decyzyjne. Wykład IV Sortowania cd. Elementarne struktury danych Algorytmy i Struktury Danych Wykład IV Sortowania cd. Elementarne struktury danych 1 Co dziś? Dolna granica sortowań Mediany i statystyki pozycyjne Warstwa implementacji Warstwa abstrakcji #tablice #listy

Bardziej szczegółowo

Dzi kuj za uwag! Spotkania z Pythonem. Cz ± 1 - podstawy - rozwi zania zada« Michaª Alichniewicz. Gda«sk 2014. Studenckie Koªo Automatyków SKALP

Dzi kuj za uwag! Spotkania z Pythonem. Cz ± 1 - podstawy - rozwi zania zada« Michaª Alichniewicz. Gda«sk 2014. Studenckie Koªo Automatyków SKALP Spotkania z Pythonem Cz ± 1 - podstawy - rozwi zania zada«michaª Alichniewicz Studenckie Koªo Automatyków SKALP Gda«sk 2014 Dzi kuj za uwag! Na licencji Creative Commons Attribution-NonCommercial-ShareAlike

Bardziej szczegółowo

MATeMAtyka 3 inf. Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych. Zakres podstawowy i rozszerzony. Dorota Ponczek, Karolina Wej

MATeMAtyka 3 inf. Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych. Zakres podstawowy i rozszerzony. Dorota Ponczek, Karolina Wej Dorot Ponczek, Krolin Wej MATeMAtyk 3 inf Przedmiotowy system ocenini wrz z określeniem wymgń edukcyjnych Zkres podstwowy i rozszerzony Wyróżnione zostły nstępujące wymgni progrmowe: konieczne (K), podstwowe

Bardziej szczegółowo

4.6. Gramatyki regularne

4.6. Gramatyki regularne 4.6. Grmtyki regulrne G = < N,T,P,Z > jest grmtyką prwostronnie liniową, jeśli jej produkcje mją postć: ( i) U xv x T * U,V N ( ii) U x G = < N,T,P,Z > jest grmtyką prwostronnie regulrną, jeśli jej produkcje

Bardziej szczegółowo

Wektor kolumnowy m wymiarowy macierz prostokątna o wymiarze n=1 Wektor wierszowy n wymiarowy macierz prostokątna o wymiarze m=1

Wektor kolumnowy m wymiarowy macierz prostokątna o wymiarze n=1 Wektor wierszowy n wymiarowy macierz prostokątna o wymiarze m=1 Rchunek mcierzowy Mcierzą A nzywmy funkcję 2-zmiennych, któr prze liczb nturlnych (i,j) gdzie i = 1,2,3,4.,m; j = 1,2,3,4,n przyporządkowuje dokłdnie jeden element ij. 11 21 A = m1 12 22 m2 1n 2n mn Wymirem

Bardziej szczegółowo

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1 PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,

Bardziej szczegółowo

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO LABORATORIUM Temat: QNX Neutrino Interrupts Mariusz Rudnicki 2016 Wstęp W QNX Neutrino wszystkie przerwania sprzętowe przechwytywane są przez jądro systemu. Obsługę

Bardziej szczegółowo

KOLEJKA (QUEUE) (lista fifo first in, first out)

KOLEJKA (QUEUE) (lista fifo first in, first out) KOLEJKA (QUEUE) (lista fifo first in, first out) Kolejki są listami, których elementy można wstawiać z jednego końca (rear-tył) a usuwać z drugiego (front - przód). Operacje: 1. MAKENULL(Q) czyni kolejkę

Bardziej szczegółowo

2. FUNKCJE WYMIERNE Poziom (K) lub (P)

2. FUNKCJE WYMIERNE Poziom (K) lub (P) Kls drug poziom podstwowy 1. SUMY ALGEBRAICZNE Uczeń otrzymuje ocenę dopuszczjącą lub dostteczną, jeśli: rozpoznje jednominy i sumy lgebriczne oblicz wrtości liczbowe wyrżeń lgebricznych redukuje wyrzy

Bardziej szczegółowo

Funkcje. Piotr Zierhoffer. 7 października Institute of Computer Science Poznań University of Technology

Funkcje. Piotr Zierhoffer. 7 października Institute of Computer Science Poznań University of Technology Funkcje Piotr Zierhoffer Institute of Computer Science Poznań University of Technology 7 października 2012 Funkcje Funkcja podprogram. Nazwany blok kodu realizujacy jakieś zadanie. sin(x), arccos(x), min(a,

Bardziej szczegółowo

Dzisiejszy wykład. Klasa string. wersja prosta wersja ze zliczaniem odwołań. Wyjątki Specyfikator volatile Semafory

Dzisiejszy wykład. Klasa string. wersja prosta wersja ze zliczaniem odwołań. Wyjątki Specyfikator volatile Semafory Dzisiejszy wykład Klasa string wersja prosta wersja ze zliczaniem odwołań Wyjątki Specyfikator volatile Semafory 1 Klasa string Przetwarzanie tekstów jest powszechną dziedziną zastosowań komputerów W języku

Bardziej szczegółowo

Programowanie obiektowe 2005/2006. Laboratorium 1. Przeciążanie funkcji

Programowanie obiektowe 2005/2006. Laboratorium 1. Przeciążanie funkcji Laboratorium 1 Przeciążanie funkcji W języku C++ można stosować tę samą nazwę dla funkcji o różnej treści, pod warunkiem, że funkcje te mają różne parametry (różny jest typ lub liczba parametrów). Jest

Bardziej szczegółowo

Jest błędem odwołanie się do zmiennej, której nie przypisano wcześniej żadnej wartości.

Jest błędem odwołanie się do zmiennej, której nie przypisano wcześniej żadnej wartości. Zmienne Po nieco intuicyjnych początkch, zjmiemy się obiektmi, n których opier się progrmownie są to zmienne. Zmienne Progrmy operują n zmiennych. Ndwnie im wrtości odbyw się poprzez instrukcję podstwieni.

Bardziej szczegółowo

WYZNACZANIE OGNISKOWEJ SOCZEWEK CIENKICH ZA POMOCĄ ŁAWY OPTYCZNEJ

WYZNACZANIE OGNISKOWEJ SOCZEWEK CIENKICH ZA POMOCĄ ŁAWY OPTYCZNEJ Ćwiczenie 9 WYZNACZANIE OGNISKOWEJ SOCZEWEK CIENKICH ZA POMOCĄ ŁAWY OPTYCZNEJ 9.. Opis teoretyczny Soczewką seryczną nzywmy przezroczystą bryłę ogrniczoną dwom powierzchnimi serycznymi o promienich R i

Bardziej szczegółowo

Przeciążanie funkcji. Przykład 1: #include <iostream> using namespace std; double srednia(double n1, double n2) { return ((n1 + n2)/2.

Przeciążanie funkcji. Przykład 1: #include <iostream> using namespace std; double srednia(double n1, double n2) { return ((n1 + n2)/2. Przeciążanie funkcji W języku C++ można stosować tę samą nazwę dla funkcji o różnej treści, pod warunkiem, że funkcje te mają różne parametry (różny jest typ lub liczba parametrów). Jest to przeciążanie

Bardziej szczegółowo

Wstęp do programowania. Drzewa podstawowe techniki. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Drzewa podstawowe techniki. Piotr Chrząstowski-Wachtel Wstęp do programowania Drzewa podstawowe techniki Piotr Chrząstowski-Wachtel Drzewa wyszukiwań Drzewa często służą do przechowywania informacji. Jeśli uda sie nam stworzyć drzewo o niewielkiej wysokości

Bardziej szczegółowo

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17 Wskaźniki Przemysław Gawroński D-10, p. 234 Wykład 2 8 marca 2019 (Wykład 2) Wskaźniki 8 marca 2019 1 / 17 Outline 1 Wskaźniki 2 Tablice a wskaźniki 3 Dynamiczna alokacja pamięci (Wykład 2) Wskaźniki 8

Bardziej szczegółowo

Język C - podstawowe informacje

Język C - podstawowe informacje Język C - podstawowe informacje Michał Rad AGH Laboratorium Maszyn Elektrycznych 2014-12-05 Outline Program w języku C Funkcje Składnia Instrukcje sterujace Na koniec... Po kolei napisać program (zwykły

Bardziej szczegółowo

Hermetyzacja oraz pola i metody statyczne

Hermetyzacja oraz pola i metody statyczne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2010 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Modelowanie i obliczenia techniczne. Metody numeryczne w modelowaniu: Różniczkowanie i całkowanie numeryczne

Modelowanie i obliczenia techniczne. Metody numeryczne w modelowaniu: Różniczkowanie i całkowanie numeryczne Modelownie i obliczeni techniczne Metody numeryczne w modelowniu: Różniczkownie i cłkownie numeryczne Pochodn unkcji Pochodn unkcji w punkcie jest deiniown jko grnic ilorzu różnicowego (jeżeli istnieje):

Bardziej szczegółowo

PODSTAWY BAZ DANYCH Wykład 3 2. Pojęcie Relacyjnej Bazy Danych

PODSTAWY BAZ DANYCH Wykład 3 2. Pojęcie Relacyjnej Bazy Danych PODSTAWY BAZ DANYCH Wykłd 3 2. Pojęcie Relcyjnej Bzy Dnych 2005/2006 Wykłd "Podstwy z dnych" 1 Rozkłdlno dlność schemtów w relcyjnych Przykłd. Relcj EGZ(U), U := { I, N, P, O }, gdzie I 10 10 11 N f f

Bardziej szczegółowo

Wprowadzenie do Sieci Neuronowych Łańcuchy Markowa

Wprowadzenie do Sieci Neuronowych Łańcuchy Markowa Projekt pn. Wzmonienie potenjłu dydktyznego UMK w Toruniu w dziedzinh mtemtyzno-przyrodnizyh relizowny w rmh Poddziłni 4.1.1 Progrmu Operyjnego Kpitł Ludzki Wprowdzenie do Siei Neuronowyh Łńuhy Mrkow Mj

Bardziej szczegółowo

część 16 struktury rekurencyjne i ich zastosowania drzewa binarne, algorytmy rekurencyjne dla drzew binarnych

część 16 struktury rekurencyjne i ich zastosowania drzewa binarne, algorytmy rekurencyjne dla drzew binarnych Język ANSI C część 16 struktury rekurencyjne i ich zastosowania drzewa binarne, algorytmy rekurencyjne dla drzew binarnych Jarosław Gramacki Instytut Informatyki i Elektroniki rekurencja wiele czynności

Bardziej szczegółowo

Struktury czyli rekordy w C/C++

Struktury czyli rekordy w C/C++ Struktury czyli rekordy w C/C++ Wprowadzenie do programowania w języku C struktury. pola bitowe, unie Struktury (rekordy) są złożonymi zmiennymi, składającymi się z elementów różnych typów zwanych polami,

Bardziej szczegółowo

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne 1 Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion,

Bardziej szczegółowo

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p. Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja

Bardziej szczegółowo

Wprowadzenie do Sieci Neuronowych Łańcuchy Markowa

Wprowadzenie do Sieci Neuronowych Łańcuchy Markowa Wprowdzenie do Siei Neuronowyh Łńuhy Mrkow Mj Czoków, Jrosłw Piers 213-1-14 1 Przypomnienie Łńuh Mrkow jest proesem stohstyznym (iągiem zmiennyh losowyh), w którym rozkłd zmiennej w hwili t zleży wyłąznie

Bardziej szczegółowo

Przykªadowe tematy z JiMP

Przykªadowe tematy z JiMP Przykªadowe tematy z JiMP 1. Prosz napisa program, który dokona konwersji swojego argumentu wywoªania z punktw na centymetry, (77.27 pt = 1 cal = 2.54 cm) tzn. np. wywoªanie: c:\>pkt 144.54 = 5.08 cm spowoduje

Bardziej szczegółowo

Zbiory wyznaczone przez funkcje zdaniowe

Zbiory wyznaczone przez funkcje zdaniowe pojęci zbioru i elementu RCHUNEK ZIORÓW zbiór zwier element element nleży do zbioru jest elementem zbioru ( X zbiór wszystkich przedmiotów indywidulnych, których dotyczy dn nuk zbiór pełny (uniwerslny

Bardziej szczegółowo

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3 Modelowanie numeryczne w fizyce atmosfery Sylwester Arabas (ćwiczenia do wykładu dr. hab. inż. Lecha Łobockiego) Instytut Geofizyki, Wydział Fizyki Uniwersytetu Warszawskiego 3. listopada 2011 r. Schemat

Bardziej szczegółowo

Tablice deklaracja, reprezentacja wewnętrzna

Tablice deklaracja, reprezentacja wewnętrzna Tablice deklaracja, reprezentacja wewnętrzna Tablica jest zmienną złożoną z elementów tego samego typu. Obejmuje ona ciągły obszar pamięci operacyjnej dokładnie tak duży, aby zmieścić wszystkie jej elementy.

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

Bardziej szczegółowo

Programowanie w językach

Programowanie w językach Programowanie w językach wysokiego poziomu Obsługa plików za pomocą strumieni Elektronika i Telekomunikacja, semestr III rok akademicki 2013/2014 dr inż. Paweł Myszkowski Plan zajęć a) otwieranie i zamykanie

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 8 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Podprogramy Czasami wygodnie jest wyodrębnić jakiś fragment programu jako pewną odrębną całość umożliwiają to podprogramy.

Bardziej szczegółowo

Wykład 6_1 Abstrakcyjne typy danych stos Realizacja tablicowa i za pomocą rekurencyjnych typów danych

Wykład 6_1 Abstrakcyjne typy danych stos Realizacja tablicowa i za pomocą rekurencyjnych typów danych Wykład 6_ Abstrakcyjne typy danych stos Realizacja tablicowa i za pomocą rekurencyjnych typów danych Abstrakcyjny typ danych Klient korzystający z abstrakcyjnego typu danych: o ma do dyspozycji jedynie

Bardziej szczegółowo