Category: Programmieren

Lernsequenz mit Scratch

Von roth, 29. Oktober 2009 20:06

Auf dem sächsischen Bildungsserver gibt es eine Sammlung von Arbeitsblättern zum Programmieren mit Scratch. Im Paket enthalten ist die Sequenzplanung und auch eine Leistungskontrolle.

Schönes Werkzeug zur Veranschaulichung von Algorithmen

Von roth, 29. Oktober 2009 19:50

Auf dem sächischen Bildungsserver habe ich heute ein schönes Flashprogramm zur Veranschaulichung von einfachen Algorithmen gefunden.

Moodlekurs – Scratch

Von roth, 29. Oktober 2009 11:13

Für Gäste zugänglicher Moodlekurs auf www.hswieselburg.ac.at, der in 10 Schritten durch Scratch führt.

Scratchcards deutsch

Von roth, 13. August 2009 07:41

Auf brandhofer.cc gibt es ins Deutsche übersetzte Scratchcards, mit deren Hilfe die Schüler selbständig versuchen können ihnen gestellte Aufgaben zu lösen.

Daneben gibt es noch weitere Artikel, unter anderem ein Leitfaden, zu Scratch.

Einfaches Ampelprojekt mit Scratch

Von roth, 13. August 2009 07:35

Bei dieser einfachen Umsetzung einer Ampel geht es darum, dass ein Auto anhalten soll, wenn die Ampel auf Rot geschaltet wird und wieder fahren soll, wenn sie auf Grün geschaltet wird. Das Ganze wird über die Variable ampel gelöst, die den Wert 0 enthält, wenn die Ampel grün ist, und den Wert 1, wenn die Ampel rot ist. Die Fahrt des Autos wird über “wiederhole falls” gelöst. Das Auto fährt also nur, falls die Variable Ampel den Wert 0 enthält.
Das Programm stammt von akhof.
Erfahre mehr über dieses Projekt

Deutschsprachiges Scratch-Forum

Von roth, 13. August 2009 07:24

Das deutschsprachige Scratch-Forum bietet viele Informationen rund um die Programmierumgebung Scratch.

Übungen und Beispiele für Scratch

Von roth, 13. August 2009 07:20

iLearnIT.ch bietet Übungen und Beispiele für Scratch an. Die Programme, welche von iLearnIT.ch entwickelt wurden, sind frei verfügbar auf http//scratch.mit.edu/users/iLearnIT.

Einstieg in die objektorientierte Programmierung mit BlueJ

Von roth, 27. Juli 2009 19:45

Uli Pieper stellt Unterrichtsmaterial zum Einstieg in die objektorientierte Programmierung mit Java und BlueJ zur Verfügung.

Animierte Sortieralgorithmen

Von roth, 19. Juli 2009 07:41

Auf http://www.sorting-algorithms.com/ kann man verschiedene Sortieralgorithmen in Animationen verfolgen und miteinander vergleichen.

BlueJ-Projekte für den Informatikunterricht

Von roth, 4. Juli 2009 08:22

Auf dem bayerischen Schulserver wurden einige BlueJ-Projekte für den Informatikunterricht (Gymnasium 10,11) zusammengestellt.

Programmierung eines einfachen Ticketautomaten

Von roth, 2. Juli 2009 15:44

Der folgende einfache Ticketautomat wird im Informatikunterricht der Klasse 8 mit Mediator programmiert. Der Ticketautomat verkauft vier verschiedene Tickets mit jeweils festem Preis. Es können diverse Cent-Beträge eingeworfen werden.

http://www.oal-info.de/wp-content/plugins/downloads-manager/img/icons/winzip.gif Download: Einfacher Ticketautomat - Mediator 9 (71.61KB)
Verfügbar seit: 02/07/2009
So oft heruntergeladen: 188
Beschreibung: Die ZIP-Datei beinhaltet die md8-Datei für Matchware Mediator 9 sowie die SWF-Datei des exportierten Projektes. Der Ticketautomat kann vier Tickets zum Festpreis verkaufen.

Didaktische Anmerkungen

Man kann das Ganze auch als offene Aufgabenstellung vorgeben:
Erstellt einen Ticketautomaten, der vier Tickets zum festen Preis (evtl. vorgeben) verkaufen kann. Der Kunde kann folgende Beträge einwerfen … Überlegt euch, was ihr alles braucht um diesen Ticketautomaten mit Mediator umzusetzen.

