Technologie Informacyjne Wykład 7

Podobne dokumenty
Algorytmy. wer Wojciech Myszka 30 listopada 2008

Zapis algorytmów (Algorytmy, Część II)

Metody algortmiczne (Algorytmy Część IV)

Zapis algorytmów (Algorytmy, Część II)

Jak tworzymy algorytmy? Wersja: 3

Zapis algorytmów (Algorytmy, Część II)

Raport z projektu. Przedmiot: Algorytmy i struktury danych 1 Projekt: Wieża Hanoi Autor: Wojciech Topolski

Maszyna Turinga (Algorytmy Część III)

Wykład z Technologii Informacyjnych. Piotr Mika

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy

POLITECHNIKA OPOLSKA

Algorytm. a programowanie -

Wprowadzenie do algorytmiki

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

POLITECHNIKA OPOLSKA

Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy

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

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

Rekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów.

Definicje. Algorytm to:

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

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Algorytmy komputerowe. dr inŝ. Jarosław Forenc

Algorytm. Krótka historia algorytmów

1 Wprowadzenie do algorytmiki

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Technologie informacyjne - wykład 12 -

Podstawy programowania

wer.9 Wojciech Myszka, Maciej Panek grudzień 2014 r.

Rekurencja (rekursja)

Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno

Typy danych. 2. Dane liczbowe 2.1. Liczby całkowite ze znakiem i bez znaku: 32768, -165, ; 2.2. Liczby rzeczywiste stało i zmienno pozycyjne:

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Algorytmika i pseudoprogramowanie

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Algorytm. Krótka historia algorytmów

Podstawy Programowania

Algorytmika. Algorytmy. prof. dr hab. inż. Joanna Józefowska. Poznań, rok akademicki 2008/2009. Plan wyk ladu Poj

Definicja algorytmu brzmi:

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 9 Rekurencja

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.

Algorytm. Algorytmy Marek Pudełko

Zapis algorytmów: schematy blokowe i pseudokod 1

ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż. ADAM KOLIŃSKI ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż.

Wykład 8. Rekurencja. Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. L. Peter Deutsch

Algorytmy. Programowanie Proceduralne 1

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Algorytmy. Programowanie Proceduralne 1

Wstęp do informatyki

Poprawność algorytmów

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Podstawy algorytmiki Dariusz Piekarz

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

Przeglad podstawowych pojęć (3) Podstawy informatyki (3) dr inż. Sebastian Pluta. Instytut Informatyki Teoretycznej i Stosowanej

Matematyka dyskretna. Andrzej Łachwa, UJ, a/15

Podstawy Informatyki. Programowanie. Inżynieria Ciepła, I rok. Co to jest algorytm? Istotne cechy algorytmu

Rekurencja. Przykład. Rozważmy ciąg

Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

CIĄGI wiadomości podstawowe

W szkole podstawowej materiał przedstawiony powinien być w następującej kolejności:

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

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

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL

Podstawy Informatyki. Algorytmy i ich poprawność

Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

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.

Algorytmy i struktury danych. Wykład 4

Laboratorium 10: Maszyna stanów

ALGORYTMY I PROGRAMY

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

Podstawy Informatyki. Metalurgia, I rok niestacjonarne. Wykład 2 Algorytmy

Pętle. Dodał Administrator niedziela, 14 marzec :27

Algorytmy i schematy blokowe

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

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

Zadanie 1. Test (6 pkt) Zaznacz znakiem X w odpowiedniej kolumnie P lub F, która odpowiedź jest prawdziwa, a która fałszywa.

wagi cyfry pozycje

2.8. Algorytmy, schematy, programy

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metodyki i techniki programowania

Programowanie w języku C++ Grażyna Koba

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

1. Liczby naturalne, podzielność, silnie, reszty z dzielenia

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,

Schematy blokowe. Algorytmy Marek Pudełko

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

Metodyki i techniki programowania

Technologia informacyjna Algorytm Janusz Uriasz

Algorytmy, reprezentacja algorytmów.

Podstawy Programowania Algorytmy i programowanie

Podstawy Programowania C++

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

TEORETYCZNE PODSTAWY INFORMATYKI

Transkrypt:

Technologie Informacyjne Wykład 7 Algorytmy. Podstawowe konstrukcje algorytmiczne (przegląd, podział zadania, programowanie dynamiczne, rekurencja,... ) Wojciech Myszka Jakub Słowiński Instytut Materiałoznawstwa i Mechaniki Technicznej Wydział Mechaniczny Politechnika Wrocławska 2014 (IMMT PWr) TI-W01 2014 1 / 1

Krótkie podsumowanie Krótkie podsumowanie Wiemy: (IMMT PWr) TI-W01 2014 2 / 1

Krótkie podsumowanie Krótkie podsumowanie Wiemy: 1 co to jest komputer (IMMT PWr) TI-W01 2014 2 / 1

Krótkie podsumowanie Krótkie podsumowanie Wiemy: 1 co to jest komputer 2 z jakich elementów jest skonstruowany. (IMMT PWr) TI-W01 2014 2 / 1

Krótkie podsumowanie Krótkie podsumowanie Wiemy: 1 co to jest komputer 2 z jakich elementów jest skonstruowany. 3 co to jest procesor... (IMMT PWr) TI-W01 2014 2 / 1

Krótkie podsumowanie Krótkie podsumowanie Wiemy: 1 co to jest komputer 2 z jakich elementów jest skonstruowany. 3 co to jest procesor... 4 i jak działa (IMMT PWr) TI-W01 2014 2 / 1

Krótkie podsumowanie Krótkie podsumowanie Wiemy: 1 co to jest komputer 2 z jakich elementów jest skonstruowany. 3 co to jest procesor... 4 i jak działa 5 troszeczkę o tym, że komputery potrzebują programów (IMMT PWr) TI-W01 2014 2 / 1

Krótkie podsumowanie Krótkie podsumowanie Wiemy: 1 co to jest komputer 2 z jakich elementów jest skonstruowany. 3 co to jest procesor... 4 i jak działa 5 troszeczkę o tym, że komputery potrzebują programów 6 co to jest program (IMMT PWr) TI-W01 2014 2 / 1

Krótkie podsumowanie Krótkie podsumowanie Wiemy: 1 co to jest komputer 2 z jakich elementów jest skonstruowany. 3 co to jest procesor... 4 i jak działa 5 troszeczkę o tym, że komputery potrzebują programów 6 co to jest program (IMMT PWr) TI-W01 2014 2 / 1

Krótkie podsumowanie Krótkie podsumowanie Wiemy: 1 co to jest komputer 2 z jakich elementów jest skonstruowany. 3 co to jest procesor... 4 i jak działa 5 troszeczkę o tym, że komputery potrzebują programów 6 co to jest program Nie bardzo wiemy: (IMMT PWr) TI-W01 2014 2 / 1

Krótkie podsumowanie Krótkie podsumowanie Wiemy: 1 co to jest komputer 2 z jakich elementów jest skonstruowany. 3 co to jest procesor... 4 i jak działa 5 troszeczkę o tym, że komputery potrzebują programów 6 co to jest program Nie bardzo wiemy: 1 skąd się bierze program (IMMT PWr) TI-W01 2014 2 / 1

Krótkie podsumowanie Krótkie podsumowanie Wiemy: 1 co to jest komputer 2 z jakich elementów jest skonstruowany. 3 co to jest procesor... 4 i jak działa 5 troszeczkę o tym, że komputery potrzebują programów 6 co to jest program Nie bardzo wiemy: 1 skąd się bierze program 2 i czy na pewno jest niezbędny... (IMMT PWr) TI-W01 2014 2 / 1

Jak powstaje program Jak powstaje program Na podstawie http://www.projectcartoon.com/ (IMMT PWr) TI-W01 2014 3 / 1

Jak powstaje program Jak powstaje program Tak opowiedział klient (IMMT PWr) TI-W01 2014 3 / 1

Jak powstaje program Jak powstaje program Tak opowiedział klient Tak zrozumiał kierownik projektu (IMMT PWr) TI-W01 2014 3 / 1

