Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1

Podobne dokumenty
TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF).

START. Wprowadź (v, t) S:=v*t. Wyprowadź (S) KONIEC

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

1 Wprowadzenie do algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

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

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

Wprowadzenie do algorytmiki

KARTA PRACY UCZNIA. Klasa II

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Programowanie w języku Python. Grażyna Koba

Sposoby przedstawiania algorytmów

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

ALGORYTMY I PROGRAMY

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

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Definicje. Algorytm to:

KONSPEKT ZAJĘĆ KOŁA INFORMATYCZNEGO LUB MATEMATYCZNEGO W KLASIE III GIMNAZJUM LUB I LICEUM ( 2 GODZ.)

2.8. Algorytmy, schematy, programy

Zapisywanie algorytmów w języku programowania

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Programowanie w Turbo Pascal

Programowanie i techniki algorytmiczne

Języki programowania zasady ich tworzenia

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

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

Algorytm. a programowanie -

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

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

INSTRUKCJE PĘTLI, INSTRUKCJA WYBORU. Instrukcja pętli For to do

Warsztaty dla nauczycieli

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

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

Temat 20. Techniki algorytmiczne

Związek między problemem, algorytmem a programem komputerowym. Klasa 2 Lekcja 3

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

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

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

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

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

Algorytm. Krótka historia algorytmów

Wprowadzenie komentarzy do programu

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

Język programowania PASCAL

WHILE (wyrażenie) instrukcja;

Wykład z Technologii Informacyjnych. Piotr Mika

Wyszukiwanie największej spośród czterech liczb. Przykładowe rozwiązanie

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW /99

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

Algorytmy przeszukiwania

Ilość cyfr liczby naturalnej

Technologie informacyjne - wykład 12 -

if (wyrażenie ) instrukcja

2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie.

Algorytmy. Programowanie Proceduralne 1

Algorytm Euklidesa. Największy wspólny dzielnik dla danych dwóch liczb całkowitych to największa liczba naturalna dzieląca każdą z nich bez reszty.

Język ludzki kod maszynowy

WHILE (wyrażenie) instrukcja;

lekcja 8a Gry komputerowe MasterMind

Algorytmy. Programowanie Proceduralne 1

Wstęp do Informatyki

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Jeszcze o algorytmach

Podstawy Programowania Algorytmy i programowanie

Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej

Algorytmika i programowanie usystematyzowanie wiadomości

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:

Informatyka klasa III Gimnazjum wymagania na poszczególne oceny

Algorytmy i struktury danych. Wykład 4

Klasa 6. Liczby dodatnie i liczby ujemne

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

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

Luty 2001 Algorytmy (7) 2000/2001

Podstawy i języki programowania

Sposoby zapisywania algorytmów

2. Graficzna prezentacja algorytmów

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

WYMAGANIA EDUKACYJNE Z INFORMATYKI dla klasy III gimnazjalnej, Szkoły Podstawowej w Rychtalu

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Pascal - wprowadzenie

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

EGZAMIN MATURALNY Z INFORMATYKI 17 MAJA 2016 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut

Klasa 6. Liczby dodatnie i liczby ujemne

Z nowym bitem. Informatyka dla gimnazjum. Część II

EGZAMIN MATURALNY 2012 INFORMATYKA

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Zapisywanie algorytmów w języku programowania wysokiego poziomu

Algorytmy od problemu do wyniku

WYRAŻENIA ALGEBRAICZNE

INFORMATYKA

POLITECHNIKA OPOLSKA

Transkrypt:

Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1

Etapy rozwiązywania problemu PROBLEM wybór metody rozwiązania ALGORYTM 1. sformułowanie zadania, 2. określenie danych wejściowych, 3. określenie celu czyli wyniku, opisu słownego, listy kroków, schematu blokowego, języka programowania zapis algorytmu PROGRAM 1. analiza poprawności rozwiązania 2. testowanie rozwiązania (programu) ocena efektywności przyjętej metody Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 2

algorytm - przykład Kolorowa BABKA Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 3

