1 / 21

Materiały pochodzą z Platformy Edukacyjnej Portalu szkolnictwo.pl

Materiały pochodzą z Platformy Edukacyjnej Portalu www.szkolnictwo.pl.

vinnie
Download Presentation

Materiały pochodzą z Platformy Edukacyjnej Portalu szkolnictwo.pl

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Materiały pochodzą z Platformy Edukacyjnej Portalu www.szkolnictwo.pl Wszelkie treści i zasoby edukacyjne publikowane na łamach Portalu www.szkolnictwo.pl mogą być wykorzystywane przez jego Użytkowników wyłącznie w zakresie własnego użytku osobistego oraz do użytku w szkołach podczas zajęć dydaktycznych. Kopiowanie, wprowadzanie zmian, przesyłanie, publiczne odtwarzanie i wszelkie wykorzystywanie tych treści do celów komercyjnych jest niedozwolone. Plik można dowolnie modernizować na potrzeby własne oraz do wykorzystania w szkołach podczas zajęć dydaktycznych.

  2. Schemat blokowy algorytmu

  3. Schemat blokowy Schemat blokowy jest graficznym przedstawieniem zbioru operacji tworzących pełny algorytm i wzajemnych powiązań między nimi, uwzględniający kolejność wykonywania operacji. W schemacie blokowym poszczególne operacje przedstawione są za pomocą odpowiednio połączonych skrzynek (klocków, bloków). Połączenia określają kolejność i sposób wykonywania operacji realizujących dany algorytm. Schematy blokowe pozwalają na prostą zamianę instrukcji na instrukcje programu komputerowego.

  4. Schemat blokowy – elementy budowy • strzałka - wskazuje jednoznacznie powiązania i ich kierunek • operand - prostokąt, do którego wpisywane są wszystkie operacje z wyjątkiem instrukcji wyboru • predykat - romb, do którego wpisywane są wyłącznie instrukcje wyboru • etykieta - owal służący do oznaczania początku bądź końca sekwencji schematu (kończą, zaczynają lub przerywają/przenoszą schemat) Schemat blokowy pozwala dostrzec istotne etapy algorytmu i logiczne zależności między nimi.

  5. Elementy schematu blokowego START KONIEC WPROWADŹ WYPROWADŹ

  6. := CZYL>0 1

  7. Zasady budowania schematów blokowych • każda operacja, relacja lub informacja jest umieszczana w skrzynce • kolejność wykonywania operacji wyznaczają połączenia między skrzynkami • każde połączenie jest zaczepione początkiem do skrzynki, a końcem do innej skrzynki lub innego połączenia, żadne połączenie nie rozdziela się • rozgałęzienie sieci działań możliwe jest tylko dzięki skrzynkom warunkowym • schemat posiada jedną skrzynkę START i co najmniej jedną skrzynkę STOP • ze skrzynki START można przejść do skrzynki STOP poruszając się po sieci działań • ze skrzynki START można dotrzeć wzdłuż połączeń do dowolnej innej skrzynki schematu • z każdej skrzynki istnieje przejście wzdłuż połączeń do jednej ze skrzynek STOP

  8. Struktury schematów blokowych Schemat blokowy liniowy Schemat blokowy liniowy występuje w zadaniach, w których każda z operacji elementarnych nie zawiera relacji (warunku) i powtórzeń (iteracji). Realizacja poszczególnych sąsiednich operacji następuje według ustalonej kolejności od operacji początkowej do końcowej. Przykłady: liczenie pola powierzchni, obwodu figur płaskich.

  9. Struktury schematów blokowych Schemat blokowy z rozgałęzieniami Schematy blokowe z rozgałęzieniami spotyka się w zadaniach dla których kolejność poszczególnych etapów w rozwiązaniu może się zmieniać w zależności od warunków określonych w sformułowaniu problemu. Cechą tych algorytmów jest to, iż w trakcie realizacji przechodzi się tylko po jednej z możliwych dróg, przy czym każdy oddzielny etap realizacji algorytmu wykonywany jest dokładnie jeden raz. W rozwiązaniach wykorzystywane są drzewa logiczne. Przykłady: znajdowanie liczby najmniejszej, rozwiązanie równania liniowego i kwadratowego .

  10. Struktury schematów blokowych Schemat blokowy cykliczny - z pętlą Algorytmy dla problemów wymagających powtarzania poszczególnych etapów procesu obliczeniowego nazywamy cyklicznymi (czyli z pętlą). Przez pętlę w schemacie blokowym rozumiemy tą część schematu, która opisuje drogę (obwód) zamkniętą zgodnie z kierunkiem połączenia (obiegu). Pętla stanowi graficzny opis powtarzania czynności. Ciąg wszystkich czynności wykonywanych przy jednokrotnym przebiegu pętli nazywamy cyklem pętli. W każdej pętli musi wystąpić: • co najmniej jedna skrzynka operacyjna (np. wyliczeniowa) zawierająca opis powtarzanej czynności • modyfikacja w każdym cyklu co najmniej jednej wartości zmiennej występującej w pętli • skrzynka decyzyjna z warunkiem, czy pętla ma być nadal powtarzana czy też zakończona Często w pętli występują zmienne nazywane licznikami, których wartości w algorytmie określają ilość zrealizowanych cykli pętli.

  11. Struktury schematów blokowych Schemat blokowy cykliczny - z pętlą a) ze sprawdzeniem warunku na początku b) ze sprawdzeniem warunku na końcu

  12. Poprawność algorytmu Algorytm, który został poprawnie skonstruowany posiada następujące cechy: • posiada dane wejściowe – niekoniecznie w formie numerycznej – pochodzące z dobrze zdefiniowanego źródła • produkuje pewien wynik – niekoniecznie numeryczny • jest precyzyjnie zdefiniowany, tzn. każdy krok algorytmu musi być jednoznacznie określony • jest skończony – każdy algorytm musi dać wynik, rozwiązanie

  13. Instrukcja warunkowa • Działa według jednego z dwóch przedstawionych schematów: • jeśli spełniony jest warunek W, wykonaj instrukcję A • jeśli spełniony jest warunek W, to wykonaj instrukcję A; w przeciwnym razie wykonaj instrukcję B • Instrukcje A i B opisują pojedynczą instrukcję lub instrukcję składającą się z ciągu instrukcji wykonywanych sekwencyjnie. • Instrukcja warunkowa pozwala dokonać wyboru jednej z dwóch dalszych dróg wykonania algorytmu. • Lista kroków – instrukcja warunkowa – przykład: • K01: Podnieś słuchawkę • K02: Wybierz cyfrę 1 • K03: Wybierz cyfrę 1 • K04: Wybierz cyfrę 2 • K05: Czy połączyłeś się z telefonem alarmowym? • Jeśli TAK, to przejdź do K06 • Jeśli NIE, to przejdź do K07 • K06: Wezwij pomoc • K07: Odłóż słuchawkę

  14. Pętla • Wielokrotne powtarzanie niektórych instrukcji jest cechą charakterystyczną wielu algorytmów, nie zawsze jednak możemy określić dokładnie liczbę powtórzeń. • Liczba powtórzeń może zależeć od spełnienia pewnych warunków. Wielokrotne powtarzanie instrukcji umożliwiają instrukcje iteracyjne (pętle). Działają one według następującego schematu: • wykonuj instrukcję A dokładnie n razy • Iteracja to technika algorytmiczna polegająca na wykonaniu tej samej instrukcji dla n zmiennych. • Lista kroków – pętla – przykład: • K01: Podnieś słuchawkę • K02: Wykonaj czynność dwa razy • A. Wybierz cyfrę 1 • K03: Wybierz cyfrę 2 • K04: czy połączyłeś się z telefonem alarmowym? • Jeśli TAK, to przejdź do K05 • Jeśli NIE, to przejdź do K06 • K05: Wezwij pomoc • K06: Odłóż słuchawkę

  15. Pętla • Powtarzamy wybieranie numeru aż do uzyskania połączenia. Dopiszemy w tym celu polecenie będące drugim rodzajem instrukcji iteracyjnej: • powtarzaj wykonywanie instrukcji A aż do spełnienia warunku W • Czym jest instrukcja A, czym warunek W ? • • Instrukcja A - podniesienie słuchawki, wybranie numeru • • Warunek W - uzyskanie połączenia z wybranym numerem • Lista kroków – pętla – przykład: • K01: Czy słuchawka jest odłożona? • Jeśli TAK, to przejdź K02 • Jeśli NIE, to odłóż słuchawkę • K02: Podnieś słuchawkę • K03: Wykonaj czynność dwa razy • A. Wybierz cyfrę 1 • K04: Wybierz cyfrę 2 • K05: czy połączyłeś się z telefonem alarmowym? • Jeśli TAK, to przejdź do K06 • Jeśli NIE, to przejdź do K07 • K06: Wezwij pomoc • K07: Odłóż słuchawkę

  16. Pętla • Jeżeli nadal słychać w słuchawce sygnał zajętości linii, czynność należałoby powtórzyć. Wykonujemy te czynności dopóki linia nie będzie wolna. W takim przypadku stosujemy instrukcję, która działa według schematu: • dopóki warunek W jest spełniony, wykonuj instrukcję A • Lista kroków – pętla – przykład: • K01: Czy słuchawka jest odłożona? • Jeśli TAK, to przejdź K02 • Jeśli NIE, to odłóż słuchawkę • K02: Podnieś słuchawkę • K03: Czy linia jest zajęta ? • A. Jeśli TAK, to: • a. Odłóż słuchawkę • b. Podnieś słuchawkę • c. Przejdź do kroku K03 • B. Jeśli NIE, to przejdź do K04 • K04: Wykonaj czynność dwa razy • A. Wybierz cyfrę 1 • K05: Wybierz cyfrę 2 • K06: czy połączyłeś się z telefonem alarmowym? • Jeśli TAK, to przejdź do K06 • Jeśli NIE, to przejdź do K07 • K07: Wezwij pomoc • K08: Odłóż słuchawkę

  17. Przykład 1 - prosty schemat blokowy START Na schemacie przedstawiony został algorytm liniowy, obliczający powierzchnię trójkątaw reprezentacji krokowej i graficznej. K01: START algorytmu K02: WPROWADŹ a, h K03: Oblicz POLE:=1/2 a*h K04: WYPROWADŹ (POLE) K05: KONIEC algorytmu WPROWADŹ (a, h) POLE:=1/2 a*h WYPROWADŹ(POLE) KONIEC

  18. START Przykład 2 Poniżej przedstawiony został nieco bardziej skomplikowany schemat blokowy. Ma on za zadanie wyznaczenie miejsc zerowych równania kwadratowego. WPROWADŹ A, B, C Dane wejściowe: A, B, C Dane wyjściowe: X1, X2 – miejsca zerowe równania kwadratowego Czy A różne od 0 OBLICZ DELTĘ:=B*B -4A*C Lista kroków: K01: START algorytmu K02: WPROWADŹ A, B, C K03: jeżeli A różne od zera to oblicz DELTĘ:=B*B - 4AC w przeciwnym wypadku KONIEC algorytmu K04: jeżeli DELTA>=zero to oblicz X1i X2 w przeciwnym wypadku KONIEC algorytmu K05: WYPROWADŹ X1 , X2 K06: KONIEC algorytmu Czy DELTA>= 0 KONIEC OBLICZ X1,X2 WYPROWADŹ X1,X2 KONIEC

  19. Przykład 3 Przykład pokazuje w jaki sposób znaleźć minimum spośród dwóch liczb całkowitych a i b. Program wyprowadza wartość wyniku, w przypadku gdy liczby są sobie równe wyprowadza odpowiedni komunikat. Dane wejściowe: a, b – liczby całkowite Dane wyjściowe: min - minimalna wartość a lub b Lista kroków K01: Wprowadź dwie liczby całkowite a i b: wykonuj K02 K02: Jeśli a<b, to podstaw min=a, wyprowadź wynik min=a. Przejdź do K05: w przeciwnym przypadku przejdź do K03 K03: Sprawdź czy b<a, jeśli TAK to podstaw min=b: wyprowadź wynik min=b. Przejdź do K05: w przeciwnym przypadku przejdź do K04 K04: Podstaw min=a, wyprowadź wynik min=a=b. Przejdź do K05 K05: Koniec

  20. Przykład 3 cd. Po wczytaniu danych wejściowych a i b algorytm rozpocznie porównywanie wczytywanych liczb. Jeśli a>b, to min=a, wynik zostanie wyprowadzony. Jeśli a>=b zostanie sprawdzone czy b>a. Jeśli warunek zostanie spełniony – jeśli TAK, to min=b – wynik zostanie wyprowadzony. Jeżeli kryterium nie zostanie spełniony min=a=b. Wynik sostanie wyświetlony.

  21. Bibliografia • Cormen T.H., Leiserson Ch.E., Rivest R.L., Stein C.: „Wprowadzenie do algorytmow”. WNT, Warszawa, 2005 • Wroblewski P.: „Algorytmy, struktury danych i techniki programowania, Wydanie III”, Helion, Gliwice, 2003 • Donald E. Knuth: Sztuka programowania. T. 1. Warszawa: Wydawnictwo Naukowo-Techniczne, 2002 • N. Wirth: „Algorytmy + struktury danych = programy”. WNT, Warszawa, 2004. • pl.wikipedia.org/ • algorytm.org/ • neuralnets.eu/ • encyklopedia.pwn.pl/

More Related