Jak powstaje program Jak powstaje program Tak opowiedział klient Tak zrozumiał kierownik projektu Tak zaprojektowali analitycy (IMMT PWr) TI-W01 2014 3 / 1

Jak powstaje program Jak powstaje program Tak zaprogramowali programiści (IMMT PWr) TI-W01 2014 4 / 1

Jak powstaje program Jak powstaje program Tak zaprogramowali programiści Tak zobaczyli to beta-testerzy (IMMT PWr) TI-W01 2014 4 / 1

Jak powstaje program Jak powstaje program Tak zaprogramowali programiści Tak zobaczyli to beta-testerzy Tak przedstawia marketing (IMMT PWr) TI-W01 2014 4 / 1

Jak powstaje program Jak powstaje program Tak wygląda dokumentacja (IMMT PWr) TI-W01 2014 5 / 1

Jak powstaje program Jak powstaje program Tak wygląda dokumentacja Tak wygląda po zainstalowaniu u klienta (IMMT PWr) TI-W01 2014 5 / 1

Jak powstaje program Jak powstaje program Tak wygląda dokumentacja Tak wygląda po zainstalowaniu u klienta Za co klient zapłacił (IMMT PWr) TI-W01 2014 5 / 1

Jak powstaje program Jak powstaje program Tak wygląda wsparcie (IMMT PWr) TI-W01 2014 6 / 1

Jak powstaje program Jak powstaje program Tak wygląda wsparcie Tak wyglądają procedury awaryjne (IMMT PWr) TI-W01 2014 6 / 1

Jak powstaje program Jak powstaje program Tak wygląda wsparcie Tak wyglądają procedury awaryjne Tego klient potrzebował (IMMT PWr) TI-W01 2014 6 / 1

Jak powstaje program Jak powstaje program To był oczywiście żart... (IMMT PWr) TI-W01 2014 7 / 1

Jak powstaje program Jak powstaje program To był oczywiście żart... Ale to jest jakoś tak: (IMMT PWr) TI-W01 2014 7 / 1

Jak powstaje program Jak powstaje program To był oczywiście żart... Ale to jest jakoś tak: Rozmowa z klientem (IMMT PWr) TI-W01 2014 7 / 1

Jak powstaje program Jak powstaje program To był oczywiście żart... Ale to jest jakoś tak: Rozmowa z klientem Projekt i algorytm(y) (IMMT PWr) TI-W01 2014 7 / 1

Jak powstaje program Jak powstaje program To był oczywiście żart... Ale to jest jakoś tak: Rozmowa z klientem Projekt i algorytm(y) Programowanie (IMMT PWr) TI-W01 2014 7 / 1

Jak powstaje program Jak powstaje program To był oczywiście żart... Ale to jest jakoś tak: Rozmowa z klientem Projekt i algorytm(y) Programowanie Testy (IMMT PWr) TI-W01 2014 7 / 1

Jak powstaje program Jak powstaje program To był oczywiście żart... Ale to jest jakoś tak: Rozmowa z klientem Projekt i algorytm(y) Programowanie Testy Dokumentacja (IMMT PWr) TI-W01 2014 7 / 1

Jak powstaje program Jak powstaje program To był oczywiście żart... Ale to jest jakoś tak: Rozmowa z klientem Projekt i algorytm(y) Programowanie Testy Dokumentacja Instalacja u klienta (IMMT PWr) TI-W01 2014 7 / 1

Jak powstaje program Jak powstaje program To był oczywiście żart... Ale to jest jakoś tak: Rozmowa z klientem Projekt i algorytm(y) Programowanie Testy Dokumentacja Instalacja u klienta Eksploatacja/Wsparcie (IMMT PWr) TI-W01 2014 7 / 1

Jak powstaje program Jak powstaje program To był oczywiście żart... Ale to jest jakoś tak: Rozmowa z klientem Projekt i algorytm(y) Programowanie Testy Dokumentacja Instalacja u klienta Eksploatacja/Wsparcie... (IMMT PWr) TI-W01 2014 7 / 1

Jak powstaje program Jak powstaje program To był oczywiście żart... Ale to jest jakoś tak: Rozmowa z klientem Projekt i algorytm(y) Programowanie Testy Dokumentacja Instalacja u klienta Eksploatacja/Wsparcie... (IMMT PWr) TI-W01 2014 7 / 1

Co to sa algorytmy? Algorytmy... Codzienne czynności zwykle wykonuje się w określonym porządku, wiele z nich jest jedno- lub dwustronnie zależnych. Przykładem niech będzie sprzątanie: mycie okien, zmiana firanek, wytarcie mebli, odkurzenie i umycie podłogi. Czynności te dają wykonać się pojedynczo niezależnie, ale żeby sprzątanie miało sens należy wykonać je w pewnej (z góry) określonej kolejności. Podobnie rzecz ma się z operacjami, które wykonywać będzie, w ramach określonego programu, komputer. Zautomatyzowany, zapisany w określonym języku programowania algorytm będzie programem, wykonywanym przez maszynę lub urządzenie (lub ich zestaw). (IMMT PWr) TI-W01 2014 8 / 1

Co to sa algorytmy? Algorytm Słowo algorytm jest bardzo nowe (w pewnym sensie). (IMMT PWr) TI-W01 2014 9 / 1

Co to sa algorytmy? Algorytm Słowo algorytm jest bardzo nowe (w pewnym sensie). Pochodzi od nazwiska Abu Abdallah Muhammad ibn Musa al-khwarizmi perskiego matematyka (IX w.) i pierwotnie oznaczało (każde) obliczenia w dziesiętnym systemie obliczeniowym. (IMMT PWr) TI-W01 2014 9 / 1

Co to sa algorytmy? Algorytm Słowo algorytm jest bardzo nowe (w pewnym sensie). Pochodzi od nazwiska Abu Abdallah Muhammad ibn Musa al-khwarizmi perskiego matematyka (IX w.) i pierwotnie oznaczało (każde) obliczenia w dziesiętnym systemie obliczeniowym.algorytm to jednoznaczny przepis przetworzenia w skończonym czasie pewnych danych wejściowych do pewnych danych wynikowych. (Wikipedia) (IMMT PWr) TI-W01 2014 9 / 1

Co to sa algorytmy? Algorytm Słowo algorytm jest bardzo nowe (w pewnym sensie). Pochodzi od nazwiska Abu Abdallah Muhammad ibn Musa al-khwarizmi perskiego matematyka (IX w.) i pierwotnie oznaczało (każde) obliczenia w dziesiętnym systemie obliczeniowym.algorytm to jednoznaczny przepis przetworzenia w skończonym czasie pewnych danych wejściowych do pewnych danych wynikowych. (Wikipedia)Czasami rezygnuje się z żądania skończoności. Czasami, jeżeli algorytm się nie kończy nazywamy go metodą obliczeniową. (IMMT PWr) TI-W01 2014 9 / 1

Przepis kucharski Algorytm I Przepis kucharski Składniki: 22 dag twardej czekolady półsłodkiej, 2 łyżki stołowe 1 wody, filiżanki cukru pudru, 6 jajek rozdzielonych na żółtka 4 i białka... (IMMT PWr) TI-W01 2014 10 / 1

Przepis kucharski Algorytm II Przepis kucharski Przepis: Włóż czekoladę z dwiema łyżkami stołowymi wody do garnka o podwójnym dnie. Kiedy czekolada się rozpuści, domieszaj cukier puder; dodaj po trochu masło. Odstaw. Ubijaj żółtka około 5 minut, aż staną się gęste i nabiorą koloru cytrynowego. Delikatnie dołóż czekoladę. Ponownie lekko podgrzej, aby rozpuścić czekoladę, jeśli to będzie konieczne. Domieszaj rum i wanilię. Ubijaj białka aż do spienienia. Ubijając dodaj 2 łyżki stołowe cukru i ubijaj dalej, aż (IMMT PWr) TI-W01 2014 11 / 1