Pojęcia Algorytmika to nauka o algorytmach Algorytm jest to uporządkowany i uściślony sposób rozwiązania problemu, zawierający szczegółowy opis wykonywanych czynności. Program komputerowy jest to logicznie uporządkowany ciąg instrukcji języka programowania, realizujący algorytm. Język programowania jest to specjalny język, którym posługujemy się tylko przy pisaniu programu komputerowego. Każde słowo lub znak w tym języku jest instrukcja lub jego częścią. Schemat blokowy jest to graficzne przedstawienie algorytmu. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 4

Algorytm Euklidesa Euklides (ur. ok. 365 p.n.e., zm. ok. 300 p.n.e.) matematyk grecki pochodzący z Aten, przez większość życia działający w Aleksandrii. Algorytm Euklidesa algorytm znajdowania największego wspólnego dzielnika (NWD) dwóch różnych liczb naturalnych. Nie wymaga rozkładania liczb na czynniki pierwsze. Opiera się on na fakcie, że jeśli od większej liczby odejmiemy mniejszą, to ta mniejsza liczba i otrzymana różnica będą miały taki sam największy wspólny dzielnik jak pierwotne liczby. Gdy przy kolejnym odejmowaniu otrzymamy parę takich samych liczb, to znaleźliśmy NWD. Źródło: wikipedia.pl Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 5

Przykład: Oblicz NWD liczb 32 i 12 Metoda 1: Rozkład liczb na czynniki pierwsze 32 : 2 = 16 16 : 2 = 8 8 : 2 = 4 4 : 2 = 2 2 : 2 = 1 12 : 2 = 6 6 : 2 = 3 3 : 3 = 1 NWD (32,12) 2 2 4 Metoda 2: Przy pomocy algorytmu Euklidesa 32 12 = 20 20 12 = 8 12 8 = 4 8 4 = 4 NWD liczb 32 i 12 wynosi 4 gdyż zgodnie z założeniem algorytmu w kolejnym odejmowaniu otrzymaliśmy liczbę 4. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 6

Algorytm Sposób zapisywania Algorytm można przedstawić w postaci: opisu słownego, listy kroków, schematu blokowego, języka programowania Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 7

Lista kroków algorytmu - przykład Kolorowa BABKA Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 8

Schemat blokowy algorytmu Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 9

Elementy schematu blokowego Skrzynka graniczna - wskazują początek i koniec każdego algorytmu Skrzynka wejścia / wyjścia - umieszcza się wprowadzane dane lub wyprowadzane wyniki. Skrzynka instrukcyjna - umieszcza się polecenia do wykonania (instrukcje) - podstawienie, obliczenie, wprowadzenie wartości Skrzynka warunkowa - umieszcza się warunek, który decyduje o wyborze dalszej drogi postępowania. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 10

Budowanie schematu blokowego Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 11

Schemat blokowy zasady budowania Zasady budowania schematu blokowego: każda operacja jest umieszczona w skrzynce, schemat ma tylko jedną skrzynkę początek i jedną skrzynkę koniec, skrzynki są ze sobą połączone, ze skrzynek wychodzi jedno połączenie z wyjątkiem skrzynek początek i koniec oraz skrzynki warunkowej Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 12

Lista kroków algorytmu Ćwiczenie: Przedstaw w postaci listy kroków algorytm obliczania pola trójkąta. Dane: dowolne liczby rzeczywiste dodatnie a, h (a długość boku trójkąta, h długość wysokości trójkąta). Wynik: wartość pola trójkąta: P 1. Zacznij algorytm. 2. Wprowadź wartość boku a i wysokości h. 3. Zmiennej P przypisz wartość wyrażenia: 4. Wyprowadź wynik: P. 5. Zakończ algorytm. ( a* h) / 2 Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 13

Schemat blokowy algorytmu Ćwiczenie: Przedstaw w schematu blokowego algorytm obliczania pola trójkąta. początek 1. Zacznij algorytm. 2. Wprowadź wartość boku a i wysokości h. 3. Zmiennej P przypisz wartość wyrażenia: ( a* h) / 2 4. Wyprowadź wynik: P. 5. Zakończ algorytm. a,h P:=(a*h)/2 P koniec Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 14

Lista kroków algorytmu W skrzynce operacyjnej zamiast znaku = pojawia się oznaczenie := Taki zapis oznacza instrukcję przypisania (inaczej podstawienia); mówimy, że pod zmienną P podstawiona jest wartość wyrażenia (a*h)/2 Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 15

