Design’ deine eigene App

Design’ deine eigene App

Design’ deine eigene App

– Lektion 3a – Erklärung: Was ist ein Algorithmus?

Ziel: In dieser Lektion erfährst du, was Algorithmen sind und was im Hintergrund passiert, damit aus deiner Idee ein Programm am Bildschirm werden kann.

Von Algorithmen & Programmen

Aufgabe: Bevor es weitergeht, überlege dir bitte eine der möglichen Antworten zu den folgenden zwei Fragen und schreibe diese ins Kommentarfeld. Die Antworten besprechen wir gemeinsam in der Gruppe.

  1. Wann wurde das erste Programm geschrieben?

a. 17. Jhd    b. 18. Jhd    c. 19. Jhd    d. 20. Jhd

02. Wann wurden die ersten (höhere) Programmiersprachen verwendet?

a. 1920 – 1930   b. 1930 – 1940   c. 1950 – 1960    d. 1970 – 1980

 

Nun haben wir eine Aufgaben für dich, die dir die Funktionsweise von Algorithmen näher bringen sollen:

Aufgabe: Führe diese Kinder – Yogaübung aus (gerne so oft du möchtest):

Diese Anleitungen (ist)sind mit einem Algorithmus gleichzusetzen. Schritt-für-Schritt entsteht mit jeder einzelnen Übung eine gesamte Yogaposition, welche sich der “Sonnengruß” nennt.

Das kommt zum Beispiel auch bei Falt-Anleitungen vor:

Aber was ist denn nun genau ein Algorithmus?

Ein Algorithmus ist …

eine endliche Folge von Anweisungen, die (möglicherweise leere) Eingabewerte annimmt und Ausgabewerte erzeugt.

Das heißt: Algorithmen haben (manchmal auch leere) Eingabewerte –  in unserem Fall wären die Eingabenwerte bei der Faltanleitung ein Blatt Papier. Beide Anleitungen bestehen aus Schritt-für-Schritt Anweisungen welche du nacheinander befolgen musst. Diese können durch Bilder dargestellt werden (Aufgabe 1) oder auch mit Text. Am Ende des Algorithmus gibt es eine Ausgabe: du fühlst dich entspannter (Aufgabe 1) oder du hast ein tolle Papierschachtel (Aufgabe 2).

 

Aufgabe: Auch ein Kochrezept kann ein Algorithmus sein. Denk an dein Lieblingsgericht. Was könnten hier die jeweiligen Werte sein?

Schreibe deine Ergebnisse ins Kommentarfeld darunter.

  • Eingabewerte:
  • Schritte:
  • Ausgabewerte:

Andere Beispiele für Algorithmen wären eine Bauanleitung, Musiknoten oder ein Such- oder Sortieralgorithmus.

Möchtest du mehr über die Funktionsweise von Algorithmen erfahren, dann klicke hier: https://youtu.be/yF6n0F-jiow

So, wiederhole nun nochmals für dich: Was ist ein Algorithmus? – So wie du es einem Freund oder einer Freundin beschreiben würdest.

 

Zusatzmaterial: Von der Idee zum  Algorithmus zum Programm

Du kannst diesen Teil auch überspringen oder du hörst Teresa zu 🙂

 

Alles beginnt mit einer Idee, zum Beispiel der Idee eine Schachtel zu falten oder ein Spiel zu programmieren. Doch wie wird aus meiner Idee ein Programm?

Es gibt unterschiedliche Darstellungsformen für Algorithmen. Damit der Computer aber Algorithmen verstehen kann und diese ausführen kann, müssen die Befehle in einer bestimmten Programmiersprache geschrieben werden. Welche Programmiersprachen kennst du?

Hast du schon etwas von Java, PHP, C++, C#, Python oder SQL gehört? DAs sind alles Programmiersprachen. Und soll ich dir etwas verraten: Du hast selbst bereits eine Programmiersprache verwendet und zwar eine visuelle Programmiersprache: Catrobat in Pocket Code – ja auch in Pocket Code verwendest du eine Programmiersprache.

 

Links ein Programmiercode in PHP und rechts ein Programmiercode (Befehl für Befehl) in Pocket Code.

Je nachdem welche Programmiersprache verwendet wird, wird entweder ein Compiler oder Interpreter verwendet. Doch wozu? Computer können auch diese Programmiersprache nicht lesen. Sie können, wie du noch lernen wirst, nur zwei Zustände/Werte lesen: 1 und 0 – dies wird als Maschinensprache bezeichnet.

Diese Umwandlung der Programmiersprache in 0 und 1 geschieht entweder bevor das Programm ausgeführt wird (mit Hilfe eines Compilers) z.B. bei C oder währenddessen es ausgeführt wird z.B. wie in Pocket Code (mit Hilfe eines Interpreters). Wichtig ist aber, dass dein Programm ausgeführt wird. Dafür muss dein Code grammatikalisch richtig sein und einen Sinn ergeben. In Pocket Code kannst du nicht viele grammatikalische Fehler machen, da die Codeblöcke bereits vordefiniert sind 🙂 Dass dein Programm auch Sinn ergibt (das macht was es tun soll) ist aber deine Aufgabe 🙂

Weiter geht’s 🙂

Hinterlasse uns ein Kommentar

Ihre Mailadresse wird nicht veröffentlicht.