Przepis kucharski Algorytm III Przepis kucharski utworzą się sztywne pagórki. Delikatnie połącz białka z masą czekoladowo-żółtkową. Wlej do salaterek (oddzielnych naczyń), które będą podane na stół. Ochładzaj przez co najmniej 4 godziny. Wedle życzenia podawaj z bitą śmietaną. Wyjdzie z tego 6 do 8 porcji. (IMMT PWr) TI-W01 2014 12 / 1

Algorytm Euklidesa Algorytm Euklidesa Oto jedna z jego wersji algorytmu Euklidesa: (IMMT PWr) TI-W01 2014 13 / 1

Algorytm Euklidesa Algorytm Euklidesa Oto jedna z jego wersji algorytmu Euklidesa: Dane są dwie dodatnie liczby całkowite m i n, należy znaleźć ich największy wspólny dzielnik (NWD) tj. największą dodatnią liczbę całkowitą, która dzieli całkowicie zarówno m jak i n. (IMMT PWr) TI-W01 2014 13 / 1

Algorytm Euklidesa Algorytm Euklidesa Oto jedna z jego wersji algorytmu Euklidesa: Dane są dwie dodatnie liczby całkowite m i n, należy znaleźć ich największy wspólny dzielnik (NWD) tj. największą dodatnią liczbę całkowitą, która dzieli całkowicie zarówno m jak i n. 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) (IMMT PWr) TI-W01 2014 13 / 1

Algorytm Euklidesa Algorytm Euklidesa Oto jedna z jego wersji algorytmu Euklidesa: Dane są dwie dodatnie liczby całkowite m i n, należy znaleźć ich największy wspólny dzielnik (NWD) tj. największą dodatnią liczbę całkowitą, która dzieli całkowicie zarówno m jak i n. 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. (IMMT PWr) TI-W01 2014 13 / 1

Algorytm Euklidesa Algorytm Euklidesa Oto jedna z jego wersji algorytmu Euklidesa: Dane są dwie dodatnie liczby całkowite m i n, należy znaleźć ich największy wspólny dzielnik (NWD) tj. największą dodatnią liczbę całkowitą, która dzieli całkowicie zarówno m jak i n. 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 13 / 1

Algorytm Euklidesa Dzielenie z resztą Dygresja 5 3 = (IMMT PWr) TI-W01 2014 14 / 1

Algorytm Euklidesa Dzielenie z resztą Dygresja 5 3 = 1 2 3 (IMMT PWr) TI-W01 2014 14 / 1

Algorytm Euklidesa Dzielenie z resztą Dygresja 5 3 = 1 2 3 = 1.6666(6) (IMMT PWr) TI-W01 2014 14 / 1

Algorytm Euklidesa Dzielenie z resztą Dygresja 5 3 = 1 2 3 = 1.6666(6) = 1.6667 (IMMT PWr) TI-W01 2014 14 / 1

Algorytm Euklidesa Dzielenie z resztą Dygresja 5 3 = 1 2 3 = 1.6666(6) = 1.6667 = 1 reszta 2 (IMMT PWr) TI-W01 2014 14 / 1

Algorytm Euklidesa Dzielenie z resztą Dygresja bo 5 3 = 1 2 3 = 1.6666(6) = 1.6667 = 1 reszta 2 1 3 + 2 = 5 (IMMT PWr) TI-W01 2014 14 / 1

Algorytm Euklidesa Algorytm Euklidesa Przykład l m n r 24 44 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 15 / 1

Algorytm Euklidesa Algorytm Euklidesa Przykład m n r 24 44 24 24/44 = 0 r 24 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 15 / 1

Algorytm Euklidesa Algorytm Euklidesa Przykład l m n r 24 44 24 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 15 / 1

Algorytm Euklidesa Algorytm Euklidesa Przykład l m n r 24 44 24 44 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 15 / 1

Algorytm Euklidesa Algorytm Euklidesa Przykład l m n r 24 44 24 44 24 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 15 / 1

Algorytm Euklidesa Algorytm Euklidesa Przykład m n r 24 44 24 44 24 20 44/24 = 1 r 20 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 15 / 1

Algorytm Euklidesa Algorytm Euklidesa Przykład l m n r 24 44 24 44 24 20 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 15 / 1

Algorytm Euklidesa Algorytm Euklidesa Przykład l m n r 24 44 24 44 24 20 24 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 15 / 1

Algorytm Euklidesa Algorytm Euklidesa Przykład l m n r 24 44 24 44 24 20 24 20 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 15 / 1

Algorytm Euklidesa Algorytm Euklidesa Przykład m n r 24 44 24 44 24 20 24 20 4 24/20 = 1 r 4 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 15 / 1

Algorytm Euklidesa Algorytm Euklidesa Przykład l m n r 24 44 24 44 24 20 24 20 4 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 15 / 1

Algorytm Euklidesa Algorytm Euklidesa Przykład m n r 24 44 24 44 24 20 24 20 4 20 l 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 15 / 1

Algorytm Euklidesa Algorytm Euklidesa Przykład m n r 24 44 24 44 24 20 24 20 4 20 4 l 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 15 / 1

Algorytm Euklidesa Algorytm Euklidesa Przykład m n r 24 44 24 44 24 20 24 20 4 20 4 0 20/4 = 5 r 0 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 15 / 1

Algorytm Euklidesa Algorytm Euklidesa Przykład m n r 24 44 24 44 24 20 24 20 4 20 4 0 l 1 [Znajdowanie reszty] Podziel m przez n i niech r oznacza resztę z tego dzielenia. (Mamy 0 r < n.) 2 [Czy wyszło zero?] Jeśli r = 0 zakończ algorytm; odpowiedzią jest n. 3 [Upraszczanie] Wykonaj m n, n r i wróć do kroku 1. (IMMT PWr) TI-W01 2014 15 / 1

Cechy algorytmu Skończoność Po pierwsze powinien być skończony; oznacza to, że po skończonej (być może bardzo dużej) liczbie kroków algorytm się zatrzyma. 1 Pytanie pomocnicze: Co gwarantuje, że algorytm Euklidesa zakończy się w skończonej liczbie kroków? Procedura, która ma wszystkie cechy algorytmu poza skończonością nazywana jest metodą obliczeniową. Podaj przykłady metod obliczeniowych realizowanych przez rzeczywiste komputery. 1 Ale sama skończoność to jednak za mało z praktycznego punktu widzenia dobry algorytm powinien gwarantować, że obliczenia zostaną zakończone w skończonym ale rozsądnym czasie! (IMMT PWr) TI-W01 2014 16 / 1

Cechy algorytmu Cechy algorytmu II Dobre zdefiniowanie Po drugie powinien być dobrze zdefiniowany. Każdy krok algorytmu musi być opisany precyzyjnie. Wszystkie możliwe przypadki powinny być uwzględnione, a podejmowane akcje dobrze opisane. 2 Oczywiście język naturalny nie jest wystarczająco precyzyjny może to prowadzić do nieporozumień. z tego powodu używa się bardziej formalnych sposobów zapisu algorytmów, aż po języki programowania... 2 Zwracam też uwagę, że algorytmy kucharskie nie są odpowiednio precyzyjne: co to znaczy lekko podgrzej? (IMMT PWr) TI-W01 2014 17 / 1

Cechy algorytmu Cechy algorytmu III Dane wejściowe Po trzecie powinien mieć precyzyjnie zdefiniowane dane wejściowe. Pewne algorytmy mogą nie mieć danych wejściowych (mieć zero danych wejściowych). Dane wejściowe to wartości, które muszą być zdefiniowane zanim rozpocznie się wykonanie algorytmu. (IMMT PWr) TI-W01 2014 18 / 1

Cechy algorytmu Cechy algorytmu IV Dane wyjściowe Po czwarte zdefiniowane dane wyjściowe. Daną wyjściową algorytmu Euklidesa jest liczna n która jest naprawdę największym wspólnym dzielnikiem danych wejściowych. Osobną sprawą jest pokazanie skąd wynika, że wynik algorytmu Euklidesa jest rzeczywiście NWD liczb m i n. (IMMT PWr) TI-W01 2014 19 / 1