Lista kroków algorytmu Zadanie 1: Zapisz specyfikację zadania i listę kroków algorytmu obliczania pola trapezu. Dane: dowolne liczby rzeczywiste dodatnie a, b, h (a, b długości podstaw trapezu, h długość wysokości trapezu). Wynik: wartość pola trapezu: P 1. Zacznij algorytm. 2. Wprowadź wartość podstaw a, b i wysokości h. 3. Zmiennej P przypisz wartość wyrażenia: 4. Wyprowadź wynik: P. 5. Zakończ algorytm. (( a b)* h) / 2 Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 16

Lista kroków algorytmu Zadanie 1: Narysuj schemat blokowy algorytmu obliczania pola trapezu. 1. Zacznij algorytm. 2. Wprowadź wartość podstaw a, b i wysokości h. 3. Zmiennej P przypisz wartość wyrażenia: (( a b)* h) / 2 4. Wyprowadź wynik: P. 5. Zakończ algorytm. początek a,b,h P:=((a+b)*h)/2 P koniec Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 17

Algorytmika Praca domowa Zadanie: Dane są trzy liczby. Przedstaw graficznie algorytm obliczania ich sumy i średniej arytmetycznej Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 18

Jak realizować sytuacje warunkowe? Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 19

Algorytmika sytuacja warunkowa Z sytuacją warunkową mamy do czynienia wówczas, gdy wynik lub dalsze działanie zależy od spełnienia warunku. Jeśli spełniony jest warunek W, wykonaj instrukcję A lub Jeśli spełniony jest warunek W, wykonaj instrukcję A, w przeciwnym wypadku wykonaj instrukcję B Wpisując warunek logiczny stosujemy różne znaki relacji: = równy, <> różny, < mniejszy, > większy, <= mniejszy równy, >= większy równy. Można również wpisywać warunki złożone połączone spójnikami and (i) lub or (lub). Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 20

Algorytmika sytuacja warunkowa Zadanie: Narysuj schemat blokowy pokazujący obliczanie pola P kwadratu o boku a. Należy tu uwzględnić warunek: dla a>0 ma nastąpić obliczenie pola kwadratu i wyprowadzenie wyniku, w przeciwnym wypadku program ma wyświetlić odpowiedni komunikat i zakończyć działanie. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 21

Algorytmika sytuacja warunkowa 1. Zacznij algorytm. 2. Wprowadź wartość boku a. 3. Sprawdź warunek a>0 4. Jeżeli warunek nie jest spełniony wyświetl komunikat np. Podaj a>0 5. W przeciwnym wypadku za P podstaw wartość wyrażenia a*a 6. Wyprowadź wynik: P. 7. Zakończ algorytm. Podaj a > 0 koniec początek a a > 0 P:=a*a P koniec Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 22

Algorytmika Praca domowa Zadanie: Wprowadź dwie liczby a i b. Przedstaw w postaci ciągu kroków i graficznie algorytm porównywania tych liczb i wyprowadzania na wyjściu większej z nich. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 23

Algorytmika Zadanie: Wprowadź dwie liczby a i b. Przedstaw w postaci ciągu kroków i graficznie algorytm porównywania tych liczb i wyprowadzania na wyjściu większej z nich. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 24

Algorytmika sytuacja warunkowa 1. Zacznij algorytm. 2. Wprowadź liczby a i b. 3. Sprawdź warunek a = b 4. Jeżeli warunek jest spełniony wyświetl komunikat np. Podaj liczby różne 5. W przeciwnym wypadku sprawdź warunek a > b 6. Jeśli warunek jest spełniony większa liczba to a 7. W przeciwnym wypadku liczba większa to b 8. Zakończ algorytm. Podaj liczby różne koniec T początek a, b a = b T a koniec N a > b N b koniec Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 25

Na czym polega iteracja? Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 26

