algorithmen:algolektion03
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| algorithmen:algolektion03 [18.11.2011 14:20] – Stefan Gaum | algorithmen:algolektion03 [09.11.2014 15:47] (aktuell) – Stefan Gaum | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | [[algorithmen: | + | [[algorithmen: |
| - | ====== Sortieren ====== | + | ====== |
| Sortierverfahren sind von großer Bedeutung für die Informatik, siehe auch | Sortierverfahren sind von großer Bedeutung für die Informatik, siehe auch | ||
| Zeile 30: | Zeile 30: | ||
| - | ===== Sortieren durch Auswahl (Selection Sort) ===== | + | ===== Sortieren durch Auswahl (Selectionsort) ===== |
| + | [[http:// | ||
| Beim Sortieren durch Auswahl wird das kleinste Element des unsortierten Bereichs gesucht, ausgewählt und schließlich mit dem Grenzelement vertauscht. Die Grenze wird anschließend um einen Schritt weitergeschoben, | Beim Sortieren durch Auswahl wird das kleinste Element des unsortierten Bereichs gesucht, ausgewählt und schließlich mit dem Grenzelement vertauscht. Die Grenze wird anschließend um einen Schritt weitergeschoben, | ||
| Zeile 42: | Zeile 43: | ||
| Im nachstehenden Struktogramm wird eine variable Anzahl von Elementen sortiert. Die Variablen **// | Im nachstehenden Struktogramm wird eine variable Anzahl von Elementen sortiert. Die Variablen **// | ||
| - | {{: | + | {{: |
| + | [[http:// | ||
| ===== Aufgaben ===== | ===== Aufgaben ===== | ||
| Zeile 50: | Zeile 52: | ||
| - Sortiere die Zahlen 7, 5, 3, 8, 4, 6, 1, 2, 9 auf einem Blatt Papier nach dem Auswahlverfahren. | - Sortiere die Zahlen 7, 5, 3, 8, 4, 6, 1, 2, 9 auf einem Blatt Papier nach dem Auswahlverfahren. | ||
| - | - Folge dem [[funktionen: | + | - Folge dem Struktogramm und programmiere einen code für diesen Sortieralgorithmus. |
| - Gib den Mittelwert der Listenelemente aus. | - Gib den Mittelwert der Listenelemente aus. | ||
| - Wie viele Elemente sind größer bzw. kleiner als der Mittelwert? | - Wie viele Elemente sind größer bzw. kleiner als der Mittelwert? | ||
| - | ===== Lösungsvorschlag | + | [[algorithmen: |
| - | <code php> | ||
| - | <form action=" | ||
| - | <input type=" | ||
| - | <input type=" | ||
| - | </ | ||
| | | ||
| - | <?php | + | [[algorithmen: |
| - | $jetzt = microtime(); | + | |
| - | print $jetzt; | + | |
| - | $zahlen = $_POST[' | + | |
| - | $einzelzahlen = explode(" | + | |
| - | $anzahl = count($einzelzahlen); | + | |
| - | + | ||
| - | //echo $anzahl; | + | |
| - | // | + | |
| - | + | ||
| - | // Alle " | + | |
| - | $dieguten = array(); | + | |
| - | for( $i=0; $i< | + | |
| - | if( is_numeric($einzelzahlen[$i])){ | + | |
| - | print "Index $i: $einzelzahlen[$i] ist Zahl<br />"; | + | |
| - | | + | |
| - | } | + | |
| - | } | + | |
| - | + | ||
| - | print_r($dieguten); | + | |
| - | + | ||
| - | $anzahl = count($dieguten); | + | |
| - | $grenze = 0; | + | |
| - | + | ||
| - | while($grenze < $anzahl) { | + | |
| - | // kleinstes Element suchen | + | |
| - | $index_min = $grenze; | + | |
| - | for( $i = $grenze; $i< | + | |
| - | if ($dieguten[$i] < $dieguten[$index_min]) { | + | |
| - | $index_min = $i; | + | |
| - | } | + | |
| - | } | + | |
| - | // $dieguten[$index_min] ist das kleinste Element# | + | |
| - | // vertausche $dieguten[$grenze] mit $dieguten[$index_min] | + | |
| - | $zwischen = $dieguten[$grenze]; | + | |
| - | $dieguten[$grenze] = $dieguten[$index_min]; | + | |
| - | $dieguten[$index_min] = $zwischen; | + | |
| - | // Grenze eins nach rechts | + | |
| - | $grenze++; | + | |
| - | } | + | |
| - | $zeit = microtime() - $jetzt; | + | |
| - | + | ||
| - | print_r($dieguten); | + | |
| - | + | ||
| - | print " | + | |
| - | ?> | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | [[algorithmen: | + | |
algorithmen/algolektion03.1321626012.txt.gz · Zuletzt geändert: 18.11.2011 14:20 von Stefan Gaum
