ALGORYTMY POSZUKIWANIA I PORZĄDKOWANIA ELEMENTY JĘZYKA PROGRAMOWANIA
|
|
- Maria Paluch
- 8 lat temu
- Przeglądów:
Transkrypt
1
2 ALGORYTMY POSZUKIWANIA I PORZĄDKOWANIA ELEMENTY JĘZYKA PROGRAMOWANIA Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2
3 Algorytm, algorytmika Algorytm opis rozwiązania krok po kroku postawionego problemu lub sposobu osiągnięcia jakiegoś celu Pierwszy algorytm algorytm Euklidesa 300 p.n.e Na str. 3-7 są zamieszczone uwagi wstępne na temat algorytmiki. Można je pominąć i wrócić później. algorytm od Muhammad ibn Musa al-chorezmi IX w. Algorytmika dziedzina zajmująca się algorytmami i ich własnościami informatyka + 3
4 Algorytmy a informatyka Informatyka jedna z definicji: dziedzina wiedzy i działalności zajmująca się algorytmami Czy zajmuje się też algorytmami kulinarnymi? Donald E. Knuth: Ralf Gomory (IBM): Mówi się często, że człowiek dotąd nie zrozumie czegoś, zanim nie nauczy tego kogoś innego. W rzeczywistości, człowiek nie zrozumie czegoś (algorytmu) naprawdę, zanim nie zdoła nauczyć tego komputera. Najlepszym sposobem przyspieszania komputerów jest obarczanie ich mniejszą liczbą działań (szybszymi algorytmami) informatyka + 4
5 Algorytmiczne rozwiązywanie problemu Dla problemu chcemy otrzymać rozwiązanie komputerowe, które jest: zrozumiałe dla każdego, kto zna problemu poprawne, czyli spełnia specyfikację (opis) problemu efektywne, czyli nie marnuje czasu i pamięci Metoda rozwiązywania: analiza sytuacji problemowej sporządzenie specyfikacji: wykaz danych, wyników i relacji projekt rozwiązania komputerowa realizacja rozwiązania implementacja testowanie poprawności rozwiązania dokumentacja i prezentacja rozwiązania informatyka + 5
6 Rozwiązywanie problemów z pomocą komputerów Objaśnienie dwóch terminów: Problem: problem, gdy nie podano nam, jak należy go rozwiązać, ale wiemy wystarczająco, by poradzić sobie z nim a więc, problem jest dla każdego nie tylko dla orłów Programowanie: komputery wykonują tylko programy cokolwiek uruchamiamy na komputerze: Google, dokument w Word, arkusz w Excel, naciśnięcie klawisza jest programem każdy widoczny i niewidoczny efekt działania komputera to wynik działania jakiegoś programu Konkluzja: powinniśmy lepiej poznać programowanie komputerów informatyka + 6
7 Myślenie algorytmiczne Myślenie komputacyjne (ang. computational thinking) Reklama firmy IBM z 1924 roku Komputer to maszyna do myślenia!!! informatyka + 7
8 Poszukiwanie, porządkowanie, elementy programowania PLAN Rozgrzewka (warm-up) kilka krótkich programów Przeszukiwanie zbioru Min i Max: schematy blokowe, pierwsze programy, złożoność algorytmu, Kompletowanie podium zwycięzców turnieju Jednoczesne znajdowanie najmniejszego i największego elementu Porządkowanie przez wybór iteracja algorytmu Porządkowanie przez zliczanie Poszukiwanie informacji w zbiorach nieuporządkowanych i uporządkowanych Dziel i zwyciężaj, rekurencja: sortowanie przez scalanie i sortowanie szybkie informatyka + 8
9 Rozgrzewka przy komputerach Rozgrzewka (warm-up) kilka krótkich programów: obliczanie pole trójkąta dodatkowo sprawdzanie, czy dane są dobre warunek obliczanie pola trójkąta dla ciągu danych iteracja i tablice Ciekawe zadanie dotyczące trójkątów: Dane: ciąg (bardzo długi) liczb Odpowiedź: czy z każdej trójki liczb z tego ciągu można zbudować trójkąt? Wskazówka: istnieje rozwiązanie, w którym nie trzeba sprawdzać warunku trójkąta dla każdej trójki liczb informatyka + 9
10 Warsztaty Algorytm, język programowania, komputer Proces komputerowej realizacji algorytmu: Opis algorytmu słowny Zapis w języku programowania (Pascal, C++) Kompilacja przetłumaczenie na język zrozumiały przez komputer Wykonanie Testowanie Dokumentacja informatyka + 10
11 Znajdowanie elementu w zbiorze Znajdź element w zbiorze: najwyższego ucznia w swojej klasie metoda spaghetti jak zmieni się Twój algorytm, jeśli chciałbyś znaleźć w klasie najniższego ucznia znajdź w swojej klasie ucznia, któremu droga do szkoły zabiera najwięcej czasu znajdź najstarszego (lub najmłodszego) ucznia w swojej szkole znajdź największą kartę w potasowanej talii kart znajdź najlepszego tenisistę w swojej klasie nie ma remisów znajdź najlepszego gracza w warcaby w swojej klasie możliwe są remisy Podstawowa operacja porównanie: dwóch liczb lub kombinacji liczb (data, karty): czy x < y? dwóch zawodników: rozegranie meczu informatyka + 11
12 Specyfikacja problemu Specyfikacja problemu dokładne opisanie problemu Problem Min Znajdowanie najmniejszego elementu w zbiorze Dane: Liczba naturalna n i zbiór n liczb dany w ciągu x 1, x 2,..., x n Wynik: Najmniejsza wśród liczb x 1, x 2,..., x n oznaczmy ją min Metoda rozwiązania: przeszukiwanie liniowe od lewej do prawej Algorytm Min Znajdowanie najmniejszego elementu w zbiorze Krok 1. Przyjmij za min pierwszy element w zbiorze (w ciągu), czyli przypisz min := x 1. imin := 1 Krok 2. Dla kolejnych elementów x i, gdzie i = 2, 3,..., n, jeśli min > x i, to przypisz min := x i. imin := i Algorytm Max prosta modyfikacja: zamiana > na < Wyznaczanie imin indeksu elementu o wartości min informatyka + 12
13 Algorytm Min demo Demonstracja przeszukiwania od lewej do prawej: informatyka + 13
14 (Zgrubny) schemat blokowy algorytmu Min Krok 1: min pierwszy element ze zbioru A Instrukcje warunkowe: rozgałęzienia algorytmu Krok 2: Czy porównano wszystkie elementy ze zbioru A? Instrukcja iteracyjna Tak Koniec algorytmu Nie x kolejny element ze zbioru A Tak min x min > x? Nie Ada Augusta, córka Byrona, uznawana powszechnie za pierwszą programistkę komputerów, przełomowe znaczenie maszyny analitycznej Ch. Babbage a, pierwowzoru dzisiejszych komputerów, upatrywała właśnie w możliwości wielokrotnego wykonywania przez nią danego ciągu instrukcji, z liczbą powtórzeń z góry zadaną lub zależną od wyników obliczeń, a więc w iteracji. informatyka + 14
15 Pełny schemat blokowy algorytmu Min informatyka + 15
16 Skomputeryzowany schemat blokowy Schemat blokowy wykonany w programie ELI Iteracja Wprowadzanie danych Ciąg (tablica) z danymi Bloki warunkowe informatyka + 16
17 Algorytm Min w postaci programu Program w języku Pascal program Min; var i,imin,min,n,x:integer; begin read(n); read(x); min:=x; imin:=1; for i:=2 to n do begin read(x); if min > x then begin min:=x; imin:=i end end; write(imin,min) end. nazwa programu deklaracje, typy zmiennych blok programu początek czytaj n czytaj pierwszy element iteracja od 2 do n czytaj kolejny element instrukcja warunkowa popraw min instrukcja war. koniec iteracja koniec pisz wynik blok programu koniec informatyka + 17
18 Pracochłonność algorytmu Min Porównanie podstawowa operacja w algorytmie Min. Pracochłonność (złożoność obliczeniowa) algorytmu liczba podstawowych operacji wykonywanych przez algorytm. Pytanie: Ile porównań wykonuje algorytm Min? Odpowiedź: o jedno mniej niż jest elementów, czyli n 1 Pytania: Czy można szybciej? Czy istnieje szybszy algorytm znajdowania min? A może metoda pucharowa wyłaniania zwycięzcy w turnieju jest szybsza? informatyka + 18
19 Wyłanianie najlepszego zawodnika w turnieju czyli inny sposób znajdowania max (lub min) Porównania mecze Tomek Ośmiu zawodników: 7 meczy n zawodników: n 1 meczy a więc nie jest szybsza Bartek Tomek Bartek Witek Tomek Tolek Bartek Romek Bolek Witek Tomek Zenek Tolek Felek informatyka + 19
20 A może mamy algorytm najlepszy? Podsumowanie: Mamy dwa algorytmy znajdowania min lub max: przeszukiwanie liniowe rozegranie turnieju które na zbiorze n elementów wykonują n 1 porównań Może nie ma szybszego algorytmu? TAK! Hugo Steinhaus tak to uzasadnił: Jeśli Tomek jest zwycięzcą turnieju, w którym startuje n zawodników, to każdy inny spośród n 1 zawodników musiał przegrać przynajmniej raz, a zatem rozegrano przynajmniej n 1 meczy. Zatem każdy algorytm musi wykonać przynajmniej n 1 porównań, czyli nasze algorytmy są najszybsze są optymalne. informatyka + 20
21 A jak znaleźć drugiego najlepszego zawodnika w turnieju? Czy jest nim Bartek? Bo przegrał z Tomkiem? Tomek Ale Bartek nie grał z drugą połową! Bartek Tomek??? Tylko dwa dodatkowe mecze! Bartek Witek Tomek??? Tolek Bartek Romek Bolek Witek Tomek Zenek Tolek Felek informatyka + 21
22 Jednoczesne znajdowanie min i max Obserwacja: jeśli x y, to x kandydatem na min, a y kandydatem na max Algorytm dziel i zwyciężaj : Krok 1. Podział na kandydatów na min i kandydatów na max Kandydaci na max Porównania parami Kandydaci na min ? 1 2? 2 5? 3 4? 8 2? max = 8 min = 1 Krok 2. Znajdź min i max Liczba porównań: algorytm naiwny: n 1 (min) + n 2 (max) = 2n 3 algorytm dziel i zwyciężaj: n/2(podział)+ (n/2 1)(min) + (n/2 1)(max) ok. 3n/2 2 jest to algorytm optymalny informatyka + 22
23 Problem porządkowania (sortowania) Problem porządkowania (sortowania) Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,..., x n Wynik: Uporządkowanie tego ciągu liczb od najmniejszej do największej Algorytm: porządkowanie przez wybór Selection Sort Idea: najmniejszy wśród nieuporządkowanych daj na początek Krok 1. Dla i = 1, 2,..., n 1 wykonaj kroki 2 i 3, a następnie zakończ algorytm Krok 2. Znajdź k takie, że x k jest najmniejszym elementem w ciągu x i,..., x n Krok 3. Zamień miejscami elementy x i oraz x k informatyka + 23
24 Porządkowanie przez wybór demo (1) Żółte podciąg już uporządkowany Zielone i czerwone podciąg porządkowany informatyka + 24
25 Porządkowanie przez wybór demo (2) Podciąg już uporządkowany Podciąg porządkowany informatyka + 25
26 Złożoność porządkowania przez wybór Liczba zamian elementów w kolejnych krokach: = n 1 Liczba porównań w kolejnych krokach: Przykład n = 6 (n 1) + (n 2) + (n 3) =? = n 5 = n 1 Pole prostokąta: 5 x 6 Suma = pole czarnych diamentów: 5 x 6 informatyka Ogólnie suma: (n 1) x n 2 Liczby trójkątne
27 Porządkowanie przez zliczanie Problem porządkowania niewielkich liczb Dane: Liczba naturalna n i ciąg n liczb całkowitych x 1, x 2,..., x n, należących do przedziału [1..M] na ogół n < M. Wynik: Uporządkowanie tego ciągu liczb od najmniejszej do największej Algorytm. Porządkowanie przez zliczanie CountingSort Idea: Liczymy, ile jest konkretnych liczb w ciągu Krok 1. Dla i = 1, 2,..., M: c i = 0 zerowanie liczników. Krok 2. Dla i = 1, 2,..., n: zwiększ c k o 1, gdzie k = x i. Krok 3. Dla i = 1, 2,..., M: na kolejnych c i pozycjach w ciągu x umieść element i. Liczba operacji proporcjonalna do n + M. informatyka + 27
28 Poszukiwanie elementu w zbiorze Problem poszukiwania elementu w zbiorze Dane: Zbiór elementów w postaci ciągu n liczb x 1, x 2,..., x n. Wyróżniony element y Wynik: Jeśli y należy do tego zbioru, to podaj jego miejsce (indeks) w ciągu, a w przeciwnym razie sygnalizuj brak takiego elementu w zbiorze wstaw y do ciągu Dwa przypadki: Nieuporządkowany ciąg liczb x 1, x 2,..., x n Uporządkowany ciąg liczb x 1, x 2,..., x n Nasz cel: Jakie są korzyści z uporządkowania? Jak utrzymywać porządek wśród informacji? informatyka + 28
29 Poszukiwania w zbiorze nieuporządkowanym Algorytm Poszukiwanie liniowe Krok 1. Dla i = 1, 2,..., n, jeśli x i = y, to przejdź do kroku 3. Krok 2. Komunikat: W ciągu danych nie ma elementu równego y. Zakończ algorytm: wynik: 1 Krok 3. Element równy y znajduje się na miejscu i w ciągu danych. Zakończ algorytm: wynik: i begin i:=1; while (x[i]<>y) and (i<n) do i:=i+1; if x[i]=y then PrzeszukiwanieLiniowe:=i else PrzeszukiwanieLiniowe:=-1 end Pewna niedogodność sprawdzanie, czy koniec ciągu. informatyka + 29
30 Poszukiwania w zbiorze nieuporządkowanym z wartownikiem Algorytm Poszukiwanie liniowe z wartownikiem Takie same kroki algorytmu inna implementacja, czyli komputerowa realizacja: na końcu ciągu: x n+1 wstawiamy wartownika pilnuje końca ciągu x 1 x 2 x 3 x 4 x n begin i:=1; x[n+1]:=y; while x[i]<>y do i:=i+1; if i<=n then PrzeszukiwanieLinioweWartownik:=i else PrzeszukiwanieLinioweWartownik:=-1 end Nie ma sprawdzania, czy koniec ciągu, bo przeszukiwanie zawsze zatrzyma się na elemencie y. informatyka + 30
31 Poszukiwanie w zbiorze uporządkowanym Zabawa w zgadywanie liczby Zgadywana liczba: 17 w przedziale [1 : 20] Metoda: połowienia przedziału Kolejne kroki: strzałka wskazuje wybór; kolor czerwony ciąg do przeszukania: informatyka + 31
32 Poszukiwanie przez połowienie w ciągu uporządkowanym function PrzeszukiwanieBinarne(x:tablicax; k,l:integer; y:integer):integer; {Przeszukiwanie binarne ciagu x[k..l] w poszukiwaniu elementu y.} var Lewy,Prawy,Srodek:integer; begin Lewy:=k; Prawy:=l; while Lewy<=Prawy do begin Srodek:=(Lewy+Prawy) div 2; if x[srodek]=y then begin PrzeszukiwanieBinarne:=Srodek; exit end; {element y nalezy do przeszukiwanego ciagu} if x[srodek]<y then Lewy:=Srodek+1 else Prawy:=Srodek-1 end; PrzeszukiwanieBinarne:=-1 end Początkowe końce przedziału Połowienie przedziału y należy do przedziału Zmiana końców przedziału y nie należy do przeszukiwanego przedziału informatyka + 32
33 Umieszczanie przez połowienie w ciągu uporządkowanym Dane: Uporządkowany ciąg liczb w tablicy x[k..l] oraz element y Wynik: Miejsce dla y w ciągu x[k..l] takie, aby po wstawieniu y ciąg nadal był uporządkowany Algorytm: y wstawiamy do przeszukiwanego ciągu w to miejsce, gdzie algorytm poszukiwania kończy działanie, a więc tam, gdzie jest y (jeśli y jest już w ciągu), albo gdzie powinien być. informatyka + 33
34 Poszukiwanie przez połowienie złożoność Liczba kroków w algorytmie połowienia: Ile razy należy przepołowić ciąg o danej długości, aby znaleźć element lub miejsce dla niego? Przykład dla n = 1200 Kolejne długości ciągu: 1200, 600, 300, 150, 75, 38, 19, 10, 5, 3, 2, 1 11 razy dzielono ciąg o długości 1200, by pozostał 1 element Liczba porównań w algorytmach poszukiwania dla n = 1200: przez połowienie 11 liniowy 1200 Porównaj, jaka jest potęga uporządkowania!!! informatyka + 34
35 Poszukiwanie przez połowienie złożoność dla orłów Dla n = 1200 liczba porównań w algorytmie połowienia wyniosła 11 Pytania: Jak liczba porównań zależy od n? Jak dobry jest to algorytm? Liczba porównań dla różnych n: n liczba porównań ok.log 2 n Algorytm poszukiwania przez połowienie jest optymalny, czyli najszybciej przeszukuje zbiory uporządkowane. Funkcja logarytm, bardzo ważna w algorytmice logarytm to anagram od algorytm informatyka + 35
36 Jednoczesne znajdowanie min i max pełny algorytm dziel i zwyciężaj Algorytm Min-i-Max-Rek(Z,min,max) Dane: Zbiór liczb Z Wyniki: min najmniejszy element w zbiorze Z max największy element w zbiorze Z Krok 1. Jeśli Z = {a}, to min := a; max := a Jeśli Z = {a, b}, to min := min {a, b}; max := max {a, b} Krok 2. Gdy Z ma więcej niż dwa elementy, to: 2a. Podziel zbiór Z na dwa podzbiory Z 1 i Z 2 2b. Min-i-Max-Rek(Z 1,min 1,max 1 ) 2c. Min-i-Max-Rek(Z 2,min 2,max 2 ) 2d. min := min {min 1, min 2 }; max := max {max 1, max 2 } Rekurencyjne wywołania na podzbiorach informatyka + 36
37 Jednoczesne znajdowanie min i max pełny algorytm dziel i zwyciężaj DEMO dziel dziel dziel (1,4) (2, 5) (4, 9) (3, 7) (1, 5) (min, max) (3, 9) (1, 9) informatyka + 37
38 Sortowanie przez scalanie scalanie Scalanie z dwóch uporządkowanych ciągów utwórz jeden uporządkowany Algorytm scalania. Scal. Dane: dwa ciągi uporządkowane Wynik: scalony ciąg uporządkowany Krok: do tworzonego ciągu pobieraj najmniejszy element z czoła scalanych ciągów Scalanie Scalane ciągi Scalony ciąg informatyka + 38
39 Sortowanie przez scalanie scalanie Scalane ciągi Scalone ciągi, w innym miejscu informatyka + 39
40 Sortowanie przez scalanie opis Rekurencyjne wywołania na podciągach Algorytm porządkowania przez scalanie MergeSort(l,p,x) Dane: Ciąg liczb x l, x l+1,, x p Wynik: Uporządkowanie tego ciągu liczb od najmniejszej do największej. Krok 1. Jeśli l < p, to przyjmij s:=(l+p) div 2 i wykonaj trzy następne kroki. Krok 2. MergeSort(l,s,x) sortowanie pierwszej połowy ciągu Krok 3. MergeSort(s+1,p,x) sortowanie drugiej połowy ciągu Krok 4. Zastosuj algorytm Scal do ciągów (x l,, x s ) i (x s+1,, x p ) i wynik umieść w ciągu (x l,, x p ). informatyka + 40
41 Sortowanie przez scalanie DEMO dziel 2 dziel dziel 0 dziel 2 1 scal 9 dziel scal scal 5 9 scal scal informatyka + 41
42 Sortowanie przez scalanie DEMO Posortowana jest już pierwsza połowa ciągu i w trakcie sortowania drugiej połowy, scalane są dwa podciągi z pierwszej części drugiej połowy, uporządkowane wcześniej rekurencyjnie tą samą metodą Posortowana pierwsza połowa ciągu Scalane ciągi Wynik scalania dodatkowym miejscu informatyka + 42
43 Sortowanie szybkie opis Algorytm szybkiego sortowania QuickSort(l,p,x) Dane: Ciąg liczb x l, x l+1,, x p Wynik: Uporządkowanie tego ciągu liczb od najmniejszej do największej. Krok 1. Jeśli l < p, to przyjmij za element podziału v = x l i podziel tym elementem dany ciąg. Oznacza to, że v znajdzie się na pozycji elementu x k, dla pewnego k spełniającego l k p, i elementy na lewo będą od niego nie większe, a na prawo nie mniejsze. Wykonaj dwa następne kroki. Rekurencyjne wywołania na podciągach Krok 2. QuickSort(l,k 1,x) sortowanie elementów na lewo od v Krok 3. QuickSort(k+1,p,x) sortowanie elementów na prawo od v informatyka + 43
44 Sortowanie szybkie DEMO Zamiana miejscami Zamiana miejscami Rekurencyjne wywołania na podciągach Na lewo od 7 elementy nie większe od 7 porządkujemy tak samo 7 na swoim miejscu w ciągu uporządkowanym Na prawo od 7 elementy nie mniejsze od 7 porządkujemy tak samo informatyka + 44
45 Pokrewne zajęcia w Projekcie Informatyka + Wykład+Warsztaty (Wszechnica Poranna): Wprowadzenie do algorytmiki i programowania wyszukiwanie i porządkowanie informacji Proste rachunki wykonywane za pomocą komputera. Techniki algorytmiczne przybliżone (heurystyczne) i dokładne. Wykłady (Wszechnica Popołudniowa): Czy wszystko można policzyć na komputerze? Porządek wśród informacji kluczem do szybkiego wyszukiwania. Dlaczego możemy się czuć bezpieczni w sieci, czyli o szyfrowaniu informacji. Znajdowanie najkrótszych dróg, najniższych drzew, najlepszych małżeństw informatyka + 45
46 Pokrewne zajęcia w Projekcie Informatyka + Kursy (24 godz.) Wszechnica na Kołach: Algorytmy poszukiwania i porządkowania. Elementy języka programowania Różnorodne algorytmy obliczeń i ich komputerowe realizacje Grafy, algorytmy grafowe i ich komputerowe realizacje Kursy (24 godz.) Kuźnia Informatycznych Talentów KIT dla Orłów: Przegląd podstawowych algorytmów Struktury danych i ich wykorzystanie Zaawansowane algorytmy Tendencje Wykłady Algorytmy w Internecie, K. Diks Czy P = NP, czyli jak wygrać milion dolarów w Sudoku, J. Grytczuk Między przeszłością a przyszłość informatyki, M.M Sysło informatyka + 46
47
WYSZUKIWANIE I PORZĄDKOWANIE INFORMACJI
WYSZUKIWANIE I PORZĄDKOWANIE INFORMACJI WPROWADZENIE DO ALGORYTMIKI Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2 Algorytm, algorytmika Algorytm
PORZĄDEK WŚRÓD INFORMACJI
PORZĄDEK WŚRÓD INFORMACJI KLUCZEM DO SZYBKIEGO WYSZUKIWANIA Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2 Algorytm, algorytmika Algorytm opis rozwiązania
CZY WSZYSTKO MOŻNA POLICZYĆ NA KOMPUTERZE
CZY WSZYSTKO MOŻNA POLICZYĆ NA KOMPUTERZE WSTĘP DO ZŁOŻONOŚCI OBLICZENIOWEJ Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2 Algorytm, algorytmika Algorytm
CZY WSZYSTKO MOŻNA POLICZYĆNA KOMPUTERZE
CZY WSZYSTKO MOŻNA POLICZYĆNA KOMPUTERZE WSTĘP DO ZŁOŻONOŚCI OBLICZENIOWEJ Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2 Algorytm, algorytmika Algorytm
PROSTE RACHUNKI WYKONYWANE ZA POMOCĄ KOMPUTERA
PROSTE RACHUNKI WYKONYWANE ZA POMOCĄ KOMPUTERA WPROWADZENIE DO ALGORYTMIKI Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2 Algorytm, algorytmika Algorytm
TECHNIKI ALGORYTMICZNE przybliżone i dokładne
TECHNIKI ALGORYTMICZNE przybliżone i dokładne WPROWADZENIE DO ALGORYTMIKI Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2 Algorytm, algorytmika Algorytm
Programowanie w VB Proste algorytmy sortowania
Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich
Programowanie 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
Porządek wśród informacji kluczem do szybkiego wyszukiwania
Porządek wśród informacji kluczem do szybkiego wyszukiwania Maciej M Sysło Uniwersytet Wrocławski, UMK w Toruniu syslo@iiuniwrocpl, syslo@matunitorunpl http://mmsyslopl/ < 188 > Informatyka + Wszechnica
Wszechnica Popołudniowa: Algorytmika i programowanie Porządek wśród informacji kluczem do szybkiego wyszukiwania. Maciej M Sysło
Wszechnica Popołudniowa: Algorytmika i programowanie Porządek wśród informacji kluczem do szybkiego wyszukiwania Maciej M Sysło Porządek wśród informacji kluczem do szybkiego wyszukiwania Rodzaj zajęć:
Sortowanie danych. Jolanta Bachan. Podstawy programowania
Sortowanie danych Podstawy programowania 2013-06-06 Sortowanie przez wybieranie 9 9 9 9 9 9 10 7 7 7 7 7 10 9 1 3 3 4 10 7 7 10 10 10 10 4 4 4 4 4 4 3 3 3 3 2 2 2 2 2 2 2 3 1 1 1 1 1 1 Gurbiel et al. 2000
Luty 2001 Algorytmy (4) 2000/2001
Mając dany zbiór elementów, chcemy znaleźć w nim element największy (maksimum), bądź najmniejszy (minimum). We wszystkich naturalnych metodach znajdywania najmniejszego i największego elementu obecne jest
KONSPEKT ZAJĘĆ KOŁA INFORMATYCZNEGO LUB MATEMATYCZNEGO W KLASIE III GIMNAZJUM LUB I LICEUM ( 2 GODZ.)
Joanna Osio asiaosio@poczta.onet.pl Nauczycielka matematyki w Gimnazjum im. Macieja Rataja w Żmigrodzie KONSPEKT ZAJĘĆ KOŁA INFORMATYCZNEGO LUB MATEMATYCZNEGO W KLASIE III GIMNAZJUM LUB I LICEUM ( 2 GODZ.)
Analiza 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ą
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 9. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 9 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Zasada dziel i zwyciężaj Przykłady znajdowanie
Wszechnica Informatyczna: Algorytmika i programowanie Algorytmy poszukiwania i porządkowania. Elementy języka programowania.
Wszechnica Informatyczna: Algorytmika i programowanie Algorytmy poszukiwania i porządkowania. Elementy języka programowania Maciej M Sysło Algorytmy poszukiwania i porządkowania. Elementy języka programowania
operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.
Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie
Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej
Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej Spis treści Autor: Marcin Orchel Algorytmika...2 Algorytmika w gimnazjum...2 Algorytmika w liceum...2 Język programowania w
Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny
Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady
Znajdowanie największego i najmniejszego elementu w zbiorze n liczb całkowitych
1/12 Opracowała Kozłowska Ewa ekozbelferek@poczta.onet.pl nauczyciel przedmiotów informatycznych Zespół Szkół Technicznych Mielec, ul. Jagiellończyka 3 Znajdowanie największego i najmniejszego elementu
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 2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn
Jeszcze o algorytmach
Jeszcze o algorytmach Przykłady różnych, podstawowych algorytmów 11.01.2018 M. Rad Plan Powtórka Znajdowanie najmniejszego elementu Segregowanie Poszukiwanie przez połowienie Wstawianie Inne algorytmy
WYMAGANIA EDUKACYJNE Z INFORMATYKI dla klasy III gimnazjalnej, Szkoły Podstawowej w Rychtalu
WYMAGANIA EDUKACYJNE Z INFORMATYKI dla klasy III gimnazjalnej, Szkoły Podstawowej w Rychtalu 1 Algorytmika i programowanie Rozwiązywanie problemów i podejmowanie decyzji z wykorzystaniem komputera, stosowanie
Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I
Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Rozkład zgodny
Sortowanie 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
Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II
Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Rozkład wymagający
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
Algorytmy 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
Podstawowe 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
WYMAGANIA EDUKACYJNE
GIMNAZJUM NR 2 W RYCZOWIE WYMAGANIA EDUKACYJNE niezbędne do uzyskania poszczególnych śródrocznych i rocznych ocen klasyfikacyjnych z INFORMATYKI w klasie II gimnazjum str. 1 1. Algorytmika i programowanie
znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.
Przedstawiamy algorytmy porządkowania dowolnej liczby elementów, którymi mogą być liczby, jak również elementy o bardziej złożonej postaci (takie jak słowa i daty). Porządkowanie, nazywane również często
Informatyka klasa III Gimnazjum wymagania na poszczególne oceny
Informatyka klasa III Gimnazjum wymagania na poszczególne oceny Algorytmika i programowanie Rozwiązywanie problemów i podejmowanie decyzji z wykorzystaniem komputera, stosowanie podejścia algorytmicznego
Zadanie 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
Z nowym bitem. Informatyka dla gimnazjum. Część II
Z nowym bitem. Informatyka dla gimnazjum. Część II Wymagania na poszczególne oceny szkolne Grażyna Koba Spis treści 1. Algorytmika i programowanie... 2 2. Obliczenia w arkuszu kalkulacyjnym... 4 3. Bazy
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan wykładów (1) Algorytmy i programy Proste typy danych Rozgałęzienia
Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott Metody konstrukcji algorytmów: Siłowa (ang. brute force), Dziel i zwyciężaj (ang. divide-and-conquer), Zachłanna (ang.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj
Strategia "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
Informatyka A. Algorytmy
Informatyka A Algorytmy Spis algorytmów 1 Algorytm Euklidesa....................................... 2 2 Rozszerzony algorytm Euklidesa................................ 2 3 Wyszukiwanie min w tablicy..................................
Definicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.
Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Grażyna Koba MIGRA 2019 Spis treści (propozycja na 2*32 = 64 godziny lekcyjne) Moduł A. Wokół komputera i sieci komputerowych
Algorytmy 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
Definicja. 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,
Algorytmy sortujące i wyszukujące
Algorytmy sortujące i wyszukujące Zadaniem algorytmów sortujących jest ułożenie elementów danego zbioru w ściśle określonej kolejności. Najczęściej wykorzystywany jest porządek numeryczny lub leksykograficzny.
ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
ALGORYMY Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu
Algorytmy 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
1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.
Temat: Technologia informacyjna a informatyka 1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Technologia informacyjna (ang.) Information Technology, IT jedna
Algorytmy 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
Algorytmy przeszukiwania
Algorytmy przeszukiwania Przeszukiwanie liniowe Algorytm stosowany do poszukiwania elementu w zbiorze, o którym nic nie wiemy. Aby mieć pewność, że nie pominęliśmy żadnego elementu zbioru przeszukujemy
Luty 2001 Algorytmy (1) 2000/2001 1
Algorytm jest przepisem opisującym krok po kroku rozwiązanie problemu lub osiągnięcie jakiegoś celu. Korzystanie z gotowego rozwiązania. Próba samodzielnego rozwiązania problemu. Słowo algorytm pochodzi
Sortowanie. LABORKA Piotr Ciskowski
Sortowanie LABORKA Piotr Ciskowski main Zaimplementuj metody sortowania przedstawione w następnych zadaniach Dla każdej metody osobna funkcja Nagłówek funkcji wg uznania ale wszystkie razem powinny być
WYMAGANIA EGZAMINACYJNE Egzamin maturalny z INFORMATYKI
WYMAGANIA EGZAMINACYJNE Egzamin maturalny z INFORMATYKI 1. Cele ogólne Podstawowym celem kształcenia informatycznego jest przekazanie wiadomości i ukształtowanie umiejętności w zakresie analizowania i
PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI
PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY ARKUSZ I STYCZEŃ 2014 Instrukcja dla zdającego 1. Sprawdź, czy arkusz egzaminacyjny zawiera 9 stron (zadania 1 3). Ewentualny brak zgłoś przewodniczącemu
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,
Wstę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
INFORMATYKA SORTOWANIE DANYCH.
INFORMATYKA SORTOWANIE DANYCH http://www.infoceram.agh.edu.pl SORTOWANIE Jest to proces ustawiania zbioru obiektów w określonym porządku. Sortowanie stosowane jest w celu ułatwienia późniejszego wyszukania
Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych
Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1
Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1 Etapy rozwiązywania problemu PROBLEM wybór metody rozwiązania ALGORYTM 1.
Programowanie i techniki algorytmiczne
Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej
kształcenia pozaszkolnego WMiI Uni Wrocław, WMiI UMK Toruń
Aktywizacja uczniów w ramach kształcenia pozaszkolnego Maciej jm. Sysłoł WMiI Uni Wrocław, WMiI UMK Toruń Plan Cele Projektu Czym chcemy przyciągnąć uczniów i nauczycieli Zakres zajęć w Projekcie Formy
Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL
Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL 1 Część 1 Pojęcie algorytmu 2 I. Pojęcie algorytmu Trochę historii Pierwsze
Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to
Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to wprowadzili J. Hartmanis i R. Stearns. Najczęściej przez zasób rozumie się czas oraz pamięć dlatego
Algorytmy. Programowanie Proceduralne 1
Algorytmy Programowanie Proceduralne 1 Przepis Warzenie piwa Brunświckiego Programowanie Proceduralne 2 Przepis Warzenie piwa Brunświckiego składniki (dane wejściowe): woda, słód, itd. wynik: beczka piwa
Laboratorium nr 7 Sortowanie
Laboratorium nr 7 Sortowanie 1. Sortowanie bąbelkowe (BbS) 2. Sortowanie przez wstawianie (IS) 3. Sortowanie przez wybieranie (SS) Materiały Wyróżniamy następujące metody sortowania: 1. Przez prostą zamianę
1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania
1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca
Wstę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
ALGORYTMY I PROGRAMY
ALGORYTMY I PROGRAMY Program to ciąg instrukcji, zapisanych w języku zrozumiałym dla komputera. Ten ciąg instrukcji realizuje jakiś algorytm. Algorytm jest opisem krok po kroku jak rozwiązać problem, czy
Sortowanie przez wstawianie Insertion Sort
Sortowanie przez wstawianie Insertion Sort Algorytm sortowania przez wstawianie można porównać do sposobu układania kart pobieranych z talii. Najpierw bierzemy pierwszą kartę. Następnie pobieramy kolejne,
Algorytmy. Programowanie Proceduralne 1
Algorytmy Programowanie Proceduralne 1 Przepis Warzenie piwa Brunświckiego Programowanie Proceduralne 2 Przepis Warzenie piwa Brunświckiego składniki (dane wejściowe): woda, słód, itd. wynik: beczka piwa
3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.
1. Podaj definicję informatyki. 2. W jaki sposób można definiować informatykę? 3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 4. Co to jest algorytm? 5. Podaj neumanowską architekturę
Aktywizacja uczniów w ramach kształcenia pozaszkolnego. Maciej M. Sysło WMiI Uni Wrocław, WMiI UMK Toruń
Aktywizacja uczniów w ramach kształcenia pozaszkolnego Maciej M. Sysło WMiI Uni Wrocław, WMiI UMK Toruń Plan Co to jest Informatyka, a co to jest TIK (ICT)? Rozwój kształcenia informatycznego: alfabetyzacja,
Analiza algorytmów zadania podstawowe
Analiza algorytmów zadania podstawowe 15 stycznia 2019 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 P Jaka wartość zostanie zwrócona
TEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 2 2 Problemy algorytmiczne Klasy problemów algorytmicznych Liczby Fibonacciego Przeszukiwanie tablic Największy
Grażyna Koba, Poradnik metodyczny. Informatyka dla gimnazjum Program nauczania wymagania na oceny PRZEDMIOTOWY SYSTEM OCENIANIA KLASA II
W rozporządzeniu MEN 1 określono, że Ocenianie osiągnięć edukacyjnych ucznia polega na rozpoznawaniu przez nauczycieli poziomu i postępów w opanowaniu przez ucznia wiadomości i umiejętności w stosunku
Wszechnica Popołudniowa: Algorytmika i programowanie Czy wszystko można policzyć na komputerze. Maciej M Sysło
Wszechnica Popołudniowa: Algorytmika i programowanie Czy wszystko można policzyć na komputerze Maciej M Sysło Czy wszystko można policzyć na komputerze Rodzaj zajęć: Wszechnica Popołudniowa Tytuł: Czy
EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA
EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA POZIOM ROZSZERZONY FORMUŁA OD 2015 ( NOWA MATURA ) ZASADY OCENIANIA ROZWIĄZAŃ ZADAŃ ARKUSZ MIN-R1,R2 MAJ 2018 Uwaga: Akceptowane są wszystkie odpowiedzi
Algorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
Roman Mocek Zabrze 01.09.2007 Opracowanie zbiorcze ze źródeł Scholaris i CKE
Różnice między podstawą programową z przedmiotu Technologia informacyjna", a standardami wymagań będącymi podstawą przeprowadzania egzaminu maturalnego z przedmiotu Informatyka" I.WIADOMOŚCI I ROZUMIENIE
Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,
wprowadzenie Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu, w przepisie tym podaje się opis czynności, które trzeba wykonać, oraz dane, dla których algorytm będzie określony.
1. Algorytmika. WPROWADZENIE DO ALGORYTMIKI Wprowadzenie do algorytmów. Pojęcie algorytmu.
Wymagania edukacyjne z informatyki poziom rozszerzony w klasie 2 Społecznego Liceum Ogólnokształcącego Splot im. Jana Karskiego w Nowym Sączu 1. Algorytmika TREŚCI NAUCZANIA WPROWADZENIE DO ALGORYTMIKI
Temat 20. Techniki algorytmiczne
Realizacja podstawy programowej 5. 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych problemów; 2) formułuje ścisły opis prostej sytuacji problemowej, analizuje
1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
RÓŻNORODNE ALGORYTMY OBLICZEŃ I ICH KOMPUTEROWE REALIZACJE
RÓŻNORODNE ALGORYTMY OBLICZEŃ I ICH KOMPUTEROWE REALIZACJE Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2 Algorytm, algorytmika Algorytm opis rozwiązania
Sortowanie Shella Shell Sort
Sortowanie Shella Shell Sort W latach 50-tych ubiegłego wieku informatyk Donald Shell zauważył, iż algorytm sortowania przez wstawianie pracuje bardzo efektywnie w przypadku gdy zbiór jest w dużym stopniu
Złożoność obliczeniowa zadania, zestaw 2
Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze
Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.
Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji. Maria Górska 9 stycznia 2010 1 Spis treści 1 Pojęcie algorytmu 3 2 Sposób
Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy
Informatyka wprowadze do algorytmów (II) dr hab. inż. Mikołaj Morzy plan wykładu cechy algorytmów sposoby zapisu algorytmów klasyfikacja algorytmów przykłady algorytmów sumowa przeszukiwa ciągu liczb sortowa
Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba
Programowanie od pierwszoklasisty do maturzysty Grażyna Koba Krąg trzydziestolecia nauki programowania C++, Java Scratch, Baltie, Logo, Python? 2017? Informatyka SP, GIMN, PG 1987 Elementy informatyki
Zaawansowane 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)
Wprowadzenie do algorytmiki
Wprowadzenie do algorytmiki Pojecie algorytmu Powszechnie przyjmuje się, że algorytm jest opisem krok po kroku rozwiązania postawionego problemu lub sposób osiągnięcia jakiegoś celu. Wywodzi się z matematyki
KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Algorytmy i struktury danych, C3
KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:
Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych
Temat 2. Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych Cele edukacyjne Usystematyzowanie podstawowych pojęć: algorytm z warunkami, iteracja, algorytm iteracyjny, zmienna sterująca.
Opis założonych osiągnięć ucznia wymagania na poszczególne oceny szkolne dla klasy VIII. Opracowano w oparciu o pomoce naukowe Migra (
Opis założonych osiągnięć ucznia wymagania na poszczególne oceny szkolne dla klasy VIII Opracowano w oparciu o pomoce naukowe Migra (www.migra.pl) 1. Praca z dokumentem tekstowym 1.1. Rozwiązywanie problemów
Sortowanie - wybrane algorytmy
Sortowanie - wybrane algorytmy Aleksandra Wilkowska Wydział Matematyki - Katedra Matematyki Stosowanej Politechika Wrocławska 2 maja 2018 1 / 39 Plan prezentacji Złożoność obliczeniowa Sortowanie bąbelkowe
Rekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów.
Rekurencja Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów. Zgodnie ze znaczeniem informatycznym algorytm rekurencyjny to taki który korzysta z samego
Podstawy Programowania Algorytmy i programowanie
Podstawy Programowania Algorytmy i programowanie Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Algorytm Algorytm w matematyce, informatyce, fizyce, itp. lub innej dziedzinie życia,
Algorytmy komputerowe. dr inŝ. Jarosław Forenc
Rok akademicki 2009/2010, Wykład nr 8 2/24 Plan wykładu nr 8 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2009/2010
Program nauczania informatyki w gimnazjum Informatyka dla Ciebie. Modyfikacja programu klasy w cyklu 2 godzinnym
Modyfikacja programu klasy 2 nym Cele modyfikacji Celem modyfikacji jest poszerzenie zakresu wiedzy zawartej w podstawie programowej które pomoże uczniom uzmysłowić sobie treści etyczne związane z pracą
Wszechnica Poranna: Algorytmika i programowanie Wprowadzenie do algorytmiki i programowania Ð wyszukiwanie i porządkowanie informacji
Wszechnica Poranna: Algorytmika i programowanie Wprowadzenie do algorytmiki i programowania Ð wyszukiwanie i porządkowanie informacji Maciej M Sysło Człowiek Ð najlepsza inwestycja Rodzaj zajęć: Wszechnica
Podstawy 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