Algorytmika iteracja Napisz algorytm obliczania sumy siedmiu liczb. 1. Zacznij algorytm. 2. Suma jest równa zero. 3. Wprowadź pierwszą liczbę. 4. Do poprzedniego wyniku sumy dodaj wprowadzoną liczbę. 5. Wprowadź drugą liczbę. 6. Do poprzedniego wyniku sumy dodaj wprowadzoną liczbę. 7. Wprowadź trzecią liczbę. 8. Do poprzedniego wyniku sumy dodaj wprowadzoną liczbę. 9. Wprowadź czwartą liczbę. 10. Do poprzedniego wyniku sumy dodaj wprowadzoną liczbę. 11. Wprowadź piątą liczbę. 12. Do poprzedniego wyniku sumy dodaj wprowadzoną liczbę. 13. Wprowadź szóstą liczbę. 14. Do poprzedniego wyniku sumy dodaj wprowadzoną liczbę. 15. Wprowadź siódmą liczbę. 16. Do poprzedniego wyniku sumy dodaj wprowadzoną liczbę. 17. Wyprowadź wynik sumy. 18. Zakończ algorytm. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 27

Algorytmika - iteracja Zadanie: Oblicz sumę siedmiu liczb. Dane: Siedem dowolnych liczb rzeczywistych, kolejno zapamiętywanych w zmiennej a. Wynik: wartość sumy: Suma 1. Zacznij algorytm. 2. Zmiennej Suma przypisz wartość zero: Suma := 0. 3. Wprowadź liczbę i zapamiętaj ją w zmiennej a. 4. Do wyniku sumy dodaj wprowadzoną liczbę: Suma := Suma + a. 5. Jeśli nie jest to siódma liczba, wróć do kroku 3. 6. Wyprowadź wynik: Suma 7. Zakończ algorytm. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 28

Algorytmika Iteracja Iteracja to technika algorytmiczna polegająca na wykonaniu tej samej instrukcji dla n zmiennych (np. liczb, wartości logicznych). Stosujemy wtedy tzw. pętlę. Z pętlą mamy do czynienia, gdy w pewnym kroku algorytmu wracamy do jednego z wcześniejszych kroków, co powoduje, że kroki te mogą zostać wykonane wiele razy. W algorytmach iteracyjnych liczba wykonanych powtórzeń może być określona przez ilość wprowadzonych liczb lub zależeć od warunku. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 29

Algorytmika - iteracja Zadanie: Oblicz sumę n liczb rzeczywistych. Dane: Liczba naturalna n różna od zera, oznaczająca ilość wprowadzanych liczb, n dowolnych liczb rzeczywistych, z których każda kolejno zapamiętywana jest w zmiennej a. Wynik: wartość sumy: Suma Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 30

Algorytmika iteracja TAK suma koniec początek suma := 0 L := 1 n a suma := suma + a L= n NIE L := L + 1 Zmienna L oznacza tzw. zmienną sterującą w pętli steruje ilością wykonywanych kroków iteracji Suma := 0 a 7, 20, 13, 15 L := 1 n := 4 krok 1 krok 2 krok 3 krok 4 a := 7 suma := 7 czy L = n NIE L := 2 a := 20 suma := 27 czy L = n NIE L := 3 a := 13 suma := 40 czy L = n NIE L := 4 a := 15 suma := 55 czy L = n TAK Wyprowadzenie liczby 55 Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 31

Na czym polega programowanie? Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 32

Algorytmika programowanie Programowanie jest to przedstawienie algorytmu w postaci instrukcji języka programowania, zapisanych w kolejności wyznaczonych przez ten algorytm Programowanie można podzielić na kilka etapów: 1. Zapisanie algorytmu w postaci instrukcji języka programowania (kod źródłowy). 2. Translacja kodu źródłowego na plik wykonywalny. 3. Uruchomienie i wykonanie programu Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 33

Algorytmika programowanie Kod źródłowy programu w języku Turbo Pascal program p1; uses crt; var a,b,suma,iloczyn:integer; begin clrscr; write('podaj pierwszą liczbę: '); readln(a); write('podaj drugą liczbę: '); readln(b); suma:=a+b; iloczyn:=a*b; writeln('suma liczb wynosi: ',suma, ', a iloczyn: ',iloczyn); end. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 34

Algorytmika programowanie Translacja jest to tłumaczenie programu na język wewnętrzny komputera. Może ona przebiegać w formie kompilacji i interpretacji. Kompilacja jest tłumaczeniem programu w całości i raz skompilowany program nie wymaga już powtórnej operacji tłumaczenia. Interpretacja jest tłumaczeniem programu instrukcja po instrukcji przy każdorazowym uruchomieniu programu. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 35

Algorytmika programowanie Tłumaczenie programu zapisanego w języku wysokiego poziomu na kod programu w języku wewnętrznym Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 36

Algorytmika programowanie Uruchomienie i wykonanie programu Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 37

Algorytmy sortowania Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 38

Algorytmika Sortowanie Wśród technik algorytmicznych ważne miejsce zajmują algorytmy sortowania czyli porządkowanie ciągu elementów np. liczb. W algorytmice stosujemy następujące metody sortowania: 1. Sortowanie przez wybór. 2. Sortowanie bąbelkowe 3. Sortowanie kubełkowe Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 39

Algorytmika Sortowanie przez wybór Sortowanie przez wybór (np. od najmniejszej do największej) polega na wyszukaniu największej liczby, przestawieniu jej na końcu ciągu liczb i takim samym postępowaniu w ciągu z pominięciem pierwszego elementu. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 40

Algorytmika Sortowanie przez wybór program sortowanie_przez_wybor; uses crt; const n=10; var tab: array[1..n] of integer; i,j,k,min:integer; begin clrscr; writeln('sortowanie przez wybor'); for i:=1 to n do readln(tab[i]); writeln('liczby przed sortowaniem:'); for i:=1 to n do write(tab[i]); for j:=1 to n-1 do begin min:=j; for i:= j+1 to n do if tab[i] < tab[min] then min:= i; k:=tab[min]; tab[min]:=tab[j]; tab[j]:=k; end; writeln('liczby po sortowaniu:'); for i:=1 to n do write(tab[i]); repeat until keypressed; end. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 41

Algorytmika Sortowanie bąbelkowe Sortowanie bąbelkowe polega na porównywaniu parami kolejnych liczb i przestawianiu, jeśli są ustawione w niewłaściwej kolejności. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 42

Algorytmika Sortowanie bąbelkowe program sortowanie_babelkowe; uses crt;const n=10; var tab:array[1..n] of integer; i,j,k: integer; begin clrscr; writeln('sortowanie babelkowe'); writeln('wprowadzanie liczb'); for i := 1 to n do readln(tab[i]); writeln('liczby przed sortowaniem:'); for i := 1 to n do write(tab[i]); for j := 1 to n - 1 do for i := 1 to n - 1 do if tab[i] > tab[i+1] then begin k:= tab[i]; tab[i]:=tab[i+1]; tab[i+1]:=k; end; writeln('liczby po sortowaniu:'); for i := 1 to n do write(tab[i]); repeat until keypressed; end. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 43

Algorytmika Sortowanie kubełkowe Sortowanie kubełkowe polega na porównywaniu liter umieszczonych na tych samych pozycjach, począwszy od ostatniej litery najdłuższych słów. litera na danej pozycji decyduje o umieszczeniu słowa w ciągu w odpowiednim miejscu. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 44

Algorytmika Sortowanie kubełkowe mak rak akt a k m r t mak rak akt a k m r t Algorytm sortowania kubełkowego często jest stosowany do alfabetycznego katalogowania wyrazów. W celu posortowania takiego zbioru, w pierwszym kroku należy odnaleźć najdłuższe wyrazy i porównać ich ostatnie litery. Dzięki temu porównaniu możemy ustalić ich kolejność. W ten sposób porównujemy kolejne litery zawsze istotna jest litera z określonej pozycji dla nowo porównywanych ostatnia. Uporządkujmy zbiór 3 wyrazów: rak, akt, mak. W zbiorze występuje pięć różnych liter tyle potrzebujemy kubełków. Kolej na opróżnienie kubełków - dokonujemy tego zaczynając od MAK AKT lewej od dołu - otrzymamy ciąg: MAK, RAK, AKT Ponownie napełniamy kubełki akt mak rak Po opróżnieniu kubełków kolejność jest identyczna jak poprzednio, przejdźmy zatem do ostatniego etapu (według pierwszych liter). a k m r t Opróżnienie kubełków ustanawia ostateczną kolejność. Posortowany ciąg to: AKT MAK RAK Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 45

Na czym polega rekurencja? Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 46

Algorytmika Rekurencja O rekurencji mówimy wtedy gdy definiując pojęcie odwołujemy się do niego samego. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 47