gf1:programmieren1

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
gf1:programmieren1 [2023/04/23 20:59] – angelegt marrocgf1:programmieren1 [2024/05/17 08:30] (aktuell) marroc
Zeile 2: Zeile 2:
 ==== Ein Algorithmus - was ist das? ==== ==== Ein Algorithmus - was ist das? ====
  
-=== Einstiegsaufgabe ===+=== Drei Aufgaben zum Einsteigen: ===
  
-<WRAP center round todo 80%+Bearbeiten Sie die verschiedenen Aufgaben: 
-**Aufgabe 1**\\  +<WRAP nicebox green
-Lösen Sie diese Aufgabe schriftlich direkt in OneNote! +**Aufgabe A**\\  
-a) Führen Sie die folgende Rechenanleitung durch … ohne Taschenrechner;-) \\  +Führen Sie die folgende Rechenanleitung durch … ohne Taschenrechner;-) \\ 
-<WRAP center round box 80%>+
   - Wählen Sie eine Zahl zwischen 1 und 9.   - Wählen Sie eine Zahl zwischen 1 und 9.
   - Verdoppeln Sie die Zahl.   - Verdoppeln Sie die Zahl.
Zeile 18: Zeile 17:
   - Subtrahieren Sie die letzten beiden Zahlen Ihres Jahrganges (z.B. bei 1991 subtrahieren Sie 91).   - Subtrahieren Sie die letzten beiden Zahlen Ihres Jahrganges (z.B. bei 1991 subtrahieren Sie 91).
   - 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?    - 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? 
-Anmerkung: Falls sie vor dem Jahr 2000 geboren wurden, dann sollten Sie nicht 2100 sondern 2000 bezeihungsweise nicht 2101 sondern 2001 subtrahieren 
 </WRAP> </WRAP>
-b) Sie haben gerade eine Art "Algorithmus" ausgeführt.  +<WRAP nicebox green> 
-Diskutieren Sie kurz zu zweit, welche "Eigenschaften" eine solche Anleitung (oder Algorithmus) haben mussum ausgeführt werden zu können+**Aufgabe B**\\  
 +  - Folgen Sie der Faltanleitung und falten Sie! Blätter sind vorhanden! {{youtube>mGFZ9WnEbjI}} 
 +  - Ö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 schwierigam Verfassen dieses Textes und warum?
 </WRAP> </WRAP>
 +
 +<WRAP nicebox green>
 +**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!)
 +{{youtube>fKE1OXrqG7A}} 
 +</WRAP>
 +
 +<WRAP nicebox green>
 +**Aufgabe D**\\ 
 +Beantworten Sie folgende Fragen:
 +  -  Was haben die Aufgaben gemeinsam? 
 +  -  Finden sich überall Algorithmen? 
 +  -  Warum bzw. warum nicht? Was genau ist der Algorithmus, den ersten beiden Aufgaben?
 +</WRAP>
  
 === Was ist ein Algorithmus? === === Was ist ein Algorithmus? ===
 +== Das EVA-Prinzip ==
  
-<WRAP center round box 100%>+Grundlage für einen Algorithmus ist das <color #75B7F7>E</color><color #60C291>V</color><color #609D3D>A</color>-Prinzip. 
 +{{ eva.png?direct&400|}} \\  
 + 
 +**<color #75B7F7>E</color>** 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.\\  
 + 
 +**<color #60C291>V</color>** steht für **Verarbeitung**. Die Eingaben werden verarbeitet, meist durchlaufen Sie ein Programm. Das Programm ist oft ein in Computersprache niedergeschriebener Algorithmus.\\  
 + 
 +**<color #609D3D>A</color>** 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. 
 + 
 +<WRAP nicebox blue>
 **Definition:\\  **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. <wrap lo>(Quelle: Programmieren ganz einfach, Die Basics für Einsteiger Schritt für Schritt, dk-Verlag, Deutsche Ausgabe 2020 München)</wrap>\\ ** 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. <wrap lo>(Quelle: Programmieren ganz einfach, Die Basics für Einsteiger Schritt für Schritt, dk-Verlag, Deutsche Ausgabe 2020 München)</wrap>\\
Zeile 42: Zeile 68:
 **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.)\\  **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. \\ +**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.  **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. 
  