Cechy algorytmu Cechy algorytmu V Efektywność Po piąte algorytm powinien być określony efektywnie to znaczy jego operacje powinny być wystarczająco proste by można je (teoretycznie?) wykonać w skończonym czasie z wykorzystaniem kartki i ołówka. (IMMT PWr) TI-W01 2014 20 / 1

Sposoby zapisu algorytmów Zapis algorytmu 1 Słowami. Należy używać prostych zdań (raczej równoważników zdań) w trybie rozkazującym. (IMMT PWr) TI-W01 2014 21 / 1

Sposoby zapisu algorytmów Zapis algorytmu 1 Słowami. Należy używać prostych zdań (raczej równoważników zdań) w trybie rozkazującym. 2 Schematy blokowe. O tym za chwilę... (IMMT PWr) TI-W01 2014 21 / 1

Sposoby zapisu algorytmów Zapis algorytmu 1 Słowami. Należy używać prostych zdań (raczej równoważników zdań) w trybie rozkazującym. 2 Schematy blokowe. O tym za chwilę... 3 Tablice decyzyjne. O tym później... (IMMT PWr) TI-W01 2014 21 / 1

Sposoby zapisu algorytmów Zapis algorytmu 1 Słowami. Należy używać prostych zdań (raczej równoważników zdań) w trybie rozkazującym. 2 Schematy blokowe. O tym za chwilę... 3 Tablice decyzyjne. O tym później... 4 Pseudojęzyk rodzaj formalnego zapisu podobny do... (IMMT PWr) TI-W01 2014 21 / 1

Sposoby zapisu algorytmów Zapis algorytmu 1 Słowami. Należy używać prostych zdań (raczej równoważników zdań) w trybie rozkazującym. 2 Schematy blokowe. O tym za chwilę... 3 Tablice decyzyjne. O tym później... 4 Pseudojęzyk rodzaj formalnego zapisu podobny do... 5 Język programowania. Następny semestr??? Wcale!!? (IMMT PWr) TI-W01 2014 21 / 1

Sposoby zapisu algorytmów Zapis algorytmu Schemat blokowy Schemat blokowy (ang. block diagram, flowchart) diagram, na którym procedura, system albo program komputerowy, są reprezentowane przez opisane figury geometryczne połączone liniami zgodnie z kolejnością wykonywania czynności wynikających z przyjętego algorytmu rozwiązania zadania. Schemat blokowy pozwala dostrzec istotne etapy algorytmu i logiczne zależności między nimi. Zależnie od przedstawianego zagadnienia stosowane są różne zestawy figur geometrycznych zwanych blokami, których kształty reprezentują umownie rodzaje elementów składowych. (IMMT PWr) TI-W01 2014 22 / 1

Sposoby zapisu algorytmów Symbole używane na schematach blokowych Schemat blokowy Blok graniczny Blok graniczny oznacza on początek, koniec, przerwanie lub wstrzymanie wykonywania działania, np. blok startu programu. (IMMT PWr) TI-W01 2014 23 / 1

Sposoby zapisu algorytmów Symbole używane na schematach blokowych Schemat blokowy Blok wejścia-wyjści Blok wejścia-wyjścia przedstawia czynność wprowadzania danych do programu i przyporządkowania ich zmiennym dla późniejszego wykorzystania jak i wyprowadzenia wyników obliczeń, np. czytaj z, pisz z+10. (IMMT PWr) TI-W01 2014 24 / 1

Sposoby zapisu algorytmów Symbole używane na schematach blokowych Schemat blokowy Blok obliczeniowy Blok obliczeniowy oznacza wykonanie operacji w efekcie, której zmienią się wartości, postać lub miejsce zapisu danych, np. z = z + 1. (IMMT PWr) TI-W01 2014 25 / 1

Sposoby zapisu algorytmów Symbole używane na schematach blokowych Schemat blokowy Blok decyzyjny Blok decyzyjny przedstawia wybór jednego z dwóch wariantów wykonywania programu na podstawie sprawdzenia warunku wpisanego w ów blok, np. a = b. (IMMT PWr) TI-W01 2014 26 / 1

Sposoby zapisu algorytmów Symbole używane na schematach blokowych Schemat blokowy Blok wywołania podprogramu Blok wywołania podprogramu oznacza zmianę wykonywanej czynności na skutek wywołania podprogramu, np. MAX(x,y,z) (IMMT PWr) TI-W01 2014 27 / 1

Sposoby zapisu algorytmów Symbole używane na schematach blokowych Schemat blokowy Blok fragmentu Blok fragmentu przedstawia część programu zdefiniowanego odrębnie, np. sortowanie. (IMMT PWr) TI-W01 2014 28 / 1

Sposoby zapisu algorytmów Symbole używane na schematach blokowych Schemat blokowy Blok komentarza Blok komentarza pozwala wprowadzać komentarze wyjaśniające poszczególne części schematu co ułatwia zrozumienie go czytającemu, np. wprowadzenie danych. (IMMT PWr) TI-W01 2014 29 / 1

Sposoby zapisu algorytmów Symbole używane na schematach blokowych Schemat blokowy Łącznik wewnętrzny Łącznik wewnętrzny służy do łączenia odrębnych części schematu znajdujących się na tej samej stronie, powiązane ze sobą łączniki oznaczone są tym samym napisem, np. A1, 7. (IMMT PWr) TI-W01 2014 30 / 1

Sposoby zapisu algorytmów Symbole używane na schematach blokowych Schemat blokowy Łącznik zewnętrzny Łącznik zewnętrzny służy do łączenia odrębnych części schematu znajdujących się na odrębnych stronach, powinien być opisany jak łącznik wewnętrzny, poza tym powinien zawierać numer strony, do której się odwołuje, np. 4.3, 2,B2. (IMMT PWr) TI-W01 2014 31 / 1

Tablice decyzyjne Tablice decyzyjne Alternatywa dla schematu blokowego. Bardzo wygodne w przypadku opisu problemów z ogromną ilością decyzji. Nieźle nadaje się do opisu problemów z życia wziętych. Średnie zastosowanie w przypadku problemów obliczeniowych. Dziś już nieco zapomniane. (IMMT PWr) TI-W01 2014 32 / 1

Tablice decyzyjne Tablice decyzyjne c.d Pomysł tak, gdzieś z lat 50 (zeszłego wieku)! Tablica decyzyjna to mieszanka warunków i decyzji które należy podejmować w zależności od ich spełnienia. (IMMT PWr) TI-W01 2014 33 / 1

Tablice decyzyjne Zakup samochodu cena nadmierna cena OK cena niedoszacowana Samochód spełnia wszystkie wymagania Samochód nie spełnia wszystkich wymagań ale stan i wyposażenie są akceptowalne Samochód nie spełnia wymagań (IMMT PWr) TI-W01 2014 34 / 1

Tablice decyzyjne Zakup samochodu cena nadmierna cena OK cena niedoszacowana Samochód spełnia wszystkie wymagania Targuj się; jak się nie uda wróć następnego dnia i targuj się; kup nawet jak nie uda się zbić ceny Samochód nie spełnia wszystkich wymagań ale stan i wyposażenie są akceptowalne Samochód nie spełnia wymagań (IMMT PWr) TI-W01 2014 34 / 1

Tablice decyzyjne Zakup samochodu cena nadmierna cena OK cena niedoszacowana Samochód spełnia wszystkie wymagania Samochód nie spełnia wszystkich wymagań ale stan i wyposażenie są akceptowalne Samochód nie spełnia wymagań Targuj się; jak się nie uda wróć następnego dnia i targuj się; kup nawet jak nie uda się zbić ceny Targuj się; kup niezależnie od wyniku targów (IMMT PWr) TI-W01 2014 34 / 1

Tablice decyzyjne Zakup samochodu cena nadmierna cena OK cena niedoszacowana Samochód spełnia wszystkie wymagania Targuj się; jak się nie uda wróć następnego dnia i targuj się; kup nawet jak nie uda się zbić ceny Targuj się; kup niezależnie od wyniku targów kup Samochód nie spełnia wszystkich wymagań ale stan i wyposażenie są akceptowalne Samochód nie spełnia wymagań (IMMT PWr) TI-W01 2014 34 / 1

