Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:prog

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
python:prog [2020/05/01 14:04] – [Aufgaben] lutzpython:prog [2021/05/28 11:36] (aktuell) lutz
Zeile 1: Zeile 1:
-====== Algorithmen und ihre Grundstrukturen ===== +====== Algorithmen und ihre Grundstrukturen ====== 
  
 Häufig begegnen uns Beschreibungen von Verfahren und Vorgängen: Häufig begegnen uns Beschreibungen von Verfahren und Vorgängen:
Zeile 10: Zeile 10:
  
 =====Definition:===== =====Definition:=====
 +
 +<WRAP box round>
 „Ein Algorithmus ist eine Verarbeitungsvorschrift, die aus einer endlichen Folge von eindeutig ausführbaren Anweisungen besteht, mit der man eine Vielzahl gleichartiger Aufgaben lösen kann.“ „Ein Algorithmus ist eine Verarbeitungsvorschrift, die aus einer endlichen Folge von eindeutig ausführbaren Anweisungen besteht, mit der man eine Vielzahl gleichartiger Aufgaben lösen kann.“
 ((Engelmann, Lutz (Hrsg.): Duden Informatik Lehrbuch S II, DUDEN PAETEC GmbH, Berlin 2006, S.30)) ((Engelmann, Lutz (Hrsg.): Duden Informatik Lehrbuch S II, DUDEN PAETEC GmbH, Berlin 2006, S.30))
 +</WRAP>
 ===== Eigenschaften eines Algorithmus ===== ===== Eigenschaften eines Algorithmus =====
 +
 +<WRAP box round>
   * **Endlichkeit:** Ein Algorithmus besteht aus endlich vielen Anweisungen.   * **Endlichkeit:** Ein Algorithmus besteht aus endlich vielen Anweisungen.
   * **Eindeutigkeit:** Mit einer Anweisung ist auch die nächste Anweisung festgelegt. Gleiche Eingabedaten müssen zu gleichen Ausgabedaten führen.   * **Eindeutigkeit:** Mit einer Anweisung ist auch die nächste Anweisung festgelegt. Gleiche Eingabedaten müssen zu gleichen Ausgabedaten führen.
Zeile 19: Zeile 23:
   * **Allgemeingültigkeit:** Ein Algorithmus muss alle Probleme einer bestimmten Problemklasse lösen.   * **Allgemeingültigkeit:** Ein Algorithmus muss alle Probleme einer bestimmten Problemklasse lösen.
   * **Terminiertheit:** Ein Algorithmus muss nach endlich vielen Schritten eine Lösung gefunden haben. (In der theoretischen Informatik verzichtet man häufig auf diese Eigenschaft und betrachtet auch Algorithmen, die nicht terminieren.)   * **Terminiertheit:** Ein Algorithmus muss nach endlich vielen Schritten eine Lösung gefunden haben. (In der theoretischen Informatik verzichtet man häufig auf diese Eigenschaft und betrachtet auch Algorithmen, die nicht terminieren.)
 +</WRAP>
  
 ===== Darstellungsformen von Algorithmen ===== ===== Darstellungsformen von Algorithmen =====
Zeile 66: Zeile 71:
  
   * [[python:lingrog|Lineare Programme - Aus- und Eingabe]]   * [[python:lingrog|Lineare Programme - Aus- und Eingabe]]
-  * [[python:alternative|Einfache und zweifache Verzweigung]]+  * [[python:alternative|Ein- und zweiseitige Alternative]]
   * [[python:mehrfach|Mehrfachverzweigung]]   * [[python:mehrfach|Mehrfachverzweigung]]
   * [[python:schleifen_mit_abbruch|Schleifen mit Abbruchbedingung]]   * [[python:schleifen_mit_abbruch|Schleifen mit Abbruchbedingung]]
Zeile 75: Zeile 80:
 =====Computerprogramme und Programmiersprachen===== =====Computerprogramme und Programmiersprachen=====
  
-"Ein **Programm** ist ein vom Computer umsetzbarer Algorithmus, der in einer für den Computer verständlichen Sprache (einer Programmiersprache) verfasst ist."((eben da, S. 38)) 
  
 +<WRAP box round>
 +"Ein **Programm** ist ein vom Computer umsetzbarer Algorithmus, der in einer für den Computer verständlichen Sprache (einer Programmiersprache) verfasst ist."((ebenda, S. 38))
 +</WRAP>
 ====Einteilung von Programmiersprachen==== ====Einteilung von Programmiersprachen====
  
