Algorytmy komputerowe. dr inż. Jarosław Forenc
|
|
- Irena Dąbrowska
- 7 lat temu
- Przeglądów:
Transkrypt
1 Rok akademicki 2010/2011, Wykład nr 9/10 2/38 Plan wykładu nr 9/10 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2010/2011 Algorytmy komputerowe definicja algorytmu komputerowego sposoby opisu algorytmów klasyfikacje algorytmów rekurencja złożoność obliczeniowa algorytmu Wykład nr 9/10 (03/ ) Rok akademicki 2010/2011, Wykład nr 9/10 3/38 Rok akademicki 2010/2011, Wykład nr 9/10 4/38 Algorytm - definicje Definicja 1 Skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania Definicja 2 Metoda rozwiązania zadania Definicja 3 Ściśle określona procedura obliczeniowa, która dla właściwych danych wejściowych zwraca żądane dane wyjściowe zwane wynikiem działania algorytmu Algorytmy Słowo algorytm pochodzi od nazwiska Muhammada ibn-musy al-chuwarizmiego (po łacinie pisanego jako Algorismus), matematyka perskiego z IX wieku Badaniem algorytmów zajmuje się algorytmika Algorytm może zostać zaimplementowany w postaci programu komputerowego Przetłumaczenie algorytmu na wybrany język programowania nazywane jest też kodowaniem algorytmu Ten sam algorytm może być zaimplementowany (zakodowany) w różny sposób przy użyciu różnych języków programowania
2 Rok akademicki 2010/2011, Wykład nr 9/10 5/38 Rok akademicki 2010/2011, Wykład nr 9/10 6/38 Podstawowe cechy algorytmu Algorytm powinien: Posiadać dane wejściowe (w ilości większej lub równej zeru) pochodzące z dobrze zdefiniowanego zbioru Zwracać pewien wynik Być precyzyjnie zdefiniowany (każdy krok algorytmu musi być jednoznacznie określony) Być zawsze poprawny (dla każdego z założonego dopuszczalnego zestawu danych wejściowych) Sposoby opisu algorytmów 1. Opis słowny algorytmu (w języku naturalnym) 2. Opis w punktach (lista kroków) 3. Opis w postaci schematu blokowego 4. Z zastosowaniem pseudokodu, czyli niezbyt formalnej odmiany języka programowania 5. W wybranym języku programowania Zawsze kończyć się po skończonej liczbie kroków (powinna istnieć poprawnie działająca reguła stopu algorytmu) Być efektywny (jak najkrótszy czas wykonania i jak najmniejsze zapotrzebowanie na pamięć) Rok akademicki 2010/2011, Wykład nr 9/10 7/38 Rok akademicki 2010/2011, Wykład nr 9/10 8/38 Opis słowny algorytmu Polega na podaniu kolejnych czynności, które należy wykonać, aby otrzymać oczekiwany efekt końcowy Przypomina przepis kulinarny z książki kucharskiej lub instrukcję obsługi urządzenia, np. Algorytm: Tortilla ( Podróże kulinarne R. Makłowicza) Dane wejściowe: 0,5 kg ziemniaków, 100 g kiełbasy Chorizo, 8 jajek Dane wyjściowe: gotowa Tortilla Opis algorytmu: Ziemniaki obrać i pokroić w plasterki. Kiełbasę pokroić w plasterki. Ziemniaki wrzucić na gorącą oliwę na patelni i przyrumienić z obu stron. Kiełbasę wrzucić na gorącą oliwę na patelni i przyrumienić z obu stron. Ubić jajka i dodać do połączonych ziemniaków i kiełbasy. Dodać sól i pieprz. Usmażyć z obu stron wielki omlet nadziewany chipsami ziemniaczanymi z kiełbaską. Lista kroków Lista kroków jest to uporządkowany opis wszystkich czynności, jakie należy wykonać podczas realizacji algorytmu Krok jest to pojedyncza czynność realizowana w algorytmie Kroki w algorytmie są numerowane, operacje wykonywane są zgodnie z rosnącą numeracją kroków Jedynym odstępstwem od powyższej reguły są operacje skoku (warunkowe lub bezwarunkowe), w których jawnie określa się numer kolejnego kroku Przykład (instrukcja otwierania wózka-specerówki): Krok 1: Krok 2: Krok 3: Zwolnij element blokujący wózek Rozkładaj wózek w kierunku kółek Naciskając nogą dolny element blokujący aż do zatrzaśnięcia, rozłóż wózek do pozycji przewozowej
3 Rok akademicki 2010/2011, Wykład nr 9/10 9/38 Rok akademicki 2010/2011, Wykład nr 9/10 10/38 Schematy blokowe Schemat blokowy zawiera plan algorytmu przedstawiony w postaci graficznej struktury elementów zwanych blokami Każdy blok zawiera informację o operacji, która ma być w nim wykonana Pomiędzy blokami umieszczone są linie przepływu (strzałki) określające kolejność wykonywania bloków algorytmu Zależnie od typu wykonywanej operacji stosowane są różne kształty bloków Podstawowe symbole stosowane na schematach blokowych: linia przepływu (połączenie) występuje w postaci linii zakończonej strzałką określa kierunek przemieszczania się po schemacie Schematy blokowe Podstawowe symbole stosowane na schematach blokowych: STOP blok startowy, początek algorytmu wskazuje miejsce rozpoczęcia algorytmu może występować tylko jeden raz blok końcowy, koniec algorytmu wskazuje miejsce zakończenia algorytmu musi występować przynajmniej jeden raz blok wykonawczy, blok funkcyjny zawiera polecenie (elementarną instrukcję) instrukcją może być podstawienie, operacja arytmetyczna, wprowadzenie danych lub wyprowadzenie wyników Rok akademicki 2010/2011, Wykład nr 9/10 11/38 Rok akademicki 2010/2011, Wykład nr 9/10 12/38 Schematy blokowe Podstawowe symbole stosowane na schematach blokowych: blok warunkowy (decyzyjny, porównujący) sprawdza umieszczony w nim warunek i dokonuje wyboru tylko jednej drogi wyjściowej połączenia wychodzące z bloku: - T lub TAK - gdy warunek jest prawdziwy - N lub NIE - gdy warunek nie jest prawdziwy Czasami wprowadzanie i wyprowadzanie danych oznacza się dodatkowym blokiem wejścia-wyjścia Pseudokod Pseudokod (pseudojęzyk) - jest to uproszczona wersja języka programowania Symbole geometryczne występujące na schematach blokowych zastępowane są zdaniami w języku ojczystym Często pojawiają się w nim zwroty pochodzące z języków programowania Zapis w pseudokodzie może być łatwo przetłumaczony na wybrany język programowania blok wejścia-wyjścia poprzez ten blok wprowadzane są dane i wyprowadzane wyniki
4 Rok akademicki 2010/2011, Wykład nr 9/10 13/38 Rok akademicki 2010/2011, Wykład nr 9/10 14/38 Opis w języku programowania Zapis programu w konkretnym języku programowania Najczęściej stosowane języki to Pascal i C Przykłady opisu algorytmów Algorytm Euklidesa - największy wspólny dzielnik dwóch liczb Lista kroków: Dane wejściowe: niezerowe liczby naturalne a i b Dane wyjściowe: NWD(a,b) Kolejne kroki: 1. Czytaj liczby a i b 2. Dopóki a i b są większe od zera, powtarzaj krok 3, a następnie przejdź do kroku 4 3. Jeśli a jest większe od b, to weź za a resztę z dzielenia a przez b, w przeciwnym razie weź za b resztę z dzielenia b przez a 4. Przyjmij jako największy wspólny dzielnik tę z liczb a i b, która pozostała większa od zera 5. Drukuj NWD(a,b) Rok akademicki 2010/2011, Wykład nr 9/10 15/38 Rok akademicki 2010/2011, Wykład nr 9/10 16/38 Przykłady opisu algorytmów Algorytm Euklidesa - największy wspólny dzielnik dwóch liczb Przykłady opisu algorytmów Algorytm Euklidesa - największy wspólny dzielnik dwóch liczb Schemat blokowy: NWD(1675,3752) =? a b Dzielenie większej liczby przez mniejszą Zamiana b/a = 3752/1675 = 2 reszta 402 b = a/b = 1675/402 = 4 reszta 67 a = b/a = 402/67 = 6 reszta 0 b = KONIEC NWD(1675,3752) = 67
5 Rok akademicki 2010/2011, Wykład nr 9/10 17/38 Rok akademicki 2010/2011, Wykład nr 9/10 18/38 Przykłady opisu algorytmów Algorytm Euklidesa - największy wspólny dzielnik dwóch liczb Pseudokod: Przykłady opisu algorytmów Algorytm Euklidesa - największy wspólny dzielnik dwóch liczb Język C: NWD(a,b) while a>0 i b>0 do if a>b then a a mod b b b mod a if a>0 then return a return b int NWD(int a, int b) { while (a>0 && b>0) if (a>b) a = a % b; b = b % a; if (a>0) return a; return b; } Rok akademicki 2010/2011, Wykład nr 9/10 19/38 Rok akademicki 2010/2011, Wykład nr 9/10 20/38 Klasyfikacje algorytmów Paradygmaty tworzenia programów komputerowych: strategia dziel i zwyciężaj programowanie dynamiczne algorytmy zachłanne programowanie liniowe algorytmy siłowe (brute force) algorytmy probabilistyczne heurystyka Strategia dziel i zwyciężaj Strategia dziel i zwyciężaj (ang. divide and conquer) jest strategią konstruowania algorytmów, jedną z najefektywniejszych metod w informatyce W strategii tej zazwyczaj rekurencyjnie dzielimy problem na dwa lub więcej mniejszych problemów tego samego (lub podobnego) typu tak długo, aż stanie się on wystarczająco prosty do bezpośredniego rozwiązania Rozwiązania otrzymane dla mniejszych podproblemów są scalane w celu uzyskania rozwiązania całego zadania Przykłady zastosowań: sortowanie szybkie (quicksort) wyszukiwanie binarne - sprawdzenie czy element znajduje się w uporządkowanej tablicy, jeśli tak, to zwraca jego indeks
6 Rok akademicki 2010/2011, Wykład nr 9/10 21/38 Rok akademicki 2010/2011, Wykład nr 9/10 22/38 Programowanie dynamiczne Konstrukcja programu sformułowana jest w trzech etapach: Koncepcja: Inicjacja: Progresja: stworzenie rekurencyjnego modelu rozwiązania problemu (wraz z jednoznacznym określeniem przypadków elementarnych) stworzenie tablicy, zawierającej rozwiązania przypadków elementarnych i obliczonych na ich podstawie podproblemów wpisanie do tablicy wartości dla przypadków elementarnych obliczenie i wpisanie do tablicy rozwiązania problemu wyższego rzędu (na podstawie formuły rekurencyjnej i już wpisanych wartości) postępowanie w ten sam sposób do osiągnięcia pożądanej wartości Programowanie dynamiczne - przykład Koncepcja: (F 10 w ciągu Fibonacciego) model rekurencyjny, przypadki elementarne, tablica z rozwiązaniem F 0 = 0, F1 = 1, Fn = Fn 1 + Fn 2 n F n Inicjacja: Progresja: wpisanie do tablicy wartości dla przypadków elementarnych n F n 0 1 obliczenie rozwiązań problemów wyższego rzędu aż do osiągnięcia pożądanej wartości i wpisanie ich do tablicy n F n Rok akademicki 2010/2011, Wykład nr 9/10 23/38 Rok akademicki 2010/2011, Wykład nr 9/10 24/38 Algorytmy zachłanne Algorytm zachłanny - w celu rozwiązania pewnego zadania w każdym kroku dokonuje się zachłannego, tj. najlepiej rokującego w danym momencie wyboru rozwiązania częściowego Algorytm podejmuje decyzję lokalnie optymalną, dokonując wyboru wydającego się w danej chwili najlepszym Dokonywany lokalnie najkorzystniejszy wybór ma w założeniu prowadzić do znalezienia globalnego optymalnego rozwiązania Algorytmy zachłanne stosowane są przede wszystkim w optymalizacji Programowanie liniowe Programowanie liniowe - warunki ograniczające oraz funkcja celu mają postać liniową, np. warunki ograniczające: a11 + a K+ a n n α a11 + a K+ a n n α a11 + a K + a n n = α Zadanie polega na zmaksymalizowaniu (zminimalizowaniu) funkcji celu: f = α + c11 + c22 + K+ c n n wiele problemów można sprowadzić do maksymalizacji lub minimalizacji pewnej funkcji celu, przy ograniczonych zasobach i antagonistycznych warunkach programowanie liniowe znalazło szerokie zastosowanie w teorii decyzji, np. do optymalizacji planu produkcyjnego
7 Rok akademicki 2010/2011, Wykład nr 9/10 25/38 Rok akademicki 2010/2011, Wykład nr 9/10 26/38 Programowanie liniowe Fabryka produkuje urządzenia A i B. W ciągu jednego dnia można wytworzyć łącznie 200 urządzeń. Wyprodukowanie urządzenia A zajmuje 3 roboczogodziny, a B - 4 roboczogodziny. Dzienna liczba dostępnych roboczogodzin wynosi 600. W ciągu jednego dnia należy wyprodukować min. 50 urządzeń A i min. 50 urządzeń B. Zysk ze sprzedaży urządzenia A to 1000 PLN, a B PLN. Ile urządzeń A i B należy dziennie wyprodukować, aby zysk był jak największy? Warunki ograniczające: Funkcja celu: 3, A A 200 A + B f = 1000 A B + 4 B B Algorytmy siłowe Algorytm siłowy (brute force) - opiera się na sukcesywnym sprawdzaniu wszystkich możliwych kombinacji w poszukiwaniu rozwiązania problemu Zazwyczaj nieoptymalny, ale najprostszy w implementacji W programowaniu termin ten odnosi się do dowolnego algorytmu, który rozwiązuje problem przez weryfikację i ocenę wszystkich wariantów postępowania Rok akademicki 2010/2011, Wykład nr 9/10 27/38 Rok akademicki 2010/2011, Wykład nr 9/10 28/38 Algorytmy probabilistyczne Algorytmy probabilistyczne - algorytm Monte Carlo Algorytmy można podzielić na deterministyczne i probabilistyczne Dane wejściowe Algorytm deterministyczny Dane wyjściowe Dane wejściowe Algorytm probabilistyczny Dane wyjściowe Generator liczb losowych Działanie algorytmu deterministycznego jest całkowicie zależne od warunków początkowych (wejście), tzn. dla takich samych danych wejściowych algorytm zawsze zwraca taki sam wynik Algorytm probabilistyczny albo randomizowany (randomized algorithm) do swojego działania używa losowości (generatora liczb pseudolosowych) Obliczanie przybliżonej wartości całki oznaczonej metodą Monte Carlo: Dla funkcji f(), której całkę chcemy obliczyć w przedziale [ p, k ] wyznaczamy prostokąt obejmujący pole pod wykresem tej funkcji o wysokości h i długości podstawy ( k - p ) Losujemy n punktów i zliczamy te punkty n w, które wpadają w pole pod wykresem funkcji Wartość całki obliczana jest na podstawie wzoru przybliżonego: I k = p k I = f ( ) d p nw f ( ) d h( k p ) n
8 Rok akademicki 2010/2011, Wykład nr 9/10 29/38 Rok akademicki 2010/2011, Wykład nr 9/10 30/38 Rekurencja Rekurencja - przykłady Rekurencja lub rekursja - jest to odwoływanie się np. funkcji do samej siebie Rozwiązanie danego problemu wyraża się za pomocą rozwiązań tego samego problemu, ale dla danych o mniejszych rozmiarach W matematyce mechanizm rekurencji stosowany jest dość często do definiowania lub opisywania algorytmów silnia liczby n 1 n! = n(n 1)! dla dla n = 0 n 1 Nie zawsze rozwiązanie rekurencyjne prowadzi do rozwiązania efektywnego, czasem prowadzi do obniżenia efektywności programu, np. zwiększenia zapotrzebowanie programu na pamięć int silnia(int n) { if (n==0) return 1; return n*silnia(n-1); } Rok akademicki 2010/2011, Wykład nr 9/10 31/38 Rok akademicki 2010/2011, Wykład nr 9/10 32/38 Rekurencja - przykłady Rekurencja - przykłady definicja ciągu Fibonacciego największy wspólny dzielnik - algorytm Euklidesa F n 0 dla n = 0 = 1 dla n = 1 Fn 1 + Fn 2 dla n > 1 NWD(a, b) a = NWD(b,a mod b) dla dla b = 0 b 1 int F(int n) { if (n==0) return 0; if (n==1) return 1; return F(n-1) + F(n-2); } int NWD(int a, int b) { if (b==0) return a; return NWD(b,a % b); }
9 Rok akademicki 2010/2011, Wykład nr 9/10 33/38 Rok akademicki 2010/2011, Wykład nr 9/10 34/38 Złożoność obliczeniowa W celu rozwiązania danego problemu obliczeniowego szukamy algorytmu najbardziej efektywnego, tzn.: najszybszego o możliwie małym zapotrzebowaniu na pamięć Do oceny efektywności programu służy złożoność obliczeniowa nazywana także kosztem algorytmu Złożoność obliczeniowa algorytmu jest to ilość zasobów (czas, pamięć) potrzebnych do jego działania Złożoność obliczeniowa algorytmu jest funkcją rozmiaru danych wejściowych (np. sortowanie tablicy - im większa tablica tym więcej zasobów jest potrzebnych do jej posortowania) Złożoność obliczeniowa Złożoność czasowa: Miarą złożoności czasowej jest liczba operacji podstawowych (dominujących) w zależności od rozmiaru danych wejściowych Operacje podstawowe to np. podstawienie, porównanie, operacja arytmetyczna Pomiar czasu zegarowego nie jest stosowany ze względu na silną zależność od implementacji algorytmu, zastosowanego kompilatora, komputera, doświadczenia programisty Złożoność pamięciowa: Złożoność pamięciowa jest miarą wykorzystania pamięci (liczba komórek pamięci) Rok akademicki 2010/2011, Wykład nr 9/10 35/38 Rok akademicki 2010/2011, Wykład nr 9/10 36/38 Złożoność obliczeniowa Złożoność obliczeniowa zależy od postaci danych na jakich algorytm operuje Dla pewnych, specyficznych danych algorytm może wykonać się bardzo szybko, dla innych zaś znacznie wolniej Złożoność pesymistyczna: Odpowiada najbardziej niesprzyjającym dla algorytmu danym Złożoność średnia: Złożoność uśredniona po wszystkich możliwych zestawach danych Złożoność dla typowych danych wejściowych Notacja O Wyraża złożoność matematyczną algorytmu Po literze O występuje wyrażenie w nawiasach zawierające literę n, która oznacza liczbę elementów, na której działa algorytm Za miarę dobroci algorytmu przyjmuje się liczbę wykonywanych w nim elementarnych operacji, np. dodawanie, porównywanie O(n) - złożoność algorytmu jest prostą funkcją liczby elementów (jeśli sortowanie 1000 elementów zajmuje 1 s, to sortowanie (2000 elementów zajmie 2 s) O(n 2 ) - czas konieczny do wykonania algorytmu rośnie wraz z kwadratem liczby elementów (przy podwojeniu liczby elementów ich obsługa będzie trwała cztery razy dłużej)
10 Rok akademicki 2010/2011, Wykład nr 9/10 37/38 Rok akademicki 2010/2011, Wykład nr 9/10 38/38 Notacja O Koniec wykładu nr 9/10 Porównanie najczęściej występujących złożoności: Elementy O(log n) O(n) O(n log n) O(n 2 ) O(2 n ) , , Dziękuję za uwagę! , O(log n) - złożoność logarytmiczna O(n) - złożoność liniowa O(n log n) - złożoność liniowo-logarytmiczna O(n 2 ) - złożoność kwadratowa O(2 n ) - złożoność wykładnicza
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
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ółowoInformatyka 1. Wykład nr 7 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc
Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2008/2009 Wykład nr 7 (24.05.2009) Rok akademicki 2008/2009, Wykład
Bardziej szczegółowoStruktura i funkcjonowanie komputera struktura połączeń, magistrala, DMA systemy pamięci komputerowych hierarchia pamięci, pamięć podręczna
Rok akademicki 2009/2010, Wykład nr 7 2/56 Plan wykładu nr 7 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2009/2010
Bardziej szczegółowoInformatyka 1. Wykład nr 7 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc
Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2007/2008 Wykład nr 7 (09.06.2008) Rok akademicki 2007/2008, Wykład
Bardziej szczegółowoDefinicje. 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
Bardziej szczegółowoAlgorytm. 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
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ół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ółowo1 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
Bardziej szczegółowoAlgorytm 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
Bardziej szczegółowoPodstawy programowania. Podstawy C# Przykłady algorytmów
Podstawy programowania Podstawy C# Przykłady algorytmów Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania
Bardziej szczegółowoEfektywność algorytmów
Efektywność algorytmów Algorytmika Algorytmika to dział informatyki zajmujący się poszukiwaniem, konstruowaniem i badaniem własności algorytmów, w kontekście ich przydatności do rozwiązywania problemów
Bardziej szczegółowoALGORYTMY 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
Bardziej szczegółowoWykł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
Bardziej szczegółowoMETODY OPISU ALGORYTMÓW KOMPUTEROWYCH
Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni z przedmiotu Podstawy Informatyki Kod przedmiotu: TS1C 100 003 Ćwiczenie pt. METODY OPISU ALGORYTMÓW KOMPUTEROWYCH
Bardziej szczegółowoZa pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).
Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z
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ółowoWykład z Technologii Informacyjnych. Piotr Mika
Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły
Bardziej szczegółowoWykład z Podstaw Informatyki dla I roku BO. Piotr Mika
Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Napisanie programu komputerowego: Zasada rozwiązania zadania Stworzenie sekwencji kroków algorytmu Przykłady algorytmów z życia codziennego (2/1 6)
Bardziej szczegółowoTechnologie informacyjne Wykład VII-IX
Technologie informacyjne -IX A. Matuszak 19 marca 2013 A. Matuszak Technologie informacyjne -IX Rekurencja A. Matuszak (2) Technologie informacyjne -IX Gotowanie jajek na miękko weż czysty garnek włóż
Bardziej szczegółowoINFORMATYKA 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
Bardziej szczegółowoAlgorytmy. 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
Bardziej szczegółowoAlgorytm i złożoność obliczeniowa algorytmu
Algorytm i złożoność obliczeniowa algorytmu Algorytm - przepis postępowania, którego wykonanie prowadzi do rozwiązania określonego problemu określa czynności, jakie należy wykonać wyszczególnia wszystkie
Bardziej szczegółowoTechnologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Bardziej szczegółowoAlgorytmy, reprezentacja algorytmów.
Algorytmy, reprezentacja algorytmów. Wprowadzenie do algorytmów Najważniejszym pojęciem algorytmiki jest algorytm (ang. algorithm). Nazwa pochodzi od nazwiska perskiego astronoma, astrologa, matematyka
Bardziej szczegółowo1. 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
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ół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ół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ółowoMATERIAŁY POMOCNICZE NR 1 DO PRACOWNI Z PRZEMIOTU INFORMATYKA 1. Informacje podstawowe:
Informacje podstawowe: MATERIAŁY POMOCNICZE NR 1 DO PRACOWNI Z PRZEMIOTU INFORMATYKA 1 INFORMATYKA 1 - Pracownia specjalistyczna 30h Kod przedmiotu: ES1A200 009, ECTS: 4 pkt. Kierunek: Elektrotechnika,
Bardziej szczegółowoAlgorytmika i pseudoprogramowanie
Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry
Bardziej szczegółowoWprowadzenie 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
Bardziej szczegółowoALGORYTMY. 1. Podstawowe definicje Schemat blokowy
ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności
Bardziej szczegółowoAlgorytm - 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
Bardziej szczegółowoWstę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
Bardziej szczegółowoAlgorytm. 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
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ółowoInformatyka 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
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ółowoAlgorytmy. 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
Bardziej szczegółowo2.8. Algorytmy, schematy, programy
https://app.wsipnet.pl/podreczniki/strona/38766 2.8. Algorytmy, schematy, programy DOWIESZ SIĘ co oznaczają pojęcia: algorytm, schemat blokowy, język programowania, jakie są sposoby obliczania największego
Bardziej szczegółowoAlgorytm. Algorytmy Marek Pudełko
Algorytm Algorytmy Marek Pudełko Definicja Algorytm to skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Algorytm ma przeprowadzić system z pewnego
Bardziej szczegółowoZł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
Bardziej szczegółowoJeszcze 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
Bardziej szczegółowo11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym
1. Instrukcja warunkowa a. słuŝy do wprowadzania danych oraz wprowadzania wyników b. to instrukcja decyzyjna c. to sposób przedstawienia algorytmu 2. Instrukcja, która opisuje wykonanie róŝnych czynności
Bardziej szczegółowoALGORYTMY. 1. Podstawowe definicje Schemat blokowy
ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności
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ółowoPodstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 7 Algorytmy Programowanie Sformułowanie problemu. Opracowanie metodyki rozwiązania. Opracowanie algorytmu. Napisanie kodu źródłowego (zakodowanie) w
Bardziej szczegółowoSortowanie 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
Bardziej szczegółowoMATERIAŁY POMOCNICZE NR 1 DO PRACOWNI Z PRZEMIOTU INFORMATYKA 1. Informacje podstawowe:
Informacje podstawowe: MATERIAŁY POMOCNICZE NR 1 DO PRACOWNI Z PRZEMIOTU INFORMATYKA 1 INFORMATYKA 1 - Pracownia specjalistyczna 30h Kod przedmiotu: ES1A200 009, ECTS: 4 pkt. Kierunek: Elektrotechnika,
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane
Algorytmy i struktury danych Wykład 4 Tablice nieporządkowane i uporządkowane Tablice uporządkowane Szukanie binarne Szukanie interpolacyjne Tablice uporządkowane Szukanie binarne O(log N) Szukanie interpolacyjne
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ółowoINFORMATYKA. Algorytmy.
INFORMATYKA Algorytmy http://www.infoceram.agh.edu.pl ALGORYTM ALGORYTM to skończony ciąg jasno zdefiniowanych czynności, wskazujący kolejność operacji koniecznych do rozwiązania zadanego problemu. Słowo
Bardziej szczegółowoAlgorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.
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
Bardziej szczegółowoAlgorytmy i schematy blokowe
Algorytmy i schematy blokowe Algorytm dokładny przepis podający sposób rozwiązania określonego zadania w skończonej liczbie kroków; zbiór poleceń odnoszących się do pewnych obiektów, ze wskazaniem porządku,
Bardziej szczegółowoJeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,
Oznaczenia: Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze, to interesuje nas złożoność obliczeniowa
Bardziej szczegółowoZadanie 1. Potęgi (14 pkt)
2 Egzamin maturalny z informatyki Zadanie 1. otęgi (14 pkt) W poniższej tabelce podane są wartości kolejnych potęg liczby 2: k 0 1 2 3 4 5 6 7 8 9 10 2 k 1 2 4 8 16 32 64 128 256 512 1024 Ciąg a=(a 0,
Bardziej szczegółowoAlgorytmy i struktury danych. wykład 2
Plan wykładu: Pojęcie algorytmu. Projektowanie wstępujące i zstępujące. Rekurencja. Pojęcie algorytmu Pojęcie algorytmu Algorytm skończony zbiór operacji, koniecznych do wykonania zadania z pewnej klasy
Bardziej szczegółowoAlgorytmy w teorii liczb
Łukasz Kowalik, ASD 2004: Algorytmy w teorii liczb 1 Algorytmy w teorii liczb Teoria liczb jest działem matemtyki dotyczącym własności liczb naturalnych. Rozważa się zagadnienia związane z liczbami pierwszymi,
Bardziej szczegółowo1. Analiza algorytmów przypomnienie
1. Analiza algorytmów przypomnienie T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein Wprowadzenie do algorytmów, rozdziały 1-4 Wydawnictwa naukowo-techniczne (2004) Jak mierzyć efektywność algorytmu?
Bardziej szczegółowoMATERIAŁY POMOCNICZE NR 1 DO PRACOWNII Z PRZEMIOTU INFORMATYKA 1
Informacje podstawowe: MATERIAŁY POMOCNICZE NR 1 DO PRACOWNII Z PRZEMIOTU INFORMATYKA 1 INFORMATYKA 1 - Pracownia specjalistyczna 30h Kod przedmiotu: EZ1A200 010, ECTS: 6 pkt. Kierunek: Elektrotechnika,
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2014/2015 Wykład nr 6 (25.05.2015) Rok akademicki 2014/2015, Wykład
Bardziej szczegółowoRekurencja. Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)!
Rekurencja Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)! Pseudokod: silnia(n): jeżeli n == 0 silnia = 1 w przeciwnym
Bardziej szczegółowoINFORMATYKA 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
Bardziej szczegółowoAlgorytmy i struktury danych
Letnie Warsztaty Matematyczno-Informatyczne Algorytmy i struktury danych Mariusz Różycki University of Cambridge Zajęcia będą mieć formę wykładową. Slajdy można znaleźć na stronie kursu: http://lw.mi.edu.pl/informatyka/algorytmy.
Bardziej szczegółowoWprowadzenie do złożoności obliczeniowej
problemów Katedra Informatyki Politechniki Świętokrzyskiej Kielce, 16 stycznia 2007 problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów
Bardziej szczegółowoWstęp do Informatyki
Wstęp do Informatyki dr hab. Bożena Woźna-Szcześniak, prof. AJD bwozna@gmail.com Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 8 1 / 32 Instrukcje iteracyjne
Bardziej szczegółowoAlgorytmy i struktury danych
Algorytmy i struktury danych ĆWICZENIE 2 - WYBRANE ZŁOŻONE STRUKTURY DANYCH - (12.3.212) Prowadząca: dr hab. inż. Małgorzata Sterna Informatyka i3, poniedziałek godz. 11:45 Adam Matuszewski, nr 1655 Oliver
Bardziej szczegółowoSortowanie - 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
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ółowoMetodyki i techniki programowania
Metodyki i techniki programowania dr inż. Maciej Kusy Katedra Podstaw Elektroniki Wydział Elektrotechniki i Informatyki Politechnika Rzeszowska Elektronika i Telekomunikacja, sem. 2 Plan wykładu Sprawy
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ółowoProgramowanie dynamiczne
Programowanie dynamiczne Ciąg Fibonacciego fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2), gdzie n 2 Elementy tego ciągu stanowią liczby naturalne tworzące ciąg o takiej własności, że kolejny wyraz (z wyjątkiem
Bardziej szczegółowoInformatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009
Informatyka 1 zajęcia nr 1 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Organizacja laboratorium przedmiotu 2. Algorytmy i sposoby ich opisu
Bardziej szczegółowoPorównanie czasów działania algorytmów sortowania przez wstawianie i scalanie
Więcej o sprawności algorytmów Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Załóżmy, że możemy wykonać dane zadanie przy użyciu dwóch algorytmów: jednego o złożoności czasowej
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i
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ółowoJę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ółowoMetodyki i techniki programowania
Metodyki i techniki programowania dr inż. Maciej Kusy Katedra Podstaw Elektroniki Wydział Elektrotechniki i Informatyki Politechnika Rzeszowska Elektronika i Telekomunikacja, sem. 2 Plan wykładu Sprawy
Bardziej szczegółowoKlasa 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
Bardziej szczegółowoPOLITECHNIKA OPOLSKA
POLITECHNIKA OPOLSKA WYDZIAŁ MECHANICZNY Katedra Technologii Maszyn i Automatyzacji Produkcji Laboratorium Podstaw Inżynierii Jakości Ćwiczenie nr 2 Temat: Schemat blokowy (algorytm) procesu selekcji wymiarowej
Bardziej szczegółowoDefinicja algorytmu brzmi:
1.1. Definicja algorytmu Często w życiu stajesz przed koniecznością rozwiązania jakiegoś zadania. Na lekcji matematyki musisz na przykład rozwiązać równanie i w tym celu wykonujesz szereg czynności: od
Bardziej szczegółowoWstęp do informatyki- wykład 2
MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy
Bardziej szczegółowoPOLITECHNIKA OPOLSKA
POLITECHNIKA OPOLSKA WYDZIAŁ MECHANICZNY Katedra Technologii Maszyn i Automatyzacji Produkcji Laboratorium Podstaw Inżynierii Jakości Ćwiczenie nr 2 Temat: Schemat blokowy (algorytm) procesu selekcji wymiarowej
Bardziej szczegółowoWstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 13 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Złożoność algorytmów czy to istotne, skoro
Bardziej szczegółowoWstęp do informatyki
Wstęp do informatyki Algorytmy i struktury danych Piotr Fulmański Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska 30 października 2009 Spis treści 1 Algorytm 2 Przetwarzane informacje 3 Struktury
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Organizacja wykładu. Problem Sortowania. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury
Bardziej szczegółowoWstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 13 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Złożoność algorytmów czy to istotne, skoro
Bardziej szczegółowoALGORYTMY 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
Bardziej szczegółowoREPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH
REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Reprezentacja
Bardziej szczegółowoAlgorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.
Algorytm znaczenie informatyczne 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
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 2 2 Struktury danych i algorytmy Analiza algorytmów Typy danych i struktury danych Sposoby zapisu algorytmów
Bardziej szczegółowoTEORETYCZNE 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
Bardziej szczegółowoStruktury 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.
Bardziej szczegółowoPodstawy 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,
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 2 2 Struktury danych i algorytmy Analiza algorytmów Typy danych i struktury danych Sposoby zapisu algorytmów
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ółowoElż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,
Bardziej szczegółowoTechnologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15
Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Zadanie algorytmiczne: wyszukiwanie dane wejściowe:
Bardziej szczegółowo