Tablice decyzyjne Zakup samochodu cena nadmierna cena OK cena niedoszacowana Samochód spełnia wszystkie wymagania Targuj się; jak się nie uda wróć następnego dnia i targuj się; kup nawet jak nie uda się zbić ceny Targuj się; kup niezależnie od wyniku targów kup Samochód nie spełnia wszystkich wymagań ale stan i wyposażenie są akceptowalne Rezygnuj Samochód nie spełnia wymagań (IMMT PWr) TI-W01 2014 34 / 1

Tablice decyzyjne Zakup samochodu cena nadmierna cena OK cena niedoszacowana Samochód spełnia wszystkie wymagania Targuj się; jak się nie uda wróć następnego dnia i targuj się; kup nawet jak nie uda się zbić ceny Targuj się; kup niezależnie od wyniku targów kup Samochód nie spełnia wszystkich wymagań ale stan i wyposażenie są akceptowalne Rezygnuj Targuj się; kup jeżeli zbiłeś cenę Samochód nie spełnia wymagań (IMMT PWr) TI-W01 2014 34 / 1

Tablice decyzyjne Zakup samochodu cena nadmierna cena OK cena niedoszacowana Samochód spełnia wszystkie wymagania Targuj się; jak się nie uda wróć następnego dnia i targuj się; kup nawet jak nie uda się zbić ceny Targuj się; kup niezależnie od wyniku targów kup Samochód nie spełnia wszystkich wymagań ale stan i wyposażenie są akceptowalne Rezygnuj Targuj się; kup jeżeli zbiłeś cenę Targuj się; kup niezależnie od wyników targów Samochód nie spełnia wymagań (IMMT PWr) TI-W01 2014 34 / 1

Tablice decyzyjne Zakup samochodu cena nadmierna cena OK cena niedoszacowana Samochód spełnia wszystkie wymagania Targuj się; jak się nie uda wróć następnego dnia i targuj się; kup nawet jak nie uda się zbić ceny Targuj się; kup niezależnie od wyniku targów kup Samochód nie spełnia wszystkich wymagań ale stan i wyposażenie są akceptowalne Rezygnuj Targuj się; kup jeżeli zbiłeś cenę Targuj się; kup niezależnie od wyników targów Samochód nie spełnia wymagań Rezygnuj (IMMT PWr) TI-W01 2014 34 / 1

Tablice decyzyjne Zakup samochodu cena nadmierna cena OK cena niedoszacowana Samochód spełnia wszystkie wymagania Targuj się; jak się nie uda wróć następnego dnia i targuj się; kup nawet jak nie uda się zbić ceny Targuj się; kup niezależnie od wyniku targów kup Samochód nie spełnia wszystkich wymagań ale stan i wyposażenie są akceptowalne Rezygnuj Targuj się; kup jeżeli zbiłeś cenę Targuj się; kup niezależnie od wyników targów Samochód nie spełnia wymagań Rezygnuj Rezygnuj (IMMT PWr) TI-W01 2014 34 / 1

Tablice decyzyjne Zakup samochodu cena nadmierna cena OK cena niedoszacowana Samochód spełnia wszystkie wymagania Targuj się; jak się nie uda wróć następnego dnia i targuj się; kup nawet jak nie uda się zbić ceny Targuj się; kup niezależnie od wyniku targów kup Samochód nie spełnia wszystkich wymagań ale stan i wyposażenie są akceptowalne Rezygnuj Targuj się; kup jeżeli zbiłeś cenę Targuj się; kup niezależnie od wyników targów Samochód nie spełnia wymagań Rezygnuj Rezygnuj Targuj się o dodatki; kup jeśli cena dodatków jest rozsądna (IMMT PWr) TI-W01 2014 34 / 1

Tablice decyzyjne Wkładanie palta R1 R2 R3 C1 Pada T T N C2 Zimno T N T A1 Włóż ocieplany płaszcz przeciwdeszczowy X A2 Włóż zwykły płaszcz przeciwdeszczowy X A3 Włóż ciepły płaszcz X (IMMT PWr) TI-W01 2014 35 / 1

Tablice decyzyjne Wkładanie palta c.d. W tabeli pominęliśmy warunek: Pada N Zimno N nie wymaga on żadnej specjalnej akcji, choć można by go dodać definiując akcję: Nie wkładaj żadnego płaszcza. (IMMT PWr) TI-W01 2014 36 / 1

Tablice decyzyjne Przykład: sklepik Kolejny przykład to tablica decyzyjna opisująca działania związane z przyjęciem i realizacją zamówienia. Tablica uwzględnia też politykę firmy, którą można opisać tak: 1 Firma obsługuje tylko zarejestrowanych klientów. 2 Firma dostarcza tylko towary znajdujące się na liście towarów. (IMMT PWr) TI-W01 2014 37 / 1

Tablice decyzyjne Sklepik c.d. C1 Towar na liście T N T C2 Klient zarejestrowany T N T C3 Wystarczający zapas towaru T N A1 Zarezerwuj towar X A2 Zarejestruj transakcję X A3 Zapisz zamówienie na liście do realizacji X A4 Wyślij towar X A5 Odrzuć transakcję X X (IMMT PWr) TI-W01 2014 38 / 1

Struktury sterujące Struktury sterujące Podczas realizacji algorytmu steruje się kolejnością poszczególnych jego etapów. Układ instrukcji, które są temu pomocne nazywa się strukturami sterującymi. Stosuje się: bezpośrednie następstwo - a potem, następnie ; wybór warunkowy - jeśli A to B ; iteracja ograniczona - zrób coś kreśloną liczbę razy warunkowa - jeśli spełniony jest warunek, wówczas wykonuj Można tworzyć pętle zagnieżdżone wewnątrz innych pętli (np. j razy wykonaj pętlę i). (IMMT PWr) TI-W01 2014 39 / 1

