Anatomia definicji rekursywnej. Anatomia definicji rekursywnej. int silnia(intn){ if(n==0) return 1; else return n*silnia(n-1); }
|
|
- Michalina Adamska
- 5 lat temu
- Przeglądów:
Transkrypt
1 Anatomia definicji rekursywnej int silnia(intn){ if(n==0) return 1; else return n*silnia(n-1); PRZYPADEK BAZOWY PRZYPADEK REKURSYWNY Definicja rekursywna musi zawierać przypadek bazowy, czyli kod bez wywołania rekursywnego, wykonywany dla bardzo małych argumentów. Kod dla przypadków rekursywnych(może ich być więcej niż jeden), wykonywany dla pozostałych argumentów, składa się z wywołań rekursywnych dla mniejszych argumentów, oraz słowa wiążącego, zawierającego przejście od wyniku funkcji dla mniejszych argumentów do wyniku dla większych argumentów. Anatomia definicji rekursywnej Wykład 7. REKURSJA, str. Przykład: (ciąg Fibonacciego) F(0) def =0 F(1) def =1 F(n+) def =F(n+1)+F(n) Rozrastanie się drzewa: Każdagałąźwjednymroku wypuszcza gałązkę potomną,awnastępnymodpoczywa. Rok6 8 Rok5 5 Rok4 3 Rok3 Rok 1
2 Anatomia definicji rekursywnej Przykład: (ciąg Fibonacciego) F(0) def =0 F(1) def =1 F(n+) def =F(n+1)+F(n) int Fib(intn) { if(n<=1) returnn; else return Fib(n-1)+Fib(n-); Powyższa definicja nie mówi wprost, czemu jest równy kolejny wyraz ciągu Fibonacciego; tylko jak przejść od wyrazów mniejszych do większych. Za resztę odpowiada mechanizm rekursji. Anatomia definicji rekursywnej Wykład 7. REKURSJA, str. 4 Przykład: (maksimum system pucharowy) double max(doublea[],intn,intk) { /* wyszukuje największą liczbę w ciągu a[n]...a[k-1]*/ int p; double m1,m; if(k-n==1) returna[n]; else { p=(n+k)/; m1=max(a,n,p); m=max(a,p,k); if(m1>m) returnm1; else return m; Powyższa definicja nie mówi wprost, jak znaleźć maksimum; tylko jak z maksimów ciągów krótszych zrobić maksimum ciągu dłuższego. Za resztę odpowiada mechanizm rekursji.
3 Anatomia definicji rekursywnej Przykład: (maksimum system pucharowy) a: {{ {{{{{{ {{ 5.99 {{ {{ 33.3 {{ Zasady indukcji matematycznej Wykład 7. REKURSJA, str. 6 Zupełna: W(0) ( k<n W(k)) W(n) n W(n) Klasyczna: P(0) P(n) P(n+1) n P(n) TWIERDZENIE: Powyższe dwie zasady indukcji są równoważne. Dowód wynikania Z K: Załóżmy, że zachodzi P(0) oraz P(n) P(n+1) Wtedyzachodzirównież( k<n+1 P(k)) P(n+1),botaimplikacjajest słabszaodp(n) P(n+1).WobectegozregułyZmamy n P(n).
4 Zasady indukcji matematycznej Zupełna: W(0) ( k<n W(k)) W(n) n W(n) Klasyczna: P(0) P(n) P(n+1) n P(n) TWIERDZENIE: Powyższe dwie zasady indukcji są równoważne. Dowód wynikania Z K: Załóżmy,żezachodziW(0)oraz ( k<n W(k)) W(n) ( ). def Oznaczmy: P(n) k<n+1 W(k).WtedyP(0) W(0)oraz P(n) P(n)& k<n+1 W(k) ( ) P(n)&W(n+1) P(n+1) ZregułyKmamy n k<n+1 W(k),cojestrównoważne n W(n). Indukcja w logice filozoficznej Wykład 7. REKURSJA, str. 8 Wnioskowanie dedukcyjne: CODZIENNIE WSCHODZI SŁOŃCE 7 XII 008 wzeszło Słońce 6 XII 009 wzeszło Słońce 7 XII 009 wzeszło Słońce Wnioskowanie indukcyjne: CODZIENNIE WSCHODZI SŁOŃCE 7 XII 008 wzeszło Słońce 7 XII 009 wzeszło Słońce 6 XII 009 wzeszło Słońce
5 Indukcja w logice filozoficznej Rozumowanie indukcyjne: wyciąganie wniosków ogólnych ze szczególnych przypadków; np. wyprowadzanie praw natury z pojedynczych eksperymentów. Żeby indukcja była poprawną metodą wnioskowania, potrzebne są dodatkowe założenia. Klasyczna indukcja matematyczna oraz indukcja zupełna są poprawnymi metodami wnioskowania o własnościach liczb naturalnych; już dla liczb całkowitych zawodzą. Przy zastosowaniach informatycznych miara wielkości problemu musi być naturalna;np.wprzykładziemaxbyłaniąwielkośćk n. Badanie własności funkcji rekursywnej Wykład 7. REKURSJA, str. 10 double max(doublea[],intn,intk) { int p; double m1,m; if(k-n==1) returna[n]; else { p=(n+k)/; m1=max(a,n,p); m=max(a,p,k); if(m1>m) returnm1; else return m; TWIERDZENIE: Jeślin+1 k,to max(a,n,k) jest największą liczbą spośród a[n]...a[k-1]. Dowóddlaprzypadkuk n=1: Wtedyk=n+1,więcchodziociąga[n]...a[n],zawierającytylko jeden element a[n]; więc to ten element jest największy. I ten właśnie element funkcja oddaje.
6 Badanie własności funkcji rekursywnej double max(doublea[],intn,intk) { int p; double m1,m; if(k-n==1) returna[n]; else { p=(n+k)/; m1=max(a,n,p); m=max(a,p,k); if(m1>m) returnm1; else return m; TWIERDZENIE: Jeślin+1 k,to max(a,n,k) jest największą liczbą spośród a[n]...a[k-1]. Dowóddlaprzypadkuk n>1: Wtedyk n+,więcn<p<k. m 1 jestnajwiększaspośróda[n]...a[p-1]a m jestnajwiększaspośróda[p]...a[k-1], więc większa z nich jest największa w całym a[n]...a[k-1]. I tą właśnie liczbę funkcja oddaje. Schemat dowodu Udowodniliśmy, że Wykład 7. REKURSJA, str. 1 wprzypadkubazowymk m=1wywołaniefunkcjimax(a,m,k) działa poprawnie, wprzypadkurekursywnymk m>1wywołaniefunkcjimax(a,m,k) poprawnie konstruuje wynik z wyników wywołań max(a,m,k ), dla którychk m <k m. Stąd wyciągnęliśmy wniosek, że wywołanie max(a,m,k) działa poprawnie dladowolnegok m 1. W przypadku rekursywnym: założyliśmy, że poprawnie działają wewnętrzne wywołania max(a,m,k )dlak m <k m; z tego wywnioskowaliśmy, że poprawnie działa wywołanie max(a,m,k).
7 Zamiana iteracji for na rekursję Iteracja for daje się w zasadzie zastąpić wywołaniem funkcji rekursywnej zdefiniowanej bez użycia for-ów i while-ów: for(i=a; i<b; i=i+1) komenda; void ff(inti) { if(i<b) { komenda; ff(i+1); ff(a); Iteracja idzie naprzód, rekursja idzie w głąb. Efektjestwzasadzietensam. Zamiana iteracji for na rekursję Wykład 7. REKURSJA, str. 14 Przykład: (wypełnianie tablicy liczbami) for(i=0; i<100; i=i+1) tab[i]=i; void ff(inti) { if(i<100) { tab[i]=i; ff(i+1); ff(0); Dla dowolnej liczby naturalnej i, wywołanie ff(i) powoduje wypełnienie liczbami tablicy tab od pozycji i do pozycji 99 włącznie. Wywołanie ff(0) powoduje wypełnienie liczbami tablicy tab od pozycji 0 do pozycji 99 włącznie.
8 Zamiana pętli while na rekursję Pętla while daje się w zasadzie zastąpić wywołaniem funkcji rekursywnej zdefiniowanej bez użycia for-ów i while-ów: while(warunek) komenda; void ww() { if(warunek) { komenda;ww(); ww(); Pętla idzie naprzód, rekursja idzie w głąb. Efektjestwzasadzietensam. Zamiana pętli while na rekursję Wykład 7. REKURSJA, str. 16 Przykład: (szukanie liczby pierwszej większej od danej n) int k,i; int k,i; k=n+1; i=; while(i<k) if(k%i==0) { k=k+1; i=; else i=i+1; void ww() { if(i<k) { if(k%i==0) { k=k+1; i=; else i=i+1; ww(); k=n+1; i=; ww();
9 Zamiana pętli while na rekursję Przykład: (szukanie liczby pierwszej większej od danej n) int k,i; k=n+1; i=; while(i<k) if(k%i==0) { k=k+1; i=; else i=i+1; int ww(intk,inti) { if(i==k) returnk; else if(k%i==0) return ww(k+1, ); else return ww(k, i+1); ww(n+1,); Dladowolnejparyliczbkii,jeślikniedzielisięprzezżadnąliczbęmiędzy a i 1 włącznie, to ww(k,i) jest najmniejszą liczbą pierwszą niemniejszą niżk. ww(n + 1,) jest najmniejszą liczbą pierwszą większą od n. Zamiana pętli while na rekursję Wykład 7. REKURSJA, str. 18 Efekt jest w zasadzie ten sam. Wyjątek od zasady: Każde wywołanie rekursywne zajmuje kawałek pamięci, więc bardzo głęboka rekursja kończy się błędem wyczerpania pamięci. Przykład: while(1==1) a=a+1; void qq() { if(1==1) { a=a+1;qq(); qq(); Pętla while: nieskończone działanie. Funkcja qq: Segmentation fault Naruszenie ochrony pamięci
10 Zamiana pętli while na rekursję każdy rodzaj pętli można łatwo zastąpić rekursją; przy takim zastępowaniu, jakie zademonstrowano na poprzednich slajdach, otrzymuje się tylko t.zw. rekursję ogonową(tail-recursion): w ciele funkcji nic się już po wywołaniu rekursywnym nie dzieje; siła rekursji jako metody programowania bierze się z możliwości wykonywania działań po wywołaniu rekursywnym; a więc nie z rekursji ogonowej; wiele problemów programistycznych prowadzi w sposób naturalny do rozwiązania rekursywnego; przy pewnych problemach pętla a przy innych rekursja jest właściwym narzędziem; wybór należy do programisty; zastąpienie rekursji pętlą jest zwykle trudne wymaga skomplikowanego zarządzania pamięcią komputera. Wykład 7. REKURSJA, str. 0 Sortowanie rekursywne scalanie(merge-sort) double a[n]; void mergesort(intp,intq) { // porządkuje elementy tablicy //oda[p]doa[q-1]włącznie intr; if(p+1<q) { r=(p+q)/; mergesort(p,r); mergesort(r,q); merge(p,r,q); Funkcja merge scala niemalejące ciągi a[p]...a[r-1] i a[r]...a[q-1] wniemalejącyciąga[p]...a[q-1].
11 Sortowanie rekursywne scalanie(merge-sort) a: Wykład 7. REKURSJA, str. Sortowanie rekursywne scalanie(merge-sort) double a[n]; void merge(intp,intr,intq) { // scala niemalejące ciągi a[p]...a[r-1] i //a[r]...a[q-1]wniemalejącyciąga[p]...a[q-1] inti,j,k; doublepom[n]; i=p; j=r; k=p; while(i<r&&j<q) { if(a[i] <= a[j]) { pom[k]=a[i]; i=i+1; k=k+1; else { pom[k]=a[j]; j=j+1; k=k+1; while(i<r) { pom[k]=a[i]; i=i+1; k=k+1; while(j<q) { pom[k]=a[j]; j=j+1; k=k+1; for(k=p; k<q; k=k+1) a[k]=pom[k];
12 Sortowanie przez scalanie(merge-sort) symulacja void mergesort(intp,intq) { intr; if(p+1<q) { r=(p+q)/; mergesort(p,r); mergesort(r,q); merge(p,r,q); Symulacja działania funkcji: mergesort(0,9); = = mergesort(0,4); mergesort(4,9); merge(0,4,9); = mergesort(0,); mergesort(,4); merge(0,,4); = mergesort(4,6); mergesort(6,9); merge(4,6,9); merge(0,4,9); = mergesort(0,1); mergesort(1,); merge(0,1,); = mergesort(,3); mergesort(3,4); merge(,3,4); merge(0,,4); = mergesort(4,5); mergesort(5,6); merge(4,5,6); = mergesort(6,7); mergesort(7,9); merge(6,7,9); merge(4,6,9); merge(0,4,9); = merge(0,1,); merge(,3,4); merge(0,,4); merge(4,5,6); = mergesort(7,9); merge(6,7,9); merge(4,6,9); merge(0,4,9); = Wykład 7. REKURSJA, str. 4 Sortowanie rekursywne scalanie(merge-sort) Oszacowanie czasu działania funkcji mergesort: Na scalenie dwóch ciągów długości n funkcja merge potrzebuje: gdziec 1 jestpewnąstałą. n porównań 4n przepisań razem c 1 n Załóżmy,żenjestpotęgą;iżedladowolnegok,T(k)jestczasem,jakiego mergesort potrzebuje na uporządkowanie ciągu długości k. T(n)= { c0 dlan=1 T( n )+c 1 n dlan>1 co się sprowadza do T(n) = c 1 n log n+c 0 n Dowód:indukcja(dlan potęgi).
13 Sortowanie rekursywne scalanie(merge-sort) Oszacowanie czasu działania funkcji mergesort: czas sortowania czas sortowania n bąbelkowegon przezscalanienlog n szybciejrazy czyli około: czyli około: Wykład 7. REKURSJA, str. 6 Sortowanie rekursywne quick-sort-light double a[n]; void quicksort(intp,intq) { // porządkuje elementy tablicy //oda[p]doa[q-1]włącznie intk,l; doubler; if(p+1<q) { r=a[(p+q)/]; // rozdzielić ciąg a[p]...a[q-1] na trzy ciągi: // ciąga[p]...a[k-1]liczb<r // ciąga[k]...a[l-1]liczb=r // ciąga[l]...a[q-1]liczb>r quicksort(p,k); quicksort(l,q);
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ółowoWstęp do programowania
Wstęp do programowania Rekurencja, metoda dziel i zwyciężaj Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk(Wydział Fizyki) WP w. VIII Jesień 2014 1 / 27 Rekurencja Recursion See Recursion. P. Daniluk(Wydział
Bardziej szczegółowoIndukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka
Bardziej szczegółowoPodstawowe algorytmy i ich implementacje w C. Wykład 9
Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny
Bardziej szczegółowoPoszukiwanie liniowe wśród liczb naturalnych
Poszukiwanie liniowe wśród liczb naturalnych Wiele problemów, dotyczących liczb naturalnych, można rozwiązać idąc w góręodzera(lubczasemodinnejliczby)isprawdzając,czyjuż. Przykład: (zadane reszty z dzielenia)
Bardziej szczegółowoWykład 2. Poprawność algorytmów
Wykład 2 Poprawność algorytmów 1 Przegląd Ø Poprawność algorytmów Ø Podstawy matematyczne: Przyrost funkcji i notacje asymptotyczne Sumowanie szeregów Indukcja matematyczna 2 Poprawność algorytmów Ø Algorytm
Bardziej szczegółowoAlgorytmy i Struktury Danych
POLITECHNIKA KRAKOWSKA WYDZIAŁ INŻYNIERII ELEKTRYCZNEJ i KOMPUTEROWEJ Katedra Automatyki i Technik Informacyjnych Algorytmy i Struktury Danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew
Bardziej szczegółowoRekurencja/rekursja. Iluzja istnienia wielu kopii tego samego algorytmu (aktywacji) Tylko jedna aktywacja jest aktywna w danej chwili
rekurencja 1 Rekurencja/rekursja Alternatywny dla pętli sposób powtarzania pewnych czynności; kolejny etap podzadanie poprzedniego Rekursja może być zamieniona na iteracje Cechy rekurencji Rozłożenie problemu
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie
Bardziej szczegółowoWYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński
WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================
Bardziej szczegółowoZadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.
Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy
Bardziej szczegółowoWstęp do programowania. Dziel i rządź. Piotr Chrząstowski-Wachtel
Wstęp do programowania Dziel i rządź Piotr Chrząstowski-Wachtel Divide et impera Starożytni Rzymianie znali tę zasadę Łatwiej się rządzi, jeśli poddani są podzieleni Nie chodziło im jednak bynajmniej o
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 4a: Rozwiązywanie rekurencji http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Czas działania programu Dla konkretnych
Bardziej szczegółowoPodstawy Informatyki. Sprawność algorytmów
Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych
Bardziej szczegółowoKomentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)
Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) // to jest pojedynczy komentarz (1-linijkowy) to jest wielolinijkowy komentarz Budowa "czystego" skryptu PHP (tak
Bardziej szczegółowoProgramowanie - wykład 4
Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 4: Iteracja, indukcja i rekurencja http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Słowem wstępu Iteracja, indukcja
Bardziej szczegółowoWykład 3. Metoda dziel i zwyciężaj
Wykład 3 Metoda dziel i zwyciężaj 1 Wprowadzenie Technika konstrukcji algorytmów dziel i zwyciężaj. przykładowe problemy: Wypełnianie planszy Poszukiwanie (binarne) Sortowanie (sortowanie przez łączenie
Bardziej szczegółowoWieczorowe Studia Licencjackie Wrocław, Wykład nr 6 (w oparciu o notatki K. Lorysia, z modyfikacjami) Sito Eratostenesa
Wieczorowe Studia Licencjackie Wrocław, 7.11.2006 Wstęp do programowania Wykład nr 6 (w oparciu o notatki K. Lorysia, z modyfikacjami) Sito Eratostenesa Zaprezentujemy teraz algorytm na wyznaczanie wszystkich
Bardziej szczegółowoZaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań praktycznych z egzaminów. Strona 1 z 12 Pytania praktyczne z kolokwium zaliczeniowego z 19 czerwca 2014 (studia dzienne)
Bardziej szczegółowoPodstawowe elementy programu. patrz: następne 2 slajdy. Podstawowe elementy programu. Komendy proste:
Podstawowe elementy programu Zestaw komend stojący do dyspozycji programisty zależy od języka programowania; jest ograniczony; jestnatylebogaty,żedajesięznichzłożyć(jakzklocków)sensowne programy Umiejętność
Bardziej szczegółowoOpis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja
Opis zagadnieo 1-3 Iteracja, rekurencja i ich realizacja Iteracja Iteracja to czynnośd powtarzania (najczęściej wielokrotnego) tej samej instrukcji (albo wielu instrukcji) w pętli. Mianem iteracji określa
Bardziej szczegółowoWykład 8. Rekurencja. Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. L. Peter Deutsch
Wykład 8 Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. Smok podsuszony zmok (patrz: Zmok). Zmok zmoczony smok (patrz: Smok). L. Peter Deutsch Stanisław Lem Wizja lokalna J. Cichoń, P. Kobylański
Bardziej szczegółowoStrategia "dziel i zwyciężaj"
Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania
Bardziej szczegółowoREKURENCJA W JĘZYKU HASKELL. Autor: Walczak Michał
REKURENCJA W JĘZYKU HASKELL Autor: Walczak Michał CZYM JEST REKURENCJA? Rekurencja zwana rekursją, polega na wywołaniu przez funkcję samej siebie. Algorytmy rekurencyjne zastępują w pewnym sensie iteracje.
Bardziej szczegółowoProgramowanie komputerowe. Zajęcia 3
Programowanie komputerowe Zajęcia 3 Instrukcje przypisania Poza zwykłą instrukcją przypisania, powodującą ustawienie wartości zmiennej na podane wyrażenie, istnieje wiele innych, np. += dodaj, a+=b jest
Bardziej szczegółowoIndukcja matematyczna, zasada minimum i maksimum. 17 lutego 2017
Indukcja matematyczna, zasada minimum i maksimum 17 lutego 2017 Liczby naturalne - Aksjomatyka Peano (bez zera) Aksjomatyka liczb naturalnych N jest nazwą zbioru liczb naturalnych, 1 jest nazwą elementu
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Metoda Dziel i zwyciężaj. Problem Sortowania, cd. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 2 Bożena Woźna-Szcześniak (AJD) Algorytmy
Bardziej szczegółowoInformacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
Bardziej szczegółowoBłędy leksykalne są na ogół nietrudne do znalezienia.
Rodzaje błędów w programach Wykład9.UWAGIOGÓLNE,str.1 Błąd leksykalny pojedyncza jednostka leksykalna(operator, słowo kluczowe, liczba itp.), której nie przewiduje definicja języka. Mn:=1; Sygn. błędu
Bardziej szczegółowoPodstawy 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ółowoAlgorytm 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ółowoWstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność
Bardziej szczegółowowykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis
i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje
Bardziej szczegółowoAlgorytmy i złożoność obliczeniowa. Wojciech Horzelski
Algorytmy i złożoność obliczeniowa Wojciech Horzelski 1 Tematyka wykładu Ø Ø Ø Ø Ø Wprowadzenie Poprawność algorytmów (elementy analizy algorytmów) Wyszukiwanie Sortowanie Elementarne i abstrakcyjne struktury
Bardziej szczegółowoRodzaje błędów w programach. Wykład9.UWAGIOGÓLNE,str.1
Wykład9.UWAGIOGÓLNE,str.1 Wykład9.UWAGIOGÓLNE,str.1 Błąd leksykalny pojedyncza jednostka leksykalna(operator, słowo kluczowe, liczba itp.), której nie przewiduje definicja języka. Wykład9.UWAGIOGÓLNE,str.1
Bardziej szczegółowoFUNKCJA REKURENCYJNA. function s(n:integer):integer; begin if (n>1) then s:=n*s(n-1); else s:=1; end;
Rekurencja Wykład: rekursja, funkcje rekurencyjne, wywołanie samej siebie, wyznaczanie poszczególnych liczb Fibonacciego, potęgowanie, algorytm Euklidesa REKURENCJA Rekurencja (z łac. recurrere), zwana
Bardziej szczegółowoAlgorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Bardziej szczegółowoProgramowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41
Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Złożoność obliczeniowa, poprawność programów Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XII Jesień 2013 1 / 20 Złożoność obliczeniowa Problem Ile czasu
Bardziej szczegółowoProgramowanie Proceduralne
Programowanie Proceduralne Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Bożena Woźna-Szcześniak (AJD) Programowanie Proceduralne Wykład 1 1 / 59 Cel wykładów z programowania
Bardziej szczegółowoAlgorytmy i Struktury Danych. (c) Marcin Sydow. Sortowanie Selection Sort Insertion Sort Merge Sort. Sortowanie 1. Listy dowiązaniowe.
1 Tematy wykładu: problem sortowania sortowanie przez wybór (SelectionSort) sortowanie przez wstawianie (InsertionSort) sortowanie przez złaczanie (MergeSort) struktura danych list dowiązaniowych Input:
Bardziej szczegółowoRekurencja (rekursja)
Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Algorytmy na tablicach Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. III Jesień 2013 1 / 23 Dwadzieścia pytań Zasady 1 Osoba 1 wymyśla hasło z ustalonej
Bardziej szczegółowoPodstawy 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ółowoDefinicja. Ciąg wejściowy: Funkcja uporządkowująca: Sortowanie polega na: a 1, a 2,, a n-1, a n. f(a 1 ) f(a 2 ) f(a n )
SORTOWANIE 1 SORTOWANIE Proces ustawiania zbioru elementów w określonym porządku. Stosuje się w celu ułatwienia późniejszego wyszukiwania elementów sortowanego zbioru. 2 Definicja Ciąg wejściowy: a 1,
Bardziej szczegółowoProgramowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44
Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia
Bardziej szczegółowoLogika i teoria mnogości Wykład 14
Teoria rekursji Teoria rekursji to dział logiki matematycznej zapoczątkowany w latach trzydziestych XX w. Inicjatorzy tej dziedziny to: Alan Turing i Stephen Kleene. Teoria rekursji bada obiekty (np. funkcje,
Bardziej szczegółowoProgramowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Co to jest algorytm? Zapis algorytmów Algorytmy
Bardziej szczegółowoSortowanie przez scalanie
Sortowanie przez scalanie Wykład 2 12 marca 2019 (Wykład 2) Sortowanie przez scalanie 12 marca 2019 1 / 17 Outline 1 Metoda dziel i zwyciężaj 2 Scalanie Niezmiennik pętli - poprawność algorytmu 3 Sortowanie
Bardziej szczegółowoAlgorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne
Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na
Bardziej szczegółowoWskaźniki w C. Anna Gogolińska
Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
KATEDRASYSTEMÓWOBLICZENIOWYCH ALGORYTMY I STRUKTURY DANYCH 1.Rekurencja Rekurencja inaczej rekursja (ang. recursion) to wywołanie z poziomu metody jej samej. Programowanie z wykorzytaniem rekurencji pozwala
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, /15
Matematyka dyskretna Andrzej Łachwa, UJ, 2015 andrzej.lachwa@uj.edu.pl 3/15 Indukcja matematyczna Poprawność indukcji matematycznej wynika z dobrego uporządkowania liczb naturalnych, czyli z następującej
Bardziej szczegółowoFunkcje. Funkcje. liczba rzeczywista r punkt, w którym wartość wielomianu nas interesuje. Szukane: liczba rzeczywista
Funkcje Przykład: (wartość wielomianu w punkcie) M Dane: liczba naturalna N liczba współczynników wielomianu (= stopień wielomianu +1) tablicaliczbrzeczywistycha 0,a 1,a 2,...,a N 1 współczynnikiwielomianu
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Bardziej szczegółowoTablice cz. I Tablice jednowymiarowe, proste operacje na tablicach
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach Tablice Powiedzmy, że chcemy zapamiętać w programie
Bardziej szczegółowoWykład 4: Iteracja, indukcja i rekurencja
Teoretyczne podstawy informatyki Wykład 4: Iteracja, indukcja i rekurencja Prof. dr hab. Elżbieta Richter-Wąs 1 Słowem wstępu Iteracja, indukcja i rekurencja to podstawowe zagadnienia pojawiające się przy
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Algorytm 1. Termin algorytm jest używany w informatyce
Bardziej szczegółowoRekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:
Rekurencje Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: T(n) = Θ(1) (dla n = 1) T(n) = 2 T(n/2) + Θ(n) (dla n
Bardziej szczegółowoPodstawy Informatyki. Algorytmy i ich poprawność
Podstawy Informatyki Algorytmy i ich poprawność Błędy Błędy: językowe logiczne Błędy językowe Związane ze składnią języka Wykrywane automatycznie przez kompilator lub interpreter Prosty sposób usuwania
Bardziej szczegółowoZaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)
Bardziej szczegółowoKontrola przebiegu programu
Kontrola przebiegu programu Wykład 9 Instrukcje sterujące: pętle rozgałęzienia skoki PRZYPOMINAJKA Zadanie : Zaprojektuj rekurencyjny przepis na wyznaczenie największej takiej liczby m, że 2 m jest podzielnikiem
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, a/15
Matematyka dyskretna Andrzej Łachwa, UJ, 2017 andrzej.lachwa@uj.edu.pl 3a/15 Indukcja matematyczna Zasada Minimum Dowolny niepusty podzbiór S zbioru liczb naturalnych ma w sobie liczbę najmniejszą. Zasada
Bardziej szczegółowoIndukcja matematyczna
Indukcja matematyczna 1 Zasada indukcji Rozpatrzmy najpierw następujący przykład. Przykład 1 Oblicz sumę 1 + + 5 +... + (n 1). Dyskusja. Widzimy że dla n = 1 ostatnim składnikiem powyższej sumy jest n
Bardziej szczegółowoPodstawy Programowania 1 Sortowanie tablic jednowymiarowych. Plan. Sortowanie. Sortowanie Rodzaje sortowania. Notatki. Notatki. Notatki.
Podstawy Programowania 1 Sortowanie tablic jednowymiarowych Arkadiusz Chrobot Zakład Informatyki 12 listopada 20 1 / 35 Plan Sortowanie Wartość minimalna i maksymalna w posortowanej tablicy Zakończenie
Bardziej szczegółowoPodstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują
Bardziej szczegółowoAlgorytmy i Struktury Danych, 2. ćwiczenia
Algorytmy i Struktury Danych, 2. ćwiczenia 2015-10-09 Spis treści 1 Szybkie potęgowanie 1 2 Liczby Fibonacciego 2 3 Dowód, że n 1 porównań jest potrzebne do znajdowania minimum 2 4 Optymalny algorytm do
Bardziej szczegółowoTesty jednostkowe Wybrane problemy testowania metod rekurencyjnych
Testy jednostkowe Wybrane problemy testowania metod rekurencyjnych Artykuł przeznaczony jest dla osób związanych z testowaniem, programowaniem, jakością oraz wytwarzaniem oprogramowania, wymaga jednak
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 5 część I 2 Iteracja Rekurencja Indukcja Iteracja Rekurencja Indukcja Algorytmy sortujące Rozwiazywanie
Bardziej szczegółowo4. Funkcje. Przykłady
4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni
Bardziej szczegółowoMetody 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ółowoJarosław Wróblewski Matematyka Elementarna, zima 2014/15
Ćwiczenia 0.10.014 Powtórka przed sprawdzianem nr 1. Wzory skróconego mnożenia dwumian Newtona procenty. Postęp arytmetyczny i geometryczny. Ćwiczenia 138.10.014 Sprawdzian nr 1: 1.10.014 godz. 8:15-8:40
Bardziej szczegółowoCiągi komplementarne. Autor: Krzysztof Zamarski. Opiekun pracy: dr Jacek Dymel
Ciągi komplementarne Autor: Krzysztof Zamarski Opiekun pracy: dr Jacek Dymel Spis treści 1 Wprowadzenie 2 2 Pojęcia podstawowe 3 2.1 Oznaczenia........................... 3 2.2 "Ciąg odwrotny"........................
Bardziej szczegółowomain( ) main( void ) main( int argc, char argv[ ] ) int MAX ( int liczba_1, liczba_2, liczba_3 ) źle!
Funkcja wysoce niezależny blok definicji i instrukcji programu (podprogram) Każdy program napisany w języku C/C++ zawiera przynajmniej jedną funkcję o predefiniowanej nazwie: main( ). Najczęściej wykorzystuje
Bardziej szczegółowoPDF stworzony przez wersję demonstracyjną pdffactory Pro Program 15
Program 15 Program zawierający następujące funkcje: funkcję wczytującą elementy do tablicy liczb całkowitych podanej jako parametr (długość tablicy również ma być podana jako parametr); funkcję wypisującą
Bardziej szczegółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziewiąta Tablice a zmienne wskaźnikowe Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Bardziej szczegółowoAlgorytmy 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ółowoPodstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 6 Podstawy programowania 2 Temat: Funkcje i procedury rekurencyjne Przygotował: mgr inż. Tomasz Michno Wstęp teoretyczny Rekurencja (inaczej nazywana rekursją, ang. recursion)
Bardziej szczegółowoPodstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej
Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, rok
Bardziej szczegółowoAlgorytmy i Struktury Danych, 2. ćwiczenia
Algorytmy i Struktury Danych, 2. ćwiczenia 2017-10-13 Spis treści 1 Optymalne sortowanie 5 ciu elementów 1 2 Sortowanie metodą Shella 2 3 Przesunięcie cykliczne tablicy 3 4 Scalanie w miejscu dla ciągów
Bardziej szczegółowoPodstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1 Pętle Pętla jest konstrukcją sterującą stosowaną w celu wielokrotnego wykonania tego samego zestawu instrukcji jednokrotne
Bardziej szczegółowoTemat: 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ółowo5. Rekurencja. Przykłady
5. Rekurencja Uwaga! W tym rozdziale nie są omówione żadne nowe konstrukcje języka C++. Omówiona jest za to technika wykorzystująca funkcje, która pozwala na rozwiązanie pewnych nowych rodzajów zadań.
Bardziej szczegółowoWykład 6. Metoda eliminacji Gaussa: Eliminacja z wyborem częściowym Eliminacja z wyborem pełnym
1 Wykład 6 Metoda eliminacji Gaussa: Eliminacja z wyborem częściowym Eliminacja z wyborem pełnym ELIMINACJA GAUSSA Z WYBOREM CZĘŚCIOWYM ELEMENTÓW PODSTAWOWYCH 2 Przy pomocy klasycznego algorytmu eliminacji
Bardziej szczegółowoCzęść 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Bardziej szczegółowoRekurencja, schemat rekursji i funkcje pierwotnie rekurencyjne
Rekurencja, schemat rekursji i funkcje pierwotnie rekurencyjne Elementy Logiki i Teorii Mnogości 2015/2016 Zadanie 1. Oblicz iteracyjnie i rekurencyjnie f(4), gdzie f jest funkcją określoną na zbiorze
Bardziej szczegółowoPodstawy algorytmiki i programowania - wykład 3 Funkcje rekurencyjne Wyszukiwanie liniowe i binarne w tablicy
1 Podstawy algorytmiki i programowania - wykład 3 Funkcje rekurencyjne Wyszukiwanie liniowe i binarne w tablicy Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.
Bardziej szczegółowoPodstawy 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ółowoAnaliza algorytmów zadania podstawowe
Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą
Bardziej szczegółowo1 Funkcje uniwersalne
1 1 Funkcje uniwersalne 1.1 Konstrukcja funkcji uniweralnej Niech P będzie najmniejszym zbiorem liczb spełniającym warunki 1) 0, 2, 0, 0, 2, 1, 0, 2, 2 P, 2) 0, n, 3, k P dla wszystkich n > 0 oraz k takich,
Bardziej szczegółowoMatematyka Dyskretna 2/2008 rozwiązania. x 2 = 5x 6 (1) s 1 = Aα 1 + Bβ 1. A + B = c 2 A + 3 B = d
C. Bagiński Materiały dydaktyczne 1 Matematyka Dyskretna /008 rozwiązania 1. W każdym z następujących przypadków podać jawny wzór na s n i udowodnić indukcyjnie jego poprawność: (a) s 0 3, s 1 6, oraz
Bardziej szczegółowoZaawansowane algorytmy. Wojciech Horzelski
Zaawansowane algorytmy Wojciech Horzelski 1 Organizacja Wykład: poniedziałek 8 15-10 Aula Ćwiczenia: Każdy student musi realizować projekty (treść podawana na wykładzie) : Ilość projektów : 5-7 Na realizację
Bardziej szczegółowoJęzyk C, tablice i funkcje (laboratorium, EE1-DI)
Język C, tablice i funkcje (laboratorium, EE1-DI) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.
Bardziej szczegółowoLab 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ółowoWYKŁ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ółowoMatematyka dyskretna. Andrzej Łachwa, UJ, /14
Matematyka dyskretna Andrzej Łachwa, UJ, 2019 andrzej.lachwa@uj.edu.pl 4/14 Indukcja matematyczna Poprawność indukcji matematycznej wynika z dobrego uporządkowania liczb naturalnych, czyli z następującej
Bardziej szczegółowoAlgorytmika i programowanie. Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie
Algorytmika i programowanie Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Tablice Tablica jest zbiorem elementów tego samego typu. Każdy element jest identyfikowany (numer
Bardziej szczegółowoTechnologie Informatyczne Wykład VII
Technologie Informatyczne Wykład VII A. Matuszak (1) 22 listopada 2007 A. Matuszak (1) Technologie Informatyczne Wykład VII A. Matuszak (2) Technologie Informatyczne Wykład VII (Rekursja) albo rekursja
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2
Algorytmy i struktury danych Wykład 6 Tablice rozproszone cz. 2 Na poprzednim wykładzie Wiele problemów wymaga dynamicznych zbiorów danych, na których można wykonywać operacje: wstawiania (Insert) szukania
Bardziej szczegółowo