Zeile 92: Zeile 99:
  
 ===Einteilung höherer Programmiersprachen nach dem Programmierparadigma=== ===Einteilung höherer Programmiersprachen nach dem Programmierparadigma===
-Die folgende Übersicht zeigt eine mögliche Einteilung von Programmiersprachen nach ihrem Programmierparadigma. ((eben da))+Die folgende Übersicht zeigt eine mögliche Einteilung von Programmiersprachen nach ihrem Programmierparadigma. ((ebenda))
  
 {{ :python:einthoeprogr.png?600 |}} {{ :python:einthoeprogr.png?600 |}}
Zeile 129: Zeile 136:
 Beantworte die folgenden Fragen zum Inhalt der Seite und überprüfe deine Lösungen! Beantworte die folgenden Fragen zum Inhalt der Seite und überprüfe deine Lösungen!
  
-<quizlib id="quiz" rightanswers="[['a0','a2'],['a2']]" submit="Antworten überprüfen!">+<quizlib id="quiz" rightanswers="[['a0','a2'],['a2'],['a2'],['a4'], ['a3'], ['a1']]" submit="Antworten überprüfen!">
          
     <question title="a) Welche der folgenden Prozesse sind Algorithmen?" type="checkbox"> Lösen einer quadratischen Gleichung| Benoten eines Schülervortrags| Sortieren der Namen einer Klasse| Aufzählen aller natürlichen Zahlen, die bei der Division durch 5 den Rest 3 lassen.| Gestalten eines Gartenbeetes</question>     <question title="a) Welche der folgenden Prozesse sind Algorithmen?" type="checkbox"> Lösen einer quadratischen Gleichung| Benoten eines Schülervortrags| Sortieren der Namen einer Klasse| Aufzählen aller natürlichen Zahlen, die bei der Division durch 5 den Rest 3 lassen.| Gestalten eines Gartenbeetes</question>
-    <question title="b) Welcher Begriff gehört nicht zu den Eigenschaften von Algorithmen?" type="radio"> EndlichkeitEindeutigkeit| Veränderlichkeit| Ausführbarkeit| Allgemeingültigkeit| Terminiertheit</question>+    <question title="b) Welcher Begriff gehört nicht zu den Eigenschaften von Algorithmen?" type="radio"> EndlichkeitEindeutigkeit| Veränderlichkeit| Ausführbarkeit| Allgemeingültigkeit| Terminiertheit</question> 
 +    <question title="c) Mit welcher Programmiersprache ist nur logische Programmierung möglich?" type="radio"> C| Assembler| Prolog| Python| Java</question> 
 +    <question title="c) Mit welcher Programmiersprache ist nur objektorientierte Programmierung möglich?" type="radio"> C| Assembler| Prolog| Python| Java</question> 
 +    <question title="d) Mit welcher Programmiersprache ist sowohl struktorierte, objektorientierte als auch funktionale Programmierung möglich?" type="radio"> C| Assembler| Prolog| Python| Java</question> 
 +    <question title="e) Welche Programmiersprache ist eine Sprache der 2. Generation?" type="radio"> C| Assembler| Prolog| Python| Java</question> 
 +     
 +    
          
          
Zeile 142: Zeile 155:
 \\ \\
  
-**Aufgabe 2** 
  
-Informiere dich im entsprechenden Wikipediaartikel über [[https://de.wikipedia.org/wiki/Programmiersprache | Programmiersprachen]]. 
  
-**Aufgabe 3**+**Aufgabe 2**
  
 Informiere dich über die Sprache [[https://scratch.mit.edu/projects/editor/?tutorial=getStarted | Scratch]]. Erstelle online einen kleinen Algorithmus und lade dir die Datei herunter. Informiere dich über die Sprache [[https://scratch.mit.edu/projects/editor/?tutorial=getStarted | Scratch]]. Erstelle online einen kleinen Algorithmus und lade dir die Datei herunter.
python/prog.1588334663.txt.gz · Zuletzt geändert: 2020/05/01 14:04 von lutz