-<WRAP center round todo 80%+<WRAP nicebox green
-**Aufgabe 2**\\  +**Aufgabe E** 
-Lösen Sie diese Aufgabe direkt in OneNote:\\ +Diskutieren Sie anhand dieser Definition  zu zweit, ob die folgenden Aussagen wahr oder falsch sind.  
-a) Schauen Sie sich die folgende Faltanleitung an! Wenn Sie wollen (freiwillig), können Sie Sie auch versuchen, nachzufalten (Blätter sind bei der Lehrperson vorhanden)! {{youtube>8fYIdBFDS3E}}  +  - Aussage: "Algorithmen sind allgegenwärtig, sogar beim Wählen des Waschprogramms der Waschmaschine." 
-\\ +  - Aussage"Ein Algorithmus sagt uns genau, wie wir etwas in welcher Reihenfolge ausführen sollenDer Algorithmus ist so klar, dass wir nie selber entscheiden müssen.
-b) Diskutieren Sie zu zweit, ob bei dieser Anleitung Ihrer Meinung nach die genannten Punkte (Eigenschaften von Algorithmen) erfüllt wurden, oder nicht! Überlegen Sie sich auch, was mit diesen Punkten genau gemeint ist und ob Sie diese verstehen.  +  - Aussage"Für viele Herausforderungen oder Probleme könnte ein guter und passender Algorithmus die Lösung sein."
- aEindeutigkeit: +
- b. Ausführbarkeit: +
- cTerminierung: +
- dDeterminiertheit: +
- eDeterminismus:+
 </WRAP> </WRAP>
- +<WRAP nicebox green
-== Das EVA-Prinzip == +**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.
-Grundlage für einen Algorithmus ist das <color #75B7F7>E</color><color #60C291>V</color><color #609D3D>A</color>-Prinzip. +
-{{ eva.png?direct&400|}} \\  +
- +
-**<color #75B7F7>E</color>** 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.\\  +
- +
-**<color #60C291>V</color>** steht für **Verarbeitung**. Die Eingaben werden verarbeitet, meist durchlaufen Sie ein Programm. Das Programm ist oft ein in Computersprache niedergeschriebener Algorithmus. +
- +
- +
-**<color #609D3D>A</color>** 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. +
- +
-<WRAP center round todo 80%> +
-**Aufgabe 3 Darstellungsformen von Algorithmen**\\ +
-aIm Film sehen Sie ein Muffinsrezept. Es wird aufgezeigtwas dieses mit Algorithmen zu tun hat. Schauen Sie sich das Video an, machen Sie sich Notizen zu den verschiedenen Diagrammelementen.  +
-{{youtube>fKE1OXrqG7A}}  +
-b) Versuchen Sie selber ein solches Flowchartdiagramm (Aktivitätsdiagramm) zu zeichnen zum Ablauf des Kochens von Spaghetti. Setzen Sie hierbei die korrekten Diagrammelemente ein (siehe Notizen zum Film):  +
-  * Startsymbol +
-  * Rechtecke für konkrete Handlungen / Aufgaben / Operationen +
-  * Raute (<>) für Selektion, also Entscheidungen +
-  * Fügen Sie zusätzlich ein Ende-Symbol ein (Kreis mit "Ende")+
 </WRAP> </WRAP>
- +<WRAP nicebox green
- +**Aufgabe G**\\ 
- +
- +
-<WRAP center round todo 80%+
-**Aufgabe 4**\\ +
 Gegeben ist das folgende Diagramm (ein sogenanntes Aktivitätsdiagramm). Eine Spielfigur steht beim Pfeilsymbol im Labyrinth (Startposition).  Gegeben ist das folgende Diagramm (ein sogenanntes Aktivitätsdiagramm). Eine Spielfigur steht beim Pfeilsymbol im Labyrinth (Startposition). 
   - Auf welchem Weg verlässt die Figur das Labyrinth, wenn Sie diesen Algorithmus nutzt? (Papierversionen des Labyrinths liegen bereit). Arbeiten Sie zu zweit.   - Auf welchem Weg verlässt die Figur das Labyrinth, wenn Sie diesen Algorithmus nutzt? (Papierversionen des Labyrinths liegen bereit). Arbeiten Sie zu zweit.
Zeile 96: Zeile 92:
 | {{labyrinth_aktuell.jpeg?direct&400 |}} | {{ aktivitaetsdiagrammlabyrinth.png?direct&800|}} |  | {{labyrinth_aktuell.jpeg?direct&400 |}} | {{ aktivitaetsdiagrammlabyrinth.png?direct&800|}} | 
  
 +</WRAP>
 +<WRAP nicebox green>
 +**Aufgabe H**\\
 +Erstellen Sie ein Aktivitätsdiagramm für die Aufgabe A). Eine Übersicht der Elemente finden Sie auf dem Spickzettel.\\ 
 +** Spickzettel** {{ aktivitaetsdiagramm_spickzettel.png?direct&300|}} 
 </WRAP> </WRAP>
  
- +<WRAP nicebox green
- +**Zusatzaufgabe **\\
-<WRAP center round todo 80%+
-**Freiwillige Zusatzaufgabe 5: Berühmte Algorithmen**\\+
   - 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.   - 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.
   - Was haben Algorithmen mit personalisierter Werbung oder Chatbots zu tun? Erklären Sie!   - Was haben Algorithmen mit personalisierter Werbung oder Chatbots zu tun? Erklären Sie!
Zeile 107: Zeile 106:
  
  
 +[[gf1:programmieren2|Weiter]] 
  • gf1/programmieren1.1682276358.txt.gz
  • Zuletzt geändert: 2023/04/23 20:59
  • von marroc