Struktury sterujące Skoki Przekazanie sterowania Skok bezwarunkowy ma postać przejdź do G ( G" to określone miejsce programu algorytmu). Skok warunkowy przejdź do G jeżeli spełniony jest jakiś warunek. Duża liczba skoków (do przodu, do tyłu) zmniejsza czytelność algorytmu. Skoki powodują również problemy techniczne: czy można wyskoczyć ze środka pętli? Czy można do środka pętli wskoczyć? (IMMT PWr) TI-W01 2014 40 / 1

Struktury sterujące Podprogramy Podprogramy Podprogram wyodrębniony zestaw instrukcji (osobny algorytm) realizujący pewne zamknięte dzieło : ma dobrze 3 zdefiniowany zestaw danych (parametrów) wejściowych, zestaw danych wyjściowych i relację (zależność) pomiędzy nimi. Oszczędność kodu (ta sama czynność wykonywana kilkakrotnie w różnych miejscach programu). Przejrzystość kodu ( duży problem dzielimy na mniejsze, dobrze zdefiniowane fragmenty). 3 Używając słowa dobrze będę miał na myśli precyzyjnie. (IMMT PWr) TI-W01 2014 41 / 1

Dane Zmienna Zmienna Rodzaj pudełka do którego można coś włożyć, wyjąć. (Tak jak pokój hotelowy.) Zmienna zazwyczaj ma jakąś nazwę (przez którą się do niej odwołujemy). Wartość zmiennej (zawartość pokoju hotelowego) zmienia się w razie potrzeb. W algorytmach używamy zmiennych do przechowywania (pamiętania) różnych wartości. Zakładamy wówczas, że to co tam wstawimy nie ulega zmianie (zniszczeniu) w sposób samorzutny. Fakt przypisania wartości do zmiennej zaznaczamy w algorytmach w bardzo różny sposób. Najprostszy będzie taki: X = 5, X := X + 1 czy X A + B. (IMMT PWr) TI-W01 2014 42 / 1

Dane Wektor Wektor, tablica I Zestaw wartości w których wprowadziliśmy rodzaj uporządkowania (dyskutując na temat wyszukiwania wartości maksymalnej mówiliśmy weźmy pierwszą wartość albo jakoś tak). Jeżeli szereg zmiennych tego samego typu ustawimy jedną za drugą (i zaczniemy się do nich odwoływać przez numer: pierwsza, druga,... ) mamy do czynienia (IMMT PWr) TI-W01 2014 43 / 1

Dane Wektor Wektor, tablica II z wektorem (zwanym czasami tablicą jednowymiarową). Jest to pewna analogia do piętra w hotelu: jest tam szereg pokoi. Nazwę przypisujemy całemu wektorowi, do poszczególnych jego elementów będziemy odwoływać się przez numer, co zapisujemy najczęściej jakoś tak: V (I ) (zawartość I tej komórki wektora V ) albo tak V [J]. I (J) nazywany bywa indeksem wektora. V (1) V (2) V (3) V (4) V (5) (IMMT PWr) TI-W01 2014 44 / 1

Dane Wektor Wektor, tablica III Analogiczny zapis matematyczny: V 1 V 2 V 3 V 4 V 5 (IMMT PWr) TI-W01 2014 45 / 1

Dane Tablica Tablica (wielowymiarowa) I Struktura grupująca dane w sposób bardziej złożony. Czasami mamy potrzebę grupowania danych w struktury bardziej złożone niż wektory. Struktura numerowana za pomocą dwu indeksów nazywana bywa tabelą. Nasuwa się tu analogia do całego hotelu: pierwszym indeksem jest numer piętra drugim numer pokoju na piętrze. My mówić będziemy o wierszach (poziome wektory) lub kolumnach (pionowe) tablicy. Odwołanie do elementu tabeli zapisywane bywa tak: W (I, J) albo W [I, J] lub rzadziej jako W [I ][J]. (IMMT PWr) TI-W01 2014 46 / 1

Dane Tablica Tablica (wielowymiarowa) II W najprostszych sytuacjach tablice maja wszystkie wiersze (kolumny) jednakowej długości. Możliwe są jednak i bardziej ogólne przypadki. Zapis matematyczny: v 1,1 v 1,2 v 1,3 v 2,1 v 2,2 v 2,3 v 3,1 v 3,2 v 3,3 v 4,1 v 4,2 v 4,3 Zapis algorytmiczny : V (1, 1) V (1, 2) V (1, 3) V (2, 1) V (2, 2) V (2, 3) V (3, 1) V (3, 2) V (3, 3) V (4, 1) V (4, 2) V (4, 3) (IMMT PWr) TI-W01 2014 47 / 1

Dane Kolejka Kolejka Struktura bardzo podobna do wektora. Dane dostarczane są do jednego końca. Do odbioru danych służy drugi koniec. (IMMT PWr) TI-W01 2014 48 / 1

Dane Stos Stos Struktura podobna do wektora. Dane dostarczane są do jednego końca. Ten sam koniec służy do ich odbioru. (IMMT PWr) TI-W01 2014 49 / 1

Dane Drzewo Drzewo albo hierarchia Struktura z porządkiem. Wyróżnia się specjalny obiekt będący początkiem całej struktury: korzeń. Inne elementy to następniki albo potomstwo. Każdy obiekt może mieć kilku równoważnych potomków. Każdy potomek to węzeł drzewa. Obiekty, które nie mają potomków to liście. Gałąź to droga od korzenia do liścia. (IMMT PWr) TI-W01 2014 50 / 1

Dane Drzewo Drzewo root left right child child a b (IMMT PWr) TI-W01 2014 51 / 1

Dane Inne Inne struktury danych Listy (pewne podobieństwo do wektorów czy tablic). Bazy danych (pewne podobieństwo do tablic). Grafy (pewne podobieństwo do drzew). (IMMT PWr) TI-W01 2014 52 / 1

Upraszczanie danych Upraszczanie danych Komputery są coraz szybsze i sprawniejsze. Na potrzeby rozważań naukowych potrzebne są modele uogólniające i jak najprostsze... Struktura pamięci komputera jest bardzo prosta liniowa (IMMT PWr) TI-W01 2014 53 / 1

Upraszczanie danych Zmienne i tablice Upraszczanie danych Zmienne i wektory bardzo łatwo dają się zlinearyzować Tablice dwu (ale i wielowymiarowe) stosunkowo łatwo można zapisać w taki sposób: trzeba się tylko umówić czy zapisujemy dane wierszami czy kolumnami Przykład (IMMT PWr) TI-W01 2014 54 / 1

Upraszczanie danych Zmienne i tablice Upraszczanie danych Zmienne i wektory bardzo łatwo dają się zlinearyzować Tablice dwu (ale i wielowymiarowe) stosunkowo łatwo można zapisać w taki sposób: trzeba się tylko umówić czy zapisujemy dane wierszami czy kolumnami Przykład 11 12 13 21 22 23 31 32 33 41 42 43 (IMMT PWr) TI-W01 2014 54 / 1

Upraszczanie danych Zmienne i tablice Upraszczanie danych Zmienne i wektory bardzo łatwo dają się zlinearyzować Tablice dwu (ale i wielowymiarowe) stosunkowo łatwo można zapisać w taki sposób: trzeba się tylko umówić czy zapisujemy dane wierszami czy kolumnami Przykład 11 12 13 21 22 23 31 32 33 41 42 43 może być zapisane tak: 11; 12; 13 * 21; 22; 23 * 31; 32; 33 * 41; 42; 43 * (IMMT PWr) TI-W01 2014 54 / 1

Upraszczanie danych Zmienne i tablice Upraszczanie danych Zmienne i wektory bardzo łatwo dają się zlinearyzować Tablice dwu (ale i wielowymiarowe) stosunkowo łatwo można zapisać w taki sposób: trzeba się tylko umówić czy zapisujemy dane wierszami czy kolumnami Przykład 11 12 13 21 22 23 31 32 33 41 42 43 może być zapisane tak: 11; 12; 13 * 21; 22; 23 * 31; 32; 33 * 41; 42; 43 * albo tak: 11; 21; 31; 41 * 12; 22; 32; 42 * 13; 23; 33; 43 * (IMMT PWr) TI-W01 2014 54 / 1

Upraszczanie danych Zmienne i tablice Upraszczanie danych Zmienne i wektory bardzo łatwo dają się zlinearyzować Tablice dwu (ale i wielowymiarowe) stosunkowo łatwo można zapisać w taki sposób: trzeba się tylko umówić czy zapisujemy dane wierszami czy kolumnami Przykład 11 12 13 21 22 23 31 32 33 41 42 43 może być zapisane tak: 11; 12; 13 * 21; 22; 23 * 31; 32; 33 * 41; 42; 43 * albo tak: 11; 21; 31; 41 * 12; 22; 32; 42 * 13; 23; 33; 43 * albo tak: {{11, 21, 31, 41}, {12, 22, 32, 42}, {13, 23, 33, 43}} czyli jako lista! (IMMT PWr) TI-W01 2014 54 / 1

Upraszczanie danych Zmienne i tablice Upraszczanie danych Podobnie będzie i ze stosem i z kolejką Baza danych to właściwie tak bardziej rozbudowana tablica; ale nie znaczy że będzie łatwo... Co z drzewem? T V G Q R S W L M N P (IMMT PWr) TI-W01 2014 55 / 1

Upraszczanie danych Drzewa Upraszczanie danych T V Q R S M N W P G L Pokazane drzewo można próbować zapisać tak: T ** V; G ** Q; R; S; W; L ** M; N; P** (gwiazdki oznaczają tu koniec kolejnych poziomów drzewa). Ale jedno co można odtworzyć to... (IMMT PWr) TI-W01 2014 56 / 1

Upraszczanie danych Drzewa Upraszczanie danych T V Q R S M N W P G L Pokazane drzewo można próbować zapisać tak: T ** V; G ** Q; R; S; W; L ** M; N; P** (gwiazdki oznaczają tu koniec kolejnych poziomów drzewa). Ale jedno co można odtworzyć to... T V Q R S M N W P G L (IMMT PWr) TI-W01 2014 56 / 1

Upraszczanie danych Drzewa Upraszczanie danych T V Q R S M N W P G L Jeżeli jednak trochę zapis skomplikować to można uzyskać coś więcej: (T) (V; G) (Q; R; S) (W; L) () (M; N) () (P) () powyższy zapis jest bardzo zwarty, ale też trochę skomplikowany: nawiasy grupują tylko węzły będące potomkami tego samego węzła. Poziomy drzewa nie są zaznaczane w żaden specjalny sposób i muszą być wyliczane. Uwaga: jest to zapis listowy! (IMMT PWr) TI-W01 2014 57 / 1

Upraszczanie danych Teza Upraszczanie danych teza Przyjmujemy, że każdą strukturę danych można zapisać w postaci liniowej, na przykład na odpowiednio długiej taśmie złożonej z krateczek w których zapisane są pojedyncze dane. (IMMT PWr) TI-W01 2014 58 / 1

Rekurencja Definicje Definicje Za wikipedią Rekursja albo rekurencja (ang. recursion, z łac. recurrere, przybiec z powrotem) to w logice, programowaniu i w matematyce odwoływanie się (np. funkcji lub definicji) do samej siebie. (IMMT PWr) TI-W01 2014 59 / 1

Rekurencja Przykład Przykład Silnia Wersja klasyczna 0! = 1 n! = n i=1 i albo n! = 1 2 3 n (IMMT PWr) TI-W01 2014 60 / 1

Rekurencja Przykład Przykład Silnia Wersja klasyczna 0! = 1 n! = n i=1 i albo n! = 1 2 3 n Wersja inna 0! = 1 n! = n (n 1)! (IMMT PWr) TI-W01 2014 60 / 1

Rekurencja Przykład Przykład Kilka liczb In[1]:= 10! Out[1]= 3628800 In[3]:= 20! Out[3]= 2432902008176640000 In[4]:= 30! Out[4]= 265252859812191058636308480000000 In[5]:= 40! Out[5]= 815915283247897734345611269596115894272000000000 (IMMT PWr) TI-W01 2014 61 / 1

Rekurencja Schemat blokowy Silnia Schematy blokowe Wersja klasyczna 1 Jeżeli n = 0, silnia równa się 1; koniec algorytmu. 2 silnia 1 3 Powtarzaj dla i zmieniającego się od 1 do n silnia = silnia i 4 Koniec algorytmu. (IMMT PWr) TI-W01 2014 62 / 1

Rekurencja Schemat blokowy Silnia Schematy blokowe Wersja klasyczna 1 Jeżeli n = 0, silnia równa się 1; koniec algorytmu. 2 silnia 1 3 Powtarzaj dla i zmieniającego się od 1 do n silnia = silnia i 4 Koniec algorytmu. Wersja rekurencyjna 1 Funkcja Silnia (parametrem jest n) 2 Jeżeli n = 0; wynik podstaw 1; koniec programu 3 wynik = wynik Silnia(n 1) 4 koniec (IMMT PWr) TI-W01 2014 62 / 1

Rekurencja Schemat blokowy Rekurencja na obrazkach: Droste Effect (IMMT PWr) TI-W01 2014 63 / 1

Rekurencja Schemat blokowy Rekurencja Escher (IMMT PWr) TI-W01 2014 64 / 1

Rekurencja Schemat blokowy Rekurencja Escher (IMMT PWr) TI-W01 2014 64 / 1

Rekurencja Schemat blokowy Rekurencja Escher (IMMT PWr) TI-W01 2014 64 / 1

Rekurencja Schemat blokowy Rekurencja Escher (IMMT PWr) TI-W01 2014 64 / 1

Rekurencja Schemat blokowy Rekurencja Escher (IMMT PWr) TI-W01 2014 64 / 1

Rekurencja Schemat blokowy Rekurencja Escher (IMMT PWr) TI-W01 2014 64 / 1

Rekurencja Schemat blokowy Rekurencja Escher (IMMT PWr) TI-W01 2014 64 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Prosta zabawka dziecięca na patyku nanizanych jest pewna liczba krążków tak, że na większym zawsze leży krążek mniejszy. Zadaniem naszym jest umieszczenie wszystkich krążków na sąsiednim patyku (korzystając z jednego tylko patyka pomocniczego) w tej samej kolejności. Podczas każdego ruchu pamiętać trzeba, że krążek większy nie może znaleźć się nigdy na krążku mniejszym. (IMMT PWr) TI-W01 2014 65 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Przykład Trzy krążki (IMMT PWr) TI-W01 2014 66 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Przykład Trzy krążki 1 (IMMT PWr) TI-W01 2014 66 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Przykład Trzy krążki 2 (IMMT PWr) TI-W01 2014 66 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Przykład Trzy krążki 3 (IMMT PWr) TI-W01 2014 66 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Przykład Trzy krążki 4 (IMMT PWr) TI-W01 2014 66 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Przykład Trzy krążki 5 (IMMT PWr) TI-W01 2014 66 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Przykład Trzy krążki 6 (IMMT PWr) TI-W01 2014 66 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Przykład Trzy krążki 7 (IMMT PWr) TI-W01 2014 66 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Przykład Trzy krążki 8 (IMMT PWr) TI-W01 2014 66 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Przykład Dwa krążki (IMMT PWr) TI-W01 2014 66 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Przykład Dwa krążki (IMMT PWr) TI-W01 2014 66 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Przykład Dwa krążki (IMMT PWr) TI-W01 2014 66 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Przykład Dwa krążki (IMMT PWr) TI-W01 2014 66 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Przykład Dwa krążki (IMMT PWr) TI-W01 2014 66 / 1

Rekurencja Wieże Hanoi Wieże Hanoi I Czemu taka nazwa? W wielkiej świątyni Benares w Hanoi, pod kopułą, która zaznacza środek świata, znajduje się płytka z brązu, na której umocowane są trzy diamentowe igły, wysokie na łokieć i cienkie jak talia osy. Na jednej z tych igieł, w momencie stworzenia świata, Bóg umieścił 64 krążki ze szczerego złota. Największy z nich leży na płytce z brązu, a pozostałe jeden na drugim, idąc malejąco od największego do najmniejszego. Jest to wieża Brahma. Bez przerwy we dnie i w nocy kapłani przekładają krążki z jednej diamentowej igły na drugą, przestrzegając niewzruszonych praw Brahma. Prawa te chcą, aby kapłan na służbie brał tylko jeden krążek na raz i aby umieszczał go na jednej z igieł w ten sposób, by nigdy nie znalazł się pod nim krążek mniejszy. (IMMT PWr) TI-W01 2014 67 / 1

Rekurencja Wieże Hanoi Wieże Hanoi II Czemu taka nazwa? Wówczas, gdy 64 krążki zostaną przełożone z igły, na której umieścił je Bóg w momencie stworzenia świata, na jedną z dwóch pozostałych igieł, wieża, świątynia, bramini rozsypią się w proch i w jednym oka mgnieniu nastąpi koniec świata. Kiedy nastąpi koniec świata? (IMMT PWr) TI-W01 2014 68 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Koniec świata Przy trzech krążkach trzeba 7 ruchów (przy dwu 3!) (IMMT PWr) TI-W01 2014 69 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Koniec świata Przy trzech krążkach trzeba 7 ruchów (przy dwu 3!) Gdy krążków jest 64 trzeba 2 64 1 ruchów, czyli 18446744073709551615 (IMMT PWr) TI-W01 2014 69 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Koniec świata Przy trzech krążkach trzeba 7 ruchów (przy dwu 3!) Gdy krążków jest 64 trzeba 2 64 1 ruchów, czyli 18446744073709551615 Zakładamy, że przeniesienie krążka zajmuje 1 sekundę. (IMMT PWr) TI-W01 2014 69 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Koniec świata Przy trzech krążkach trzeba 7 ruchów (przy dwu 3!) Gdy krążków jest 64 trzeba 2 64 1 ruchów, czyli 18446744073709551615 Zakładamy, że przeniesienie krążka zajmuje 1 sekundę. Rok ma 365 24 3600 sekund (31536000) (IMMT PWr) TI-W01 2014 69 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Koniec świata Przy trzech krążkach trzeba 7 ruchów (przy dwu 3!) Gdy krążków jest 64 trzeba 2 64 1 ruchów, czyli 18446744073709551615 Zakładamy, że przeniesienie krążka zajmuje 1 sekundę. Rok ma 365 24 3600 sekund (31536000) Praca ta zajmie 2 64 /31536000 lat (prawie 585 miliardów lat) (IMMT PWr) TI-W01 2014 69 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Jak rozwiązać ten problem? Gdy krążek jest tylko jeden problem nie istnieje. (IMMT PWr) TI-W01 2014 70 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Jak rozwiązać ten problem? Gdy krążek jest tylko jeden problem nie istnieje. Dla dwu krążków problem jest banalny. (IMMT PWr) TI-W01 2014 70 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Jak rozwiązać ten problem? Gdy krążek jest tylko jeden problem nie istnieje. Dla dwu krążków problem jest banalny. Dla trzech można go podzielić na trzy zadania: (IMMT PWr) TI-W01 2014 70 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Jak rozwiązać ten problem? Gdy krążek jest tylko jeden problem nie istnieje. Dla dwu krążków problem jest banalny. Dla trzech można go podzielić na trzy zadania: 1 Przeniesienie dwu górnych krążków na trzeci patyczek. (IMMT PWr) TI-W01 2014 70 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Jak rozwiązać ten problem? Gdy krążek jest tylko jeden problem nie istnieje. Dla dwu krążków problem jest banalny. Dla trzech można go podzielić na trzy zadania: 1 Przeniesienie dwu górnych krążków na trzeci patyczek. 2 Przeniesienie największego krążka na patyczek drugi. (IMMT PWr) TI-W01 2014 70 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Jak rozwiązać ten problem? Gdy krążek jest tylko jeden problem nie istnieje. Dla dwu krążków problem jest banalny. Dla trzech można go podzielić na trzy zadania: 1 Przeniesienie dwu górnych krążków na trzeci patyczek. 2 Przeniesienie największego krążka na patyczek drugi. 3 Ponowne przeniesienie dwu krążków na największy... (IMMT PWr) TI-W01 2014 70 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Przypadek ogólny 1 Przenieśmy z A na C N 1 krążków. 2 Pozostały krążek (największy! ale z czego to wynika?) przenieśmy z A na B. 3 Do pozostałych (N 1) krążków zastosujmy powyższy algorytm (patyk B możemy wykorzystywać jako roboczy, bo na samym spodzie znajduje się krążek największy). 4 powyższą procedurę należy powtarzać aż do zakończenia zadania. (Pierwszy patyczek nazwaliśmy A, drugi B a trzeci C.) (IMMT PWr) TI-W01 2014 71 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Procedura (rekurencyjna) Procedura przenieś N (krążków) z X na Y używając Z: 1 Jeśli N = 1 to wypisz X Y ; 2 w przeciwnym razie (jeżeli N > 1) wykonaj co następuje: 1 wywołaj przenieś N 1 z X na Z używając Y ; 2 wypisz X Y ; 3 wywołaj przenieś N 1 z Z na Y używając X ; 3 wróć; Zapis symboliczny A B oznacza weź krążek z patyka oznaczonego A i przenieś go na patyk oznaczony B Procedura służy jedynie do wypisywania instrukcji dla operataora człowieka. (IMMT PWr) TI-W01 2014 72 / 1

Rekurencja Wieże Hanoi Wieże Hanoi Realizacja Start przenieść 3 z A na B używając C 1 przenieść 2 z A na C używając B 1 przenieść 1 z A na B używając C 2 A C 2 A B 1 A B 3 przenieść 1 z B na C używając A 1 B C 3 przenieść 2 z C na B używając A 1 przenieść 1 z C na A używając B 2 C B 1 C A 3 przenieść 1 z A na B używając C 1 A B (IMMT PWr) TI-W01 2014 73 / 1

Przykłady Problem 1 Wejście: Dwie liczby J i K Wynik: Liczba J 2 + 3K Prosty problem wymagający wykonania elementarnych obliczeń arytmetycznych na dwu liczbach wejściowych. (IMMT PWr) TI-W01 2014 74 / 1

Przykłady Problem 2 Wejście: Liczba dodatnia K Wynik: Suma liczb całkowitych od 1 do K Problem arytmetyczny, ale liczba obliczeń zmienia się w zależności od danych wejściowych. (IMMT PWr) TI-W01 2014 75 / 1

Przykłady Problem 3 Wejście: Liczba dodatnia K Wynik: TAK gdy K jest liczbą pierwszą, NIE, gdy taką nie jest. Problem decyzyjny. Zadanie jest również arytmetyczne, ale wynik nie jest numeryczny. (IMMT PWr) TI-W01 2014 76 / 1

Przykłady Problem 4 Wejście: Lista L słów w języku polskim. Wynik: Lista L uporządkowana alfabetycznie (leksykograficznie) Nie jest to problem arytmetyczny, konieczne jest operowanie na zmiennej liczbie danych słów. (IMMT PWr) TI-W01 2014 77 / 1

Przykłady Problem 5 Wejście: Mapa drogowa z zaznaczonymi miastami i odległościami między nimi, na której są wyróżnione dwa miasta A i B. Wynik: Opis najkrótszej ścieżki (trasy) od A do B Problem poszukiwania wśród wszystkich najlepszego wariantu rozwiązania. (IMMT PWr) TI-W01 2014 78 / 1

Przykłady Problem 6 Wejście: Zbiór osób znajdujących się w pomieszczeniu. Wynik: Wysokość osoby najwyższej (najniższej). (IMMT PWr) TI-W01 2014 79 / 1

Przykłady Problem 6 Wejście: Zbiór osób znajdujących się w pomieszczeniu. Wynik: Wysokość osoby najwyższej (najniższej). lub Wskazanie osoby najwyższej (IMMT PWr) TI-W01 2014 79 / 1

Przykłady Problem 6 Wejście: Zbiór osób znajdujących się w pomieszczeniu. Wynik: Wysokość osoby najwyższej (najniższej). lub Wskazanie osoby najwyższej Do czego sprowadza się różnica między tymi algorytmami? (IMMT PWr) TI-W01 2014 79 / 1

Przykłady Przykład 7 (IMMT PWr) TI-W01 2014 80 / 1

Przykłady Przykład 8 (IMMT PWr) TI-W01 2014 81 / 1

Przykłady Przykład 9 (IMMT PWr) TI-W01 2014 82 / 1

Przykłady Algorytm Cartera I (IMMT PWr) TI-W01 2014 83 / 1

Przykłady Algorytm Cartera II (IMMT PWr) TI-W01 2014 84 / 1

Przykłady Algorytm Cartera III (IMMT PWr) TI-W01 2014 85 / 1

Przykłady Algorytm Cartera IV (IMMT PWr) TI-W01 2014 86 / 1

Przykłady Algorytm Cartera V (IMMT PWr) TI-W01 2014 87 / 1

Przykłady Algorytm Cartera VI (IMMT PWr) TI-W01 2014 88 / 1

Przykłady Algorytm Cartera VII (IMMT PWr) TI-W01 2014 89 / 1

Przykłady Algorytm Cartera VIII (IMMT PWr) TI-W01 2014 90 / 1

Algorytmy podsumowanie Algorytmy podsumowanie Zadanie algorytmiczne składa się ze: scharakteryzowania dopuszczalnego, być może nieskończonego zbioru potencjalnych zestawów danych wejściowych; specyfikacji pożądanych wyników jako funkcji danych wejściowych. Zakłada się, że zadany jest albo zestaw dozwolonych akcji (operacji) podstawowych albo konfiguracja sprzętowa, w którą je wbudowano. Rozwiązanie zadania algorytmicznego stanowi algorytm złożony z elementarnych instrukcji zadających akcje z ustalonego zbioru. (IMMT PWr) TI-W01 2014 91 / 1