Mögliche Erweiterungen:

    • Anzeige der Gesamtsumme, des bisher eingeworfenen Geldes
      Möglichkeit den Ticketautomaten zu leeren.
      Erweiterung um eine Bedienoberfläche für den Automatenbesitzer: Änderung der Ticketpreise ermöglichen, Automaten leeren
  • Da alles mit Mediator umgesetzt wird, werden die Begriffe der Objektorientierung nicht verwendet. Es ist mit Mediator schwierig von Klassen und Objekten, sowie von Methoden und Konstruktoren zu sprechen. In der neunten Klasse würde ich dann, sowie es im Buch “Java lernen mit BlueJ” angeführt wird, z.B. entweder mit Visual C# oder mit BlueJ ebenfalls mit einem Ticketautomaten arbeiten um die grundlegenden Begriffe der objektorientierten Programmierung einzuführen.

    Tutorial zur Umsetzung

    Wir wollen einen einfachen Ticketautomaten programmieren.



    Der Ticketautomat soll


    • vier Tickets anbieten


      • Ticket 1 => 75 Cent

      • Ticket 2 => 120 Cent

      • Ticket 3 => 185 Cent

      • Ticket 4 => 210 Cent

    • eine Schaltfläche zum Drucken des Tickets anbieten

    • anzeigen wie viel das Ticket kostet

    • anzeigen wie viel Geld bereits gezahlt wurde

    • eine Warnmeldung ausgeben, wenn versucht wird, das Ticket zu drucken, obwohl der eingeworfene Betrag noch nicht reicht

    • neben dem Automaten soll es Schaltflächen zum Einwerfen von 1, 2, 5, 10, 20, 50, 100 und 200 Cent geben

    • das gedruckte Ticket soll mit der Preisangabe für 4 Sekunden angezeigt werden

    • der Preis wird dann vom bezahlten Betrag abgezogen


    Mögliche Anordnung der Objekte auf der Seite:





    Welche Variablen werden benötigt?






    Auswahl eines Tickets







    Geld einwerfen => Beispiel 1 Cent



     

    Ticket drucken


     


     

    Anzeige des Tickets mit Hilfe einer Zeitleiste



     

    Anzeige der Rückmeldung bei nicht ausreichendem Betrag mit einer Zeitleiste




     

    Beim zweiten Eigenschaft setzen wird der Text auf “” zurückgesetzt.










    Java lernen mit BlueJ – Eine Einführung in die objektorientierte Programmierung

    Von roth, 30. Juni 2009 08:39


    Ich habe begonnen dieses Buch durchzuarbeiten und nach den ersten beiden Kapitel muss ich sagen, dass es ein absolut empfehlenswertes Buch für den Informatikunterricht ist. Besonders gut finde ich, wie hier von Anfang an die wesentlichen Konzepte und Begriffe der Objektorientierung eingeführt werden. Außerdem ist die durchgängige Verwendung der Entwicklungsumgebung BlueJ gerade für den Unterricht sehr von Vorteil.

    Deutschsprachiges Tutorial zu BlueJ

    Von roth, 26. Juni 2009 15:59

    Auf www.bluej.org gibt es ein deutschsprachiges Tutorial zum Umgang mit der Entwicklungsumgebung BlueJ.

    Geographie lernen – kostenloses Lernprogramm

    Von roth, 26. Juni 2009 08:43

    Warum stelle ich in meinen Informatikblog eine Geographielernsoftware? Das liegt nicht daran, dass ich Geographie studiert habe, sondern daran, dass ich das Programm auch als Anschauungsmaterial dafür hernehmen kann, einzelne Elemente mit den Schülern z.B. in Mediator 9 nachzubauen. Ich halte diese Idee hier einfach mal als Anregung für mich selbst aber auch für andere fest.
    Seterra – Lerne Geographie

    Unterrichtseinheit Mediator: Variablen, Eingabefelder

    Von roth, 21. Juni 2009 10:27

    Die folgende Unterrichtseinheit ist noch nicht vollständig. Ich werde sie noch weiter ergänzen.

    Inhalte die dabei gelernt werden sollten:

    • Was sind Variablen?
    • Welche Variablentypen gibt es in Mediator?
    • Wie kann ein Benutzer etwas in Mediator eingeben? (Eingabefeld)
    • Wie kann man eingegebenen Text in eine Zahl umwandeln?
      Vielleicht denkst du, dass das eine blöde Frage ist, oder? Wenn ein Benutzer eine Zahl in ein Eingabefeld eingibt, ist das für Mediator zunächst ein Text. Und mit Texten kann man z.B. nicht rechnen. Deswegen muss man dann diesen Text z.B. in eine Ganzzahl (mit der Funktion int) oder in eine Kommazahl (Funktion float) umwandeln.
    • Wie kann man in Mediator Texte ausgeben?
    • Wie kann man bestimmte Situationen unterscheiden (Fallunterscheidung: Wenn – Dann – Sonst)?
    • Wie kann man eine Zufallszahl erzeugen? (Funktion RND)

    Lernaufgaben mit denen diese Kenntnisse erworben werden sollen:

    1. Mehrwertsteuer berechnen

    Erstelle die folgende Seite mit Mediator:

    mwst1

    Erläuterung zum Programm:

    Der Benutzer soll bei Preis den Nettopreis eingegeben können. In die Eingabefelder MWST und Endpreis soll der Benutzer nichts eingeben können (Dazu muss bei den Eigenschaften der EIngabefelder das Häkchen bei “Nur lesen” gesetzt werden.)

    Wenn der Benutzer auf die Schaltfläche “Mit Variablen” klickt, soll mit Hilfe von Variablen die MWST und der Endpreis berechnet werden. Dies ist grundsätzlich auch ohne Variablen machbar, deswegen gibt es noch eine zweite Schaltfläche, hier sollen Mehrwertsteuer und Endpreis ohne Variablen errechnet werden.
    Beim Klick auf “Löschen” sollen alle Felder geleert werden.

    Version mit Variablen

    Variablen sind sogenannte Platzhalter. Man könnte sie auch als Schublade verstehen, in welche immer nur eine bestimmte Sache (entsprechend des Datentyps) gelegt werden kann.
    variablen

    Die Datentypen, die verwendet werden können, siehst du im linken Bild (in der Spalte “Typ”).

    Variablen des Typs “Text” (string) können nur Texte aufnehmen. Texte sind alle Zeichen, die über die Tastatur eingegeben werden können. Man kann in eine solche Variable natürlich auch Zahlen eingeben. Nur werden diese dann als Text behandelt, so dass man z.B. damit dann nicht rechnen kann.

    Der Typ Gleitkommazzahl (Float) nimmt Kommazahlen auf.
    Beispiele:
    1,5
    2,73

    Ganze Zahl (Integer):
    5
    275

    Wahr/Falsch => Kann genau zwei Werte annehmen, entweder True (wahr) oder False (Falsch)

    Objekt:
    Kann wieder Name schon sagt, ein Objekt abspeichern.

    Array (Feld): Ein Array kann mehrere Werte gleichzeitig abspeichern. (Dazu in späteren Stunden mehr)

    Was hat es mit der rechten Spalte “Bereich” auf sich?

    Global bedeutet, dass die Variable auf allen Seiten gültig ist.
    Lokal bedeutet, dass die Variable nur auf einer Seite (der momentan aktiven) gültig ist.

    Für die Aufgabe “Mehrwertsteuer” benötigst du die folgenden Variablen:
    variablen_mwst

    Wie sieht das “Programm” für die Schaltfäche “Mit Variablen” aus?
    mwst_mit_variablen
    Du siehst hier das Programm in der Script-Ansicht. Das hat den Vorteil, dass man alles auf einen Blick sieht.

    Zur Zeile 1:
    Zuweisen Preis = Float(Preis.text)
    Das fettgedruckt ist praktisch die Aktion die ausgeführt wird. Dannach siehst du die Zuweisung. Float(Preis.text) bewirkt, dass der Text des Eingabefeldes “Preis” in eine Gleitkommazahl umgewandelt wird. Über das = wird diese Gleitkommazahl dann der Variablen “Preis zugewiesen”.

    Zur Zeile 2:
    Zuweisen MWST = Format(0.19*Preis,”.2f”)
    Mit 0.19*Preis wird die Mehrwertsteuer berechnet. Mit der Funktion Format kann man die Gleitkommazahl beispielsweise auf zwei Stellen nach dem Komma formatieren. Dies passiert hier durch die Angabe von “.2f” (in der Klammer). Du kannst dir über die Hilfefunktion von Mediator noch genauer anschauen welche Möglichkeiten die Formatfunktion bietet.

    Zur Zeile 3:
    Hier wird der Variablen Endpreis das Ergebnis der Additon von Preis und MWST zugewiesen.

    Bis dahin sieht der Benutzer des Programms noch gar nichts von den Berechnungen. Das passiert dann in den folgenden Zeilen.

    Zur Zeile 4:
    Mit der Aktion Eigenschaft setzen kann man Eigenschaften der Objekte verändern. In der Zeile 4 wird die Eigenschaft “Text” des Eingabefeldes “MWST” gesetzt. So wird der Inhalt der Variablen MWST mit zwei Kommastellen ausgegeben.

    Zur Zeile 5:
    Hier passiert das Gleiche wie in Zeile 4, nur dass hier eben der Text des Eingabefeldes “Endpreis” ausgegeben wird.

    Version ohne Variablen

    mwst_ohne_variablen

    Die Version ohne Variablen kommt mit weniger Zeilen aus, als die Version mit Variablen. Man sieht aber, dass die Zuweisung in der Aktion “Eigenschaft setzen” stattfindet und dass dort sowohl die Formatierung als auch die Berechnung sowie die Umwandlung in eine Kommazahl integriert ist. Man sieht, dass es also bei umfangreicheren Berechnungen sehr schnell unübersichtlich werden kann. Deswegen sollte man die Arbeit mit Variablen bevorzugen.

    2. Spiel: Zahlenraten


    Spielidee: Ein Spieler soll eine Zahl (zwischen 1 und 1000), die sich der Computer zufällig ausgedacht hat, in möglichst wenig Versuchen erraten.



    a) Überlegt euch, was ihr alles dazu braucht, um dieses Spiel umzusetzen.





    Auf der Seite sind zwei Buttons. Einer davon ist unsichtbar und heißt “Nochmal”. Er wird erst am Ende des Spiels eingeblendet um ein neues Spiel starten zu können.



    b) Welche Variablen werden benötigt?






    Theoretisch kämen wir mit zwei Variablen aus: Zufallszahl (hier wird die vom Computer ausgedachte Zahl gespeichert) und Ratezahl (die vom Benutzer eingegebene Zahl).

    Allerdings wollen wir gerne mitzählen, wie viele Versuche der Spieler benötigt und wir wollen auch den Rekord speichern. Deswegen brauchen wir zwei weitere Variablen.

    Alle Variablen, die wir verwenden sind vom Typ Integer (ganze Zahl).



    c) erste Zufallszahl erzeugen



    Beim Start des Programms wird automatische eine Zufallszahl generiert (erzeugt)




    Mit der Funktion RND(1,1000) wird eine Zufallszahl zwischen 1 und 1000 erzeugt. Diese wird anschließend der Variablen Zufallszahl zugewiesen.

    Der Rekord wird auf 999 Versuche gesetzt.







    d) Was passiert beim Klick auf OK?



    Der in das Feld eingegebene Text wird in eine Ganzzahl umgewandelt und in der Variablen Ratezahl gespeichert. Anschließend wird verglichen ob die Zahl der Ratezahl entspricht, außerdem erhöhen wir die Zahl der Versuche um eins. Entspricht die Ratezahl der Zufallszahl, wird das Spiel beendet und eine Rückmeldung ausgegeben. Bei Beendung des Spiels wird überprüft ob ein Rekord vorliegt. Liegt ein Rekord vor, wird die Zahl der Versuche in der Variablen Rekord gespeichert. Die Schaltfläche OK wird ausgeblendet und die Schaltfläche “Nochmal” wird eingeblendet.

    Wenn die Ratezahl nicht der Zufallszahl entspricht, wird überprüft ob die Zahl zu hoch ist. Ist dies der Fall, wird ausgegeben, dass die Zahl zu hoch ist und um den wievielten Versuch es sich handelt. Ansonsten wird ausgegeben, dass die Zahl zu niedrig ist und ebenfalls die Anzahl der Versuche.




    Code der Schaltfläche “OK”






    Zeile:1

    Zuweisen bedeutet in einer Variablen einen anderen Wert abzuspeichern (= zuweisen). In diesem Fall wird der Variablen Versuche der letzte Wert + 1 zugewiesen. Im Klartext: Der Wert der Variablen wird um 1 erhöht.



    Zeile 2:

    Int(Eingabe.Text) => Der im Eingabefeld “Eingabe” eingegebene Text wird in eine Ganzzahl umgewandelt und anschließend der Variablen Ratezahl zugewiesen.



    In Zeile 3 beginnt eine Fallunterscheidung: es wird zunächst geprüft, ob die Ratezahl gleich der Zufallszahl ist. Ist dies wahr, dann (Zeile 4) geht es in Zeile 5 weiter mit der Überprüfung, ob Versuche kleiner Rekord ist. Ist das der Fall, wird der Wert der Variablen Versuche der Variablen Rekord zugewiesen.

    Ist dies nicht wahr, geht es in Zeile 12 (Else) weiter.



    Zeile 9 – 11:

    Es wird im Eingabefeld Feedback ein Text ausgegegeben.

    Der Button OK wird ausgeblendet.

    Der Button Nochmal wird eingeblendet.




    Zeile 12:

    Else (Sonst)



    Zeile 13:

    Es wird überprüft ob die Ratezahl größer als die Zufallszahl ist.

    Wahr: Zeile 15

    Falsch: Zeile 17



    e) Was passiert beim Klick auf “Nochmal”?




     

    Der Text im Eingabefeld “Feedback” wird geleert (“” = leerer String)

    Die Schaltfläche “Nochmal” wird ausgeblendet.

    Die Schaltfläche “OK” wird eingeblendet.

    Es wird eine neue Zufallszahl in der Variablen “Zufallszahl” gespeichert.

    Die Versuche werden auf 0 zurückgesetzt.

    Panorama Theme by Themocracy