Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilJosef Bezucha
1
ALGORITMIZACE A ZÁKLADY PROGRAMOVÁNÍ ŘAZENÍ PRVKŮ – PŘÍMOU VÝMĚNOU (BUBBLESORT) Vytvořila: RNDr. Ivanka Dvořáčková Gymnázium K. V. Raise, Hlinsko, Adámkova 55leden 2013
2
PRINCIP – algoritmus založený na opakovaném porovnávání sousedních prvků a jejich případné výměně – musí se provést tolik průchodů polem, dokud nedojde k požadované- mu uspořádání, což poznáme podle toho, že v průběhu průchodu polem nedojde k výměně hodnot u žádné dvojice sousedních prvků – výměnu hodnot signalizujeme přidáním příkazu obsahující proměnnou např. VYMENA (její hodnota je typu boolean – true (ano), false (ne) – signalizuje, zda došlo či nedošlo k výměně) za sekvenci příkazů provádějících vzájemnou výměnu prvků
3
6 20 4 10 112 31. průchod polem 420 Výměna: ANO 10 20 1 20 12 20 3 20 6 410 1 12 3 202. průchod polem 4 6 Výměna: ANO 1 10 3 12 4 6 1 10 3 12 203. průchod polem 1 6 Výměna: ANO 3 10 4 6 1 3 10 12 204. průchod polem 1 6 Výměna: ANO 3 6 4 1 3 6 10 12 205. průchod polem 1 4 Výměna: ANO 3 4 1 3 4 6 10 12 206. pr. p. Výměna: NE Příklad: Vysvětlete na posloupnosti čísel 6, 20, 4, 10, 1, 12, 3 a doplňte tabulku.
4
Příklad a) Je dána posloupnost N celých kladných čísel. Vytvořte program, který – prvky posloupnosti načte do jednorozměrného pole, – prvky posloupnosti uspořádá podle velikosti vzestupně s využitím metody bubblesort (řazení přímou výměnou), – nakonec uspořádanou posloupnost vypíše. b) Vytvořený program přepište a odlaďte na počítači pro zadanou posloupnost čísel, potom pro jinou zvolenou posloupnost čísel.
5
program BubbleSort; uses CRT; var N, I, POM: integer; VYMENA: boolean; A: array [1..100] of integer; begin clrscr; write ('Zadej počet prvků pole N, max. 100: '); readln (N); writeln ('Zadej jednotlivé prvky pole oddělené mezerou: '); for I := 1 to N do read (A[I]); repeat VYMENA := false; for I := 1 to (N – 1) do if A[I] > A[I+1] then begin POM:=A[I]; A[I]:=A[I+1]; A[I+1]:=POM; VYMENA := true end until not VYMENA; writeln ('Výsledné pole je: '); for I:=1 to N do write (A[I],' '); readkey end.
6
Pro zájemce Na internetu, např. na wikipedii, vyhledejte a prostudujte další varianty této metody řazení prvků, případně jiných efektivnějších metod. V případě, že ovládáte procedury, přepište program s využitím procedur.
7
Použité zdroje HUBKA, J. a L. SILVERIO. Sbírka příkladů ze základů programování. Krajský pedagogický ústav Hradec Králové: Sdružení uživatelů počítačů JSEP a SMEP Hradec Králové, 1988. Všechny grafické prvky a obrázky algoritmů jsem vytvořila sama s využitím volně šiřitelného programu Open Office.
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.