Informatikaufgabe 1

Angeregt durch den Halbtagsblog von Herrn Klinge fühle ich mich angesport auch eine regelmäßige Aufgabenidee zu liefern. Bei Herrn Klinge ist der Donnerstag immer der Fermi-Tag. Man bekommt also Mathematikaufgaben, die immer sehr vage von den Größenangaben sind und daher sinnvoll geschätzt werden müssen. Die bekannteste der Fermi-Fragen ist wohl diese hier:

Wie viele Klavierstimmer braucht eine Großstadt wie …. ?

Vor Jahre hatte ich in einer fünften Klasse mal eine ähnliche Aufgabe bearbeitet, als wir beim Thema Maßstab waren. Ich organisierte einen Plan der Theresien-Wiese in München  und versuchte mit der Klasse folgendes zu schätzen:

Wie viele Besucher (ohne Polizei) passen auf die Wiesn, also das Oktoberfest?

Am Ende kamen wir auf sehr gute sechs Millionen pro zwei Wochen.

Ich habe die letzten Tage nun überlegt, welches Thema in meinem Blog regelmäßg auftauchen könnte. Ein Thema, zu dem mir genug einfallen könnte und von dem Kollegen auch was haben. Heute, in der ersten Stunde nach den Sommerferien in der zwölften Klasse, hatte ich die Idee: Kleine Programmier- bzw. Informatikaufgaben.

Immer wieder stehe ich nämlich vor dem Problem, dass die Aufgaben in Büchern meist viel zu komplex, zu lang, zu schwierig oder eine beliebige Teilmenge dieser drei Probleme sind. Denn im Unterricht habe ich nicht nur die Leute, die gerne und vielleicht auch viel Programmieren. Gerade in der Oberstufe habe ich immer wieder Schüler, die hoffen nicht soviel lernen zu müssen und dennoch eine gute Note zu bekommen. Aber wer nicht übt, hat auch in der Informatik Probleme. Gerade beim Programmieren! Das ist wie bei jeder anderen Sprache. Nur Vokabeln zu lernen bringt wenig. Sprachen wollen frei benutzt werden. Daher bin ich um kurze, knappe und gut kalkulierbaren Programmieraufgaben immer wieder dankbar.

Damit die Aufgaben besser in den eigenen Unterricht eingeordnet werden können, werde ich sie passend zum bayerischen Lehrplan einordnen. Und soweit nicht anders angegeben, setze ich Java voraus, wobei meist problemlos andere Programmiersprachen ebenso gewählt werden können. Manchmal wären andere Sprachen sogar eleganter oder kürzer.

Die heutige Programmieraufgabe lautet:

Aufgabe 1

Schreibe ein Programm, das alle Wörter über einem Alphabet bis zu einer vorgebenen Anzahl an Zeichen ausgibt.

 

Beispiel Lautet das Alphabet {a,b,c}, so sollte das Ergebnis bei Wörtern bis zur Länge 2 wie folgt lauten:

a,b,c,aa,ab,ac,…cc

 

Tipps und Anregungen

  1. Die Aufgabe lässt sich sowohl rekursiv als auch iterativ lösen. Wobei letzteres aufgrund der beliebigen Länge der Wörter schwierig ist.
  2. Im Zusammenhang mit Rekursionen kann man nochmal über die Rekursions-Arten sprechen.
  3. Später lässt sich das Programm im Bereich Laufzeit von Algorithmen nochmals verwenden.

Wer Lust hat, kann natürlich hier Lösungsvorschläge anbieten oder diskutieren. Ich selbst werde aber keine Lösung präsentieren, da es in der Informatik ja immer mehrere Wege zum Ziel gibt. Aber wer Probleme mit der Aufgabe hat und eine Tipp braucht, bekommt ihn natürlich.

Jetzt aber erstmal viel Spaß beim Programmieren oder Programmieren lassen.

Beteilige dich an der Unterhaltung

3 Kommentare

    1. So geht mir das auch. Gerade, wenn die Aufgaben ganz kurz sind, will ich es geschwind machen mal machen und brauche dann länger.

      Meine Schüler haben es als Hausaufgabe dann noch fertig gemacht. Manche sogar mit GUI. Da kann man in einem Textfeld die Buchstaben eingegeben und in einem zweiten werden dann die Kombinationen ausgegeben. Einer hat auch gleich eine Zeitmessung eingebaut. Schön, wenn es begeisterte Schüler gibt!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Durch die weitere Nutzung der Seite (Scrollen, Navigieren) stimmen Sie der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen