gf1:programmieren1

Dies ist eine alte Version des Dokuments!


Drei Aufgaben zum Einsteigen:

Bearbeiten Sie die verschiedenen Aufgaben:

Aufgabe A
Führen Sie die folgende Rechenanleitung durch … ohne Taschenrechner;-)

  1. Wählen Sie eine Zahl zwischen 1 und 9.
  2. Verdoppeln Sie die Zahl.
  3. Addieren Sie 2.
  4. Multiplizieren Sie die Zahl mit 100.
  5. Halbieren Sie das Resultat.
  6. Wenn Sie bereits Geburtstag hatten, addieren Sie das aktuelle Jahr und subtrahieren 2100.
  7. Wenn Sie noch nicht Geburtstag hatten, addieren Sie das aktuelle Jahr und subtrahieren 2101.
  8. Subtrahieren Sie die letzten beiden Zahlen Ihres Jahrganges (z.B. bei 1991 subtrahieren Sie 91).
  9. Ihre Zahl sollte dreistellig sein. Die erste Ziffer besteht aus der Zahl, welche Sie sich am Anfang gemerkt haben, die letzten beiden Ziffern sind Ihr Alter in Jahren. Verblüffend, nicht?

Aufgabe B

  1. Folgen Sie der Faltanleitung und falten Sie! Blätter sind bei der Lehrperson vorhanden!
  2. Öffnen Sie eine persönliche OneNote-Seite und notieren Sie den Ablauf des Faltens ganz genau. Vergleichen Sie Ihren Text mit einem Text einer bzw. eines Lernenden. Was fällt auf? Wo hat Ihr Text Lücken und Schwächen? Was ist schwierig, am Verfassen dieses Textes und warum?

Aufgabe C
Im Film ist ein Muffinsrezept und was dieses mit Algorithmen zu tun hat, kurz erklärt. Schauen Sie sich das Video an, machen Sie sich Notizen, (auch das abgebildete Diagramm!)

Aufgabe D
Beantworten Sie folgende Fragen:

  1. Was haben die Aufgaben gemeinsam?
  2. Finden sich überall Algorithmen?
  3. Warum bzw. warum nicht? Was genau ist der Algorithmus, den ersten beiden Aufgaben?

Was ist ein Algorithmus?

Das EVA-Prinzip

Grundlage für einen Algorithmus ist das EVA-Prinzip.

E steht für Eingabe. Eingaben können über von Benutzern die Tasten, die Maus oder den Touchbildschirm direkt gemacht werden. Es können aber auch Eingaben über Sensoren oder andere Computersysteme erfolgen. Kurz kann eine Eingabe über Nutzerinteraktion, externe Informationen oder Sensoreingaben erfolgen.

V steht für Verarbeitung. Die Eingaben werden verarbeitet, meist durchlaufen Sie ein Programm. Das Programm ist oft ein in Computersprache niedergeschriebener Algorithmus.\\ 

A für Ausgabe: Die Ausgaben erfolgen über den Bildschirm, einen Drucker oder das Senden der Ausgabeinformation an ein anderes System.

In diesem Kontext sollte nun eine Definition und die Eigenschaften eines Algorithmus folgen.

Definition:
Ein Algorithmus ist eine Folge von Schritten oder Anweisungen, mit der eine Aufgabe ausgeführt oder ein Problem gelöst wird. Oft enthält ein Algorithmus sich wiederholende Schritte, Entscheidungen zwischen zwei Schritten oder nach geordneten Schritten, oder auch Schritte, die sich auf den Algorithmus beziehen oder Teilaufgaben erledigen bzw. Teilprobleme lösen. (Quelle: Programmieren ganz einfach, Die Basics für Einsteiger Schritt für Schritt, dk-Verlag, Deutsche Ausgabe 2020 München)

Eigenschaften eines Algorithmus

Damit Algorithmen befolgt (oder auch programmiert) werden können, müssen sie die folgenden Eigenschaften aufweisen:

Eindeutigkeit. Ein Algorithmus darf keine widersprüchliche Beschreibung haben. Diese muss eindeutig sein. Im Muffinsrezept müssen die Mengenangaben genau (nummerisch, in Gramm o.ä.) sein. Dies ist eine Schwierigkeit bei der Faltaufgabe. Der Text muss eindeutig sein.

Ausführbarkeit. Es darf im Algorithmus nie eine Stelle geben, die nicht ausführbar ist (durchlaufen werden kann). Der nächste Backschritt-, Faltschritt oder Rechenschritt muss klar definiert und „bearbeitbar“ (also ausführbar) sein.

Terminierung. Der Algorithmus muss ein Ende haben. Es darf lange dauern, aber es muss endlich sein, da sonst eine vollständige Bearbeitung (ein vollständiges Durchlaufen der Arbeitsanweisungen nicht möglich ist.)

Determiniertheit(Bedingtheit). Dies bedeutet in unserem Zusammenhang, dass ein Algorithmus bei gleichen Voraussetzungen stets das gleiche Ergebnis liefern muss. Er kann somit nicht einfach mit der gleichen Eingabe zwei verschiedene Ergebnisse ausgeben. Die Faltanleitung muss immer (mehr oder weniger genau) das gleiche Faltergebnis liefern.

Determinismus (Bestimmtheit). Es muss zu jedem Zeitpunkt während der Ausführung des Algorithmus nur eine Möglichkeit bestehen, den Algorithmus fortzusetzen. Als Leser bzw. ausführende Person (oder auch eine Maschine) eines Algorithmus darf man somit nie vor einer Wahl stehen.

Aufgabe E Diskutieren Sie anhand dieser Definition zu zweit, ob die folgenden Aussagen wahr oder falsch sind.

  1. Aussage: „Algorithmen sind allgegenwärtig, sogar beim Wählen des Waschprogramms der Waschmaschine.“
  2. Aussage: „Ein Algorithmus sagt uns genau, wie wir etwas in welcher Reihenfolge ausführen sollen. Der Algorithmus ist so klar, dass wir nie selber entscheiden müssen.“
  3. Aussage: „Für viele Herausforderungen oder Probleme könnte ein guter und passender Algorithmus die Lösung sein.“

Aufgabe F
Untersuchen Sie die drei Beispiele (Aufgabe A bis C), wie die Aufgaben die oben aufgelisteten Eigenschaften erfüllen oder wo dies nicht der Fall ist.

Aufgabe G
Gegeben ist das folgende Diagramm (ein sogenanntes Aktivitätsdiagramm). Eine Spielfigur steht beim Pfeilsymbol im Labyrinth (Startposition).

  1. Auf welchem Weg verlässt die Figur das Labyrinth, wenn Sie diesen Algorithmus nutzt? (Papierversionen des Labyrinths liegen bereit). Arbeiten Sie zu zweit.
  2. Wie muss das Labyrinth oder die Startposition oder beides verändert werden, damit dieser Algorithmus nicht mehr zum Ausgang führt? Hierbei darf der Ausgang des Labyrinths nicht aufgehoben werden, was die triviale Antwort auf die Frage wäre.
Labyrinth Aktivitätsdiagramm

Aufgabe H
Erstellen Sie ein Aktivitätsdiagramm für die Aufgabe A). Eine Übersicht der Elemente finden Sie auf dem Spickzettel.
Spickzettel

Zusatzaufgabe

  1. Zwei bekannte Algorithmen sind der PageRank-Algorithmus oder der Dijkstra-Algorithmus. Informieren Sie sich, welche Aufgaben diese Algorithmen übernehmen bzw. welche Probleme diese lösen.
  2. Was haben Algorithmen mit personalisierter Werbung oder Chatbots zu tun? Erklären Sie!

Weiter

  • gf1/programmieren1.1682941690.txt.gz
  • Zuletzt geändert: 2023/05/01 13:48
  • von marroc