ein vorschlag zum themenbereich · pdf filewas muss ein computer können, um ihren...

24
Übersicht Ein Vorschlag zum Themenbereich Algorithmen Beschreibung der allg. Zielrichtung und Informationen für Kollegen ........ S.1 Vorwort .................................................. S.3 Aufgabensammlung zum Thema Algorithmen im Anfangsunterricht ........ S.4 Lösungshinweise ............................................ S.9 1.Klausur (Schuljahr 2000/2001) ................................ S.20 Ziel: Bedeutung des Algorithmus zeigen; Beschreibung von Algorithmen angehen; dazu nötige Sprachelemente aus der Alltagswelt herausarbeiten und weiter präzisieren; Grundelemente von Programmiersprachen verdeutlichen; (Beachtung des Zusammenhangs mit den Datentypen, auf denen operiert wird) Verschiedenartigkeit von Sprachen verdeutlichen Wann: Zu Beginn der Klasse 12; sofort nach dem ersten Kennenlernen, erstem Umgang mit der vorhandenen Software bzw. parallel dazu. (Wechsel: Theorie/Arbeit am Computer) Wiederaufgreifen in 13: Die herausgearbeiteten Sprachelemente finden sich als WHILE-Sprache auch in der theor. Informatik wieder und zeigen sich äquivalent zu anderen zentralen Berechenbarkeitsmodellen. Effizienz von Algorithmen (Suchen, Sortieren) und Grenzen für Algorithmen. Wie: Ausgehend von Aufgaben (vgl. Skript/Aufgabenblätter) Umsetzung in einer Programmierwelt (Hamster, Turtle, Kara) Warum? Pro: Algorithmen stellen einen Ansatzpunkt aus der Erfahrungswelt der Schüler dar und gleichzeitig einen zentralen (zeitunabhängigen) Begriff der Informatik. Algorithmen als Einstieg in Sprachen und ihre Grenzen. "Programmieren als Allgemeinbildung", denn "zeitliche Abläufe streng zu spezifizieren, gehört im Zeitalter der IT zum allgemeinen gedanklichen Rüstzeug." (Prof. Nievergelt, ETH Zürich) Kontra: "Die Konstruktion von Software -im Großen wie im Kleinen- ist ingenieurmäßiges Tun und nicht allgemeinbildend. Programmieren in prozeduralen Sprachen wird immer unwichtiger." (z.B. Burkert, HIBS Wiesbaden)

Upload: vantruc

Post on 07-Feb-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Übersicht

Ein Vorschlag zum ThemenbereichAlgorithmen

Beschreibungder allg. Zielrichtungund Informationenfür Kollegen . . . . . . . . S.1Vorwort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S.3Aufgabensammlungzum ThemaAlgorithmenim Anfangsunterricht . . . . . . . . S.4Lösungshinweise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S.91.Klausur(Schuljahr2000/2001) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S.20

Ziel:BedeutungdesAlgorithmuszeigen;Beschreibungvon Algorithmenangehen;dazunötigeSprachelementeausder Alltagswelt herausarbeitenund weiter präzisieren;Grundelemente von Programmiersprachen verdeutlichen; (Beachtung des Zusammenhangs mitdenDatentypen,auf denenoperiertwird)Verschiedenartigkeitvon Sprachenverdeutlichen

Wann:Zu Beginn der Klasse12; sofort nach dem erstenKennenlernen,erstemUmgangmit dervorhandenenSoftwarebzw. paralleldazu.(Wechsel:Theorie/Arbeitam Computer)

Wiederaufgreifenin 13:Die herausgearbeitetenSprachelementefinden sich als WHILE-Spracheauch in der theor.Informatik wieder und zeigen sich äquivalent zu anderen zentralen Berechenbarkeitsmodellen.Effizienz von Algorithmen(Suchen,Sortieren)und Grenzenfür Algorithmen.

Wie:Ausgehendvon Aufgaben(vgl. Skript/Aufgabenblätter)Umsetzungin einerProgrammierwelt(Hamster,Turtle, Kara)

Warum?Pro:Algorithmen stellen einen Ansatzpunkt aus der Erfahrungswelt der Schüler dar undgleichzeitigeinenzentralen(zeitunabhängigen)Begriff der Informatik.Algorithmenals Einstiegin Sprachenund ihre Grenzen."Programmierenals Allgemeinbildung", denn "zeitliche Abläufe streng zu spezifizieren,gehörtim Zeitalterder IT zumallgemeinengedanklichenRüstzeug."(Prof. Nievergelt,ETHZürich)Kontra:"Die Konstruktionvon Software-im Großenwie im Kleinen- ist ingenieurmäßigesTun undnicht allgemeinbildend.Programmierenin prozeduralenSprachenwird immer unwichtiger."(z.B. Burkert, HIBS Wiesbaden)

Page 2: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Übersicht Seite2

Literatur/Material:Eine Orientierungbietenz.B.Appelrath/Boles/Claus/Wegener"Starthilfe Informatik" (1998)Stuttgart,TeubnerBauknecht/Zehnder "Grundlagenfür denInformatikeinsatz"(19965) Stuttgart,TeubnerGoldschlager/Lister "Informatik, einemoderneEinführung"(19903) München,Hanser

Kursskizze:Man kann in Anlehnung an Goldschlager/Lister den Zugang zu Algorithmen und der präzisenBeschreibungzeitlicher Abläufe als Einstieg in den Kurs nutzen. Dies ermöglicht eineparalleleArbeit ohneComputerwie auchmit Computer. vgl. Skript.Im rechnerunabhängigenTeil empfiehlt es sich den Begriff Spracheund nicht bereitsProgrammiersprachezu nutzen. Zu diesemfrühenZeitpunktsollte mandie UnterscheidungSyntax/ Semantiknoch nicht problematisieren.Das führt nur zu einer ÜberbewertungderSyntax-Regeln.Ziel sind aberAusdrucksweisen,allgemeingültige Sprachelemente.(vgl. Goldschlager/Lister:S.11-12oben(Computer,Algorithmus,Prozess,Prozessor)S.16 §1.2Prozessor,interpretierenS.20-23§1.4Bedeutungvon Algorithmen;S.32-35ein Alltagsalgorithmusund die schrittweiseVerfeinerungKl.13:S.94ff Aufwandsabschätzungen,KomplexitätS.79ff Grenzender Berechenbarkeit:Halteproblem,PKP,...)

-----

ErfahrungenAnfangsunterricht:(Alltagsalgorithmenund ProgrammierumgebungTURTLE)Es werden sehr schnell die drei wesentlichen Sprachelemente (Sequenz, Alternative, Iteration)herausgearbeitetsowiedie Modularisierung,die bereitsbei denerstenAlgorithmengenutztwird. Es entstehtdas Bedürfnis nach einer sinnvollen Notation. Schüler sind bereit dieNormsprachez.B. ausG/L zu übernehmen.Schülerfragensofort nach,bis zu welcherPrä-zision die Ausformulierunggehenmuss.

Die Rekursionwurde erst zu Beginn der Klassenstufe13 anhandgrafischerDarstellungen(Koch-Kurve,DrachenKurve,Streckenzeichnen,...) genutzt- wiedermittels der Turtle undanschließendauf nicht grafischeProbleme(z.B. Türmevon Hanoi,Quicksort,...) übertragen.Die Fakultätsollte hier nicht dasEinstiegsbeispieldarstellen.

Page 3: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Aufgaben Seite3

Algorithmen im Alltag und in der Informatik:

Im Gegensatzzur rasendenGeschwindigkeit,mit dersichEinsatzbereich,EinsatzartunddassichtbareUmfeld informatischerGeräteund Systemeverändern,mit der sich insbesondereSoftware-Updates gegenseitig (ver-)jagen, bleiben die Grundlagen der Informatik zeitlich fest.Einer dieser Grundpfeiler der Informatik ist der Algorithmusbegriff. Dieser bietetdarüberhinausdurch Analogien im Alltag und der Erfahrungswelt der Schüler einenAnknüpfungspunktfür den Unterricht und er bietet einensinnvollenAnknüpfungspunktanüberschaubarenProblemstellungen.DieserWeg soll hier beschrittenwerden.Zum einen durch einen Vorschlag für ein Schülerskript, das ausgehendvon Alltags-algorithmensich mit Grundlagender Informatik befasstund einen intuitiven Begriff derBerechenbarkeitsehrfrüh mitaufnimmt,zumanderendurcheineAufgabensammlung,die soangelegtist, dassanBeispielenausdemAlltag die wesentlichenSprachelementezur präzisenLösung algorithmisierbarerProbleme herausgearbeitetwerden - unabhängigvon einerspeziellenImplementationssprache.In diesenAlgorithmenwerdenvonAnfanganhandelndeObjekte identifiziert und herausgestellt.Hier bieten Turtle, Hamster,Roboter, ... einenÜbergangvon realenObjektenzu denender Informatik.Dies unterschiedetsich von Wegen,mit statischenund sehrabstraktenObjektenbeginnend(z.B. Textbereichen,Textdokumenten,... ) dem Schüler einen Zugang zur (statischen)Modellierungzu verschaffen.

Page 4: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Aufgaben Seite4

Aufgabensammlung:Algorithmen im Alltag und in der Informatik:

A1) Wörter suchen:ASDFERFGTHZJUKIJERTXTIERNKMENOAERSOIMMELKJHZRUINNVHMGSHEBOLEOKDFJRUEHZCCRBOHDARIIRGENSJISEREMIELIERNLPOUJNASHZRTEUFIFNEFEHSZEURKITAMROFNIASFAGREHZTUECJNBHEEIOWT

In solchenRätselnsind in einem oft quadra-tischen Feld Worte versteckt, die horizontal,vertikal oder diagonal (auch rückwärts) ge-schriebensind.In einem kleinen Feld lassen sich gesuchteWorte noch schnell selbst finden. Schon bei50x20Zeichenist esabersehrermüdend.ErläuternSiepräzise,wie SieeinenSuchknechtinstruieren, damit er alle verstecktenWortefindet. Verstecktwurdenfünf Worte:

Leim, Informatik, Abi, Kurs, EimerP.S.Sie sind auchin diesen20x8 Zeichenversteckt.Wie stellensie sich denSuchknechtvor?Könnten Sie die fünf Worte auch finden lassen, wenn nur bekannt ist, dassirgendwelchedeutschenWorte verstecktsind?

A2) Sprechersuchen:Für eine großeGruppevon Leuten ist ein Sprecherzu benennen.Die Gruppe einigt sich darauf, denÄltesten mit dieserAufgabe zu betrauen.ErläuternSie schriftlich, wie Sie denältestenermitteln.Lässtsich ihr Lösungsverfahrenauchnutzen,um diegrößtevon mehrerenZahlenzu bestimmen?

A3) Die Wahl-Aufgabe:Bei Wahlenmüssendie Stimmenzahlenanschließendin Sitze umgerechnetwerden.BeschreibenSie das oder ein Verfahren, nach dem diese Mandatsverteilung[inBaden-Württemberg]geschieht.Wo finden Sie geeigneteQuellen?Bei einerGemeinderatswahlam 7.5.2000wurdenfür die sechsangetretenenParteienfolgendeStimmenzahlenabgegeben:A B C D E F

20651 21716 8414 5304 4351 47848WelcheSitzverteilungerwartenSie bei 22 zu vergebendenSitzen?

A4) Die Abi-Aufgabe:Im Leitfaden für die gymnasiale Oberstufe steht im Abschnitt 5.3. über denAbiturprüfungsblock:"In den vier Prüfungsfächern müssenzusammenmindestens100 Punkte erreichtwerden. Dabei müssen in zwei Prüfungsfächern, darunter einem Leistungsfach,mindestensje 25 Punkteerreicht werden."GebenSie Beispiele an, in denendie geforderteQualifikation erreicht wird undsolche,in denensie nicht erreichtwird.GebenSieBeispielean, in denendie geforderteQualifikationnicht erreichtwird, der

Page 5: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Aufgaben Seite5

Schüler aber mehr als 100 Punkte im Abiturprüfungsblockhat. Geben Sie einextremesBeispielan,bei demdie gefordertenWertegradenicht erreichtwerden.SchreibenSiepräziseauf, wie Sieüberprüfen,ob ein SchülerdieseBedingungendesAbiturprüfungsblockeserfüllt.

A5) Auto-Anmeldung:VerbalisierenSie das grafisch dar-gestellteVerfahrenzur AnmeldungeinesPKW bei derZulassungsstelle.Bietet die grafische Darstel lungVorteile?

A6) Schemenund Regeln:Viele Vorgänge des täglichen Le-bens sind schematisiertund folgenfestenRegeln;ausGewohnheitundBequemlichkeit,wegenGesetzenundGebotenoderausinnererNotwendigkeit.DieseVorgängeähnelndamit Algorithmen.

a) BeschreibenSie möglichstpräzisedie Alltagsalgorithmen:- HerstelleneinerTelefonverbindung- Schaltenvom 1. in den2. Gang- BindenbeiderSchuhe- SucheneinesBegriffs im Lexikon- KochenzweierFrühstückseier

b) Woranscheitertdie Präzisionz.B. im letztenFall?

A7) Verschlüsselung:Sie tauschenhäufiger Mitteilungen aus z.B. über das Handy. Leider könnendiesekurzen Botschaftenauch von anderenFamilienmitgliedernoder Freundengelesenwerden,wenn sie gradedasHandy haben.Sie benutzendahereine Geheimschrift.Eine einfacheVer-

Unterscheidenicht zwischenGroß-und Kleinschreibung;Beginnemit demerstenZeichendesTextes;solangenochZeichenda sind wdh:

wenn esein Buchstabeaußer’z’ ist,dann ersetzeihn durchdenalphabetischnächsten,sonstwenn esein ’z’ ist,

dann ersetzeihn durch ’a’;wenn esein Satzzeichenoder Leerzeichenist,

dann übergehees.ende-solange

schl üssel ung f ürTexte könnte solauten:

Verschlüsseln Siedamit: ’Ein erster,kurzerTest.’Welche Schwächenhat das Verfahren?Geben Sie ein ande-res Verfahren an.WelcheEigenschaftensollte Ihr Verfahrenbesitzen?

A8) Leerstellen:In einemText sollenalle doppeltenLeerstellenentferntwerden.Wie gehtdas?WassetzenSie bei demvoraus,der Ihr Verfahrenausführt.

Page 6: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Aufgaben Seite6

A9) WelchederfolgendenProblemelassensichnachIhrer Meinungnicht durchAlgorith-menlösen?WarumglaubenoderwoherwissenSie dies?- Flicken einesLochsim Fahrradschlauch- BehebeneinerFahrradpanne- AddierenzweierBrüche- Lösender Mathe-GK-AbiaufgabeA1 von 1997- LöseneinerMathe-GK-Abiaufgabe- DasÜbersetzeneinesGeschäftsbriefes- DasFindeneinesFreundes/ einerFreundin- In der nächstenDeutsch-Klausur14 Punkteschreiben- Den Hungerauf der Welt beseitigen- Echtevon falschenEntschuldigungenunterscheiden- Echtevon falschenHunderternunterscheiden- Echtevon falschenFreundenunterscheiden- Echtevon falschenÜberweisungenunterscheiden- EinenSechserim Lotto erzielen- Durch Lotto-Spielenreich werden- DasSpieleneinerSonate- DasKomponiereneinerSonate- EinenHit produzierenWelche der Aufgabenstellungen sind nicht präzise? Welche können nicht präzise sein?

A10) Durchschnittsalter:"DasLehrerkollegiumwird immerälter!", klagenviele Kollegen(undSchüler?).Wiewürden Sie das Durchschnittsalterdes Kollegiums feststellen?Welche AngabenmüssenIhnenzur Lösungder Aufgabebekanntsein?SchreibenSie Ihr Vorgehenso auf, dassjedermanndanachin der Lage wäre, dasDurchschnittsalterdesKollegiumszu berechnenoderberechnenzu lassen.

A11) Der Sammel-RoboterDie Buchstaben(vgl. A1) liegeninnerhalbeines

ASDFERFGTHZJU******TIERNKMENOAERSO*****JHZRUINNVHMGSH*******FJRUEHZCCRBOHD*****ENSJISEREMIELIRE**OUJNASHZRTEUFIFNE*HSZEURKITAMROFNIASAGREHZTUECJNBHEEIOW

rechteckigenFeldes, das ein kleiner RoboterPlatz für Platz ablaufen kann. Er kann aberimmer nur das Feld direkt vor ihm betrachtenund den dortigen Buchstaben aufnehmen, identi-fizieren und sich merken. InstruierenSie ihn,die verstecktenWorte zu finden.Ein * markierteineunzugänglicheStelle.Was an der AufgabenstellungerscheintIhnenunpräzise?PräzisierenSie esggfs.Können Sie Ihr Lösungsverfahrenaus A1) oder Teile davon wieder nutzen?Wasändertsich?

b) ErläuternSie präzise,wie Sie denRoboterbeauftragen,um alle ’E’ in obigemFeldzu finden.Gibt esdazuverschiedenguteLösungen?NeuereRoboterkönnennunsogarum sichschauen.Ändernsich Ihre Lösungsanwei-sungendadurch?

Page 7: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Aufgaben Seite7

A12) GebenSie einenLösungswegan für dasSortierender NamenslistedesGK Informa-tik. Wie unterschiedetsichdasvom SortiereneinerbeliebigenNamensliste?WassindhierbeiEingabe-und Ausgabedaten?Wer verstehtIhren Lösungsweg?Gibt esandereLösungen?

A13) Prozessund Prozessor:Wasverstehtmanin der Informatik unterdemEVA-Prinzip?Welche Eingabedatenverarbeitet der Prozess"Frühstückseierkochen"? WelcheAusgabedatenliefert er?WelcheEingabedatenwerdenbeim BerechnendesggT benötigt?WelcheAusgabe-datenliefert der Prozess?Wer kanndasVerfahrendurchführen?Wie ist esbeimProzess"Beethovens5. spielen"?Sindhier die Eingabedatenpräzise?Wer ist der Prozessor?Warumstehtin diesenFragenjeweils ’Prozess’und nicht ’Algorithmus’?Wie unterscheidetsich der formulierte Algorithums, wenn Sie ihn für einen Kochbzw. für einenStrohwitweraufschreiben,der bishernie kochenmusste?

A14) Der häufigste Buchstabe:Es soll derjenigeBuchstabebestimmtwerden,der in einemTextstückam häufigstenauftaucht.ÜberlegenSie sich ein Verfahrenzur BestimmungdeshäufigstenBuch-stabens.Wasmussein Computerkönnen,um Ihren Algorithmusausführenzu können?Kann man diesen Algorithmus auf die Suche nach der häufigsten Buchstabenkombina-tion auszwei (drei) Buchstabenerweitern?Der größte Freiraum :Viele Buchstabenwerdenin dembetrachtetenTextabschnittdreifachodernochöfterauftreten.Dabei werdendie Vorkommeni.a. verschiedenweit voneinanderentferntsein.GebenSie ein geeignetesMaß für dieseEntfernungan.Als ’Freiraum’ einesBuchstabenswird nundie kleinstesolcheEntfernungfestgelegt.BeschreibenSie ein Verfahren, mit dem Sie den Buchstabenmit dem größtenFreiraumermitteln(lassen).WürdenSie den’Freiraum’ andersfestlegen?

Page 8: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Aufgaben Seite8

A15) Ein Rätsel:Wie gehenSie als Gruppedaran,diesenText zu entschlüsseln?GebenSie einen Weg an, auf dem Ihre Gruppedie Teil-Aufgabe aus dem 98er-Sommer-Rätselder ZEIT löst. Unterscheidetsich der Weg von dem,denSie alleineeinschlügen?

RM WRVHVI SZFKGHGZWGVRMVH AF QVMVI AVRG HVSIIVELOFGRLMHUIVFWRTVM OZMWVH DFIWV VRM RMHVOTVYLIVMVIUZHG-ADVIT RN OVGAGVM NLMZG WVH ZXSGAVSMGVMQZSISFMWVIGH VIHGVI PLMHFO (33) FMW YVSVIIHXSGV HKZVGVIUZHG TZMA VFILKZ. WVI SVIIHXSVI WVH TVHFXSGVM HGZZGVH RMVRMVI YVHGRNNGVM HGZWG RHG YRHXSLU (32) WRVHVI HGZWGFMW LYVISZFKG VRMVH DVOGIVRXSVH. ZM WRVHVN ELM VRMVNTVDRHHVM KSRORKK AFI SZFKHGZWGVIPOZVIGVM LIGIVHRWRVIGVM OZMTV AVRG HGZGG KIRMA(37)VM MFI RMUZMGVMFMW YVMZSNVM HRXS LUG TVMFT DRV HLOXSV. ZM WRVHVN LIGEVIGIRVY HRXS HL NZMXSVI KZKHG (38) ELM POVNVMH YRH TIVTLIWRV VCROAVRG AFNVRHG ZFU IVXSG ZMTVMVSNV DVRHV. SRVIDFIWV WVI YVIFVSNGV HLSM VRMVH YVIFVSNGVM EZGVIHTVYLIVM FMW HXSFU VRM NFHRPHGFVXPNRG WVN GRGVOHVRMVH PZRHVI(40)H.RM WRVHVI FMGVI WIVR EVIHXSRVWVMVMMZNVM YVPZMMGVM HGZWG VIOZT HL NZMXSVI KZHXSZ (39) DLSOAF LUG WVM EVIUFVSIFMTHPFVMHGVM HVRMVI SZIVNHWZNVM,DZH NRG VRM TIFMW WZUFVI DZI, WZHH WZH LHNZMRHXSV IVRXSHKZVGVI AFN VIORVTVM PZN. MVSNVM HRV WVM PFVIAVHGVMMZNVMI WRV RM HGVGGRM TVYLIVMV HLKSRV SVRIZGVGV ZMWRVHVN LIGV VRMVM TVDRHHVM KVGVI, DZH RSI HKZVGVI WRVNLVTORXSPVRGYLG, FMGVI ZMWVIVN ELIMZNVM ZOH AZIRM (34)YVIFVSNG AF DVIWVM. WRVHV ZOH EVGVIZMVMPLOLMRV FMGVIWVN MZNVM XZVHZIZFTFHGZ ELM VRMVN PZRHVI (40)TVTIFVMWVGV HGZWG YVUZMW HRXS OZMTV AVRG FMGVI WVISVIIHXSZUG ELM PZORUVM, WVIVM GRGVO WVN HFOGZM (36) RNLHGIVRXS VMGHKIZXS. VRM VCHXSZFHKRVOVI ZTRVIGV ZM NbWRVHVN LIG OZVMTVIV AVRG ZOH YRHXSLU (32), YVELI VIHKZVGVI DVTVM VRMVI YVHHVI WLGRVIGVM ILOOV MZXS HFVWVMTRMT. SRVI YIZXSGV VRM IVXSG ZFUNFVKURTVI QFMT-PZRHVI (40)HVRMVM PZMAOVI (31) UZHG AFI EVIADVRUOFMT FMW OVGAGORXSAFN NVSI LWVI DVMRTVI VIADFMTVMVM IFVXPGIRGG, WVI ZOH"ZYTZMT WVH OLGHVM" DVOGDVRG YVPZMMG DFIWV. VRM ZFUVRMVN HXSOLHH YVR SZMMLEVI TVYLIVMVI UIVRSVII (35), WVI ZOHYVMRNNLMPVO TZMAVI TVMVIZGRLMVM YVPZMMG DFIWV, HGZIYRM WRVHVI SZUVMHGZWG.Quelle: (ZEIT-Magazin4.10.98)

Page 9: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Lösungshinweise Seite9

Lösungshinweise:

Ziel der Aufgaben:Häufig ist es sinnvoll, sich auf wenige Beispielezu beschränkenund diesein dieTiefe zu besprechen.Die AufgabenbeispieleA1-A14 sindnicht dafürausgelegt,dassdie Schülerzu diesemfrühen KurszeitpunktbereitszugehörigeLösungsalgorithmenauf demRechnerrealisieren.Die AufgabensollendazuAnlassgeben,Lösungsalgo-rithmenzu finden,zu beschreiben,zu vergleichen.Bei diesenVergleichensollendieSprachelementeSEQUENZ,VERZWEIGUNG und WIEDERHOLUNG herausgear-beitetwerdensowiedie PROZEDURalsersteMöglichkeit einerModularisierungvonProblemlösungen.Natürlich bieten sich zu den Aufgaben A1,A2,A4,A7,A10,A11,A12,A14 Lösungen aufdemComputermittels einerProgrammiersprachean.Viele dieser Aufgaben können von den Schülernspäter in Programmiersprachenumgesetztwerden.Hier im frühen Stadiumkönnenfertige Programmezur Veran-schaulichunggenutztwerden.Der Schülerarbeitetals Programm-Benutzerund alsGestalter(umgangs-)sprachlicherLösungen,nicht als Gestalterin einer Program-miersprache.Man kannhierbeiauchschonQuelltextebetrachten.Diesbietetsichvorallem an, wenn sie die gleiche Idee nutzen,wie die sprachlichenLösungsformu-lierungender Schüler.Diesewird mandannim Programmtextzu identifizierenver-suchen.

Präzisionsniveau:Generellwerdendie Antworten verschiedenePräzisierungsebenenenthalten,die imGesprächverdeutlichtwerdenkönnen.Dabei ist immer wieder zu klären: WelcheVoraussetzungenmussder Prozessormitbringen,also derjenige,der dieseAnwei-sungenausführensoll.Da zu diesemZeitpunkt keine Umsetzungin eine Programmiersprachegeplantist,wird dasPräzisionsniveaunicht daseinerProgrammiersprachesein.Alle vorgeschlagenenLösungsverfahrenwerdenzuerstdaraufuntersuchtwerden,obsie korrekt sind, d.h. in allen (erlaubten)Fällen funktionieren. Dabei erscheinensprachlicheFormulierungenwie ’bei Fehleingabenwird nichtsuntersucht’oder’dannwird abgebrochen’zulässigund sogarsinnvoll.

Besonderheitenbei denSprachelementen:Es tauchensehr rasch die drei konstituierendenSprachelementeauf. Die Sprach-elementeVerzweigungund Wiederholungwerdeni.a. verschiedenartigumschrieben.Häufig ist einealltagssprachlicheUmschreibungderVerzweigungzu finden,die sichnicht ganzmit der programmiersprachlichendeckt:

Prüfe,ob ...Wennja, dann...Wennnein,dann...

wenn ...dann ...sonst ...

ist zu übertragennach:

Man vereinbart,dassdie Frage,die Prüfung mit wenn eingeleitetwird.

Damit können"Wenn ja..." sowie"Wenn nein..." entfallen.

Page 10: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Lösungshinweise Seite10

Zu deneinzelnenAufgaben:

A1) Es gibt Lösungen,die ein Wort nachdem anderensuchenund solche,die alle fünfWorte ’auf einmal’ suchen.Insbesonderebei den ’Lösungendurch Draufschauen’sollte man versuchenherauszuarbeiten,was beim Draufschauenalles passiert.Mannutzt bereits ein Modularisierungskonzept,indem die Details unter der Hülle desDraufschauenssubsummiertwerden.

SucheLEIM:SuchenacheinemL.Wenn(1) du ein L gefundenhast,dannbetrachtedie vier Nachbarfelder.

Wenn du ein E(2) gefundenhast,dann gehein dieseRichtung(3) noch zweiSchritte weiter. Wenn dabei I und M auftauchen,dann ist das Wort LEIMgefunden,sonstnicht.

Wenndu kein L gefundenhast,danngibt esdasWort LEIM nicht.

Sucheein Wort:Durchsucheder Reihenachalle Zeilen von der erstenbis zur letzten;

innerhalbeinerZeile jeweils von links nachrechtsSpaltefür Spalte.Prüfedabeijeweils(4), ob der Anfangsbuchstabe(desWortes)vorliegt.

JA: prüfe,ob in der Umgebung(5) der 2.BuchstabevorliegtJA: prüfe,ob in gleicherRichtung(6)der 3.Buchstabevorliegt

JA: ....(7)

BIS alle Buchstabenin einerRichtunggefundenNEIN: nächsteSpalteauf Anfangsbuchstabenprüfen.

Bemerkungen:(1): Hier kanndie grafischeDarstellungverdeutlichen,dassdie letzteZeile ’Wenn dukein L...’ denAlternativzweigsonstdarstellt.(2): Ggfs nachfragen:Wasist, wennmehrereE auf denNachbarfeldernvorkommen?(3): Eine Beschreibungder Richtung auf Gitterebeneist nicht notwendig,wenn einMenschals Prozessorfungiert.(4): Damit wird die Wiederholungverdeutlicht.(5): Hierbei ist der Begriff Umgebungweiter zu präzisieren.(6): Gemeint ist dabei ’direkt anschließend’.Es wird aber nicht gesagt.So etwaspassiert häufig in Arbeitsaufträgen. Es werden unausgesprochene (für denAuftraggeber selbstverständliche)Annahmen verwendet.Dies kann zu Missver-ständnissenführen.(7): Die Pünktchenbilden zusammenmit dem Schlüsselwortbis die noch sehrunscharfeWiederholungsformulierung.

Weiter präzisierteLösung:für alle Zeilen von der erstenbis zur letztenwdh:

für alle Spaltender aktuellenZeile von der erstenbis zur letztenwdh:wenn Anfangsbuchstabe(desWortes)vorliegt,

dann suchedie vier Nachbarfelderab(2)

wenn hier der 2.Buchstabevorliegt,dann gehein gleicheRichtungweiter;(1)

wenn der 3.Buchstabevorliegt,dann gehein gleicheRichtungweiter; ...

Page 11: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Lösungshinweise Seite11

dasist zu wiederholenbis dasWortendeerreichtistoder dasBuchstabenfeldzu Endeist(3)

sonst ist nichtszu tun; d.h. zur nächstenSpaltegehen.

(1): Sobaldder zweite Buchstabegefundenist, wiederholensich die immer gleich-artigenPrüfungenauf dennächstenBuchstaben.Die Umwandlungdieserwiederkeh-rendenPrüfungen(=Verzweigungen)in die Schleifenbedingungfällt häufig nichtleicht. Bereitsan dieserStelle lässtsich daraufeingehen.Das ’wenn’ innerhalbdesSchleifenkörpersist überflüssig.(2): Hierbei ist ’Suche die vier Nachbarfelderab’ wieder eine verborgeneWieder-holungsanweisung.(3): Nach dem Ende dieserSchleife ist zu prüfen, wieso sie beendetwurde, da siedurcheinezusammengesetzteBedingungüberwachtwurde.Auf diesemPräzisionsniveauwird nicht erläutert,wie erreichtwird, dassder jeweilspassendeBuchstabedesSuchwortesim Vergleichverwendetwird.

Man kann die Lösungenauchgrafischdarstellen.Teillösungenkönnenz.B. so aus-sehenunddabeiauchverdeutlichen,dasssiebei vielenDetailsvor allemdazudienenkönnen,hierarchischeOrdnungensichtbarzu machen.

Die rechts skizzierte Verfeinerungenthält nur den erstender vier nötigen Teile.Anschließendsind genausodie andern drei Richtungenzu untersuchen.In denStruktogrammenwerdendie durchzuführendenPrüfungen,die Bedingungennicht sodeutlich, wie sie zur Umsetzungin eine Programmiersprachewerdenmüssen.Daskannan dieserStelleherausgearbeitetwerden.Ebensoist zu klären, wo (im Buchstabenfeld)dasVerfahrenweitergeht,ob nachdemFindeneinesWortesaufgehörtwird (ist eszweimalvorhanden?).

Page 12: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Lösungshinweise Seite12

A2) SprechersuchenDas Verfahrendazukann genausoauch für dasFindender größtenbzw. kleinstenZahl angewandtwerden.

Idee1:TurniermethodeSie funktioniert wie dask-o-Systemz.B. bei Tennisturnieren.

Immer zwei Datenhernehmen;dasältereDatummerken,dasjüngerekannweg.Ein DatumohnePartnerkommt zur Gruppeder Älteren (=Sieger)Nun mit allen Älteren die nächsteRundedesgleichenSpielswiederdurchführen.Diesesk-o-Systemwird solangedurchgehalten,bis nur nochein Päärchenübrig ist.Der Siegerhierausist der Älteste.

präziser:1) Schreibealle Datender Reihenachhin.2) solangemehrals ein Datumübrig ist führe durch:2.1) eineSpielrunde3) Gib denÄltestenaus.

Verfeinerungder Spielrunde:2.1.1)Nimm ein Datumund dasnächsteder Liste.2.1.2)Vergleichebeide.StelledasältereDatumfest. Merke es.(1)

2.1.3)Wennein DatumohnePartnerist, merkeesauch.

{ (1): ’Merke es’ ist der Aufbau einer neuenMenge/Listevon Daten.Hier wäre beiweitererPräzisierungauf Ausgangswertezu achten.Damit liegenneueDatenfür dienächsteSpielrundevor.}

Idee2:LineareAuswahl1) Nimm dasersteDatum.Betrachteesals dasvorläufig älteste(VA ).2) Beginnebeim zweitenDatum:3) wenn dasDatumälter ist als dasVA ,

dann habenwir ein neuesVA gefunden.sonst ist nichtszu tun.

4) BetrachtedasnächsteDatum;wenn esvorhandenist dann fahrebei 3) fort.

Präzisierung(verbalund grafisch):1) Nimm das erste Datum. Betrachte es als dasvorläufig älteste(VA ).2) Beginnenun mit demzweitenDatum3) solangenochDatennicht geprüftsind wdh3.1) wenn dasDatumälter ist als dasVA .

dann habenwir ein neuesVA gefunden.3.2) Rückeein Datumweiter

Page 13: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Lösungshinweise Seite13

A3) Die Schülersollen sich z.B. mittels GK-Bücher,Politk-Lexika, Internet-Rechercheüber die Verfahreninformierenund sie dannbeschreiben.Man kann z.B. ausdemGK-Buch die entsprechendenSeitenkopierenoder über einenScannerdieseSeiteneinlesen,sodassdasdort beschriebeneVerfahrenbesprochenwerdenkann.Ggfs.lässtsich hier die Unterscheidungzwischen Texterkennungund Scannenvon Bildererläutern(Referat).

Das d’HondtscheHöchstzahlverfahren.Die Aufgabe ist, das Verfahren zu beschreiben, das die Sitzverteilung berechnet. Dazumüssendie (gültigen!) Stimmenzahlensowie die Zahl der zu vergebendenMandatebekanntseinwerden.AndereAufgabenwären:- prüfen,ob dasVerfahrenkleine Parteienbenachteiligt.- zeigen,warumdie Mandatsverteilungüberhauptzu Ungerechtigkeitenführenkann.

Auch wennmaneineersteBeschreibungdesVerfahrensBeispielentwickelt,sowirdman verdeutlichen,dassein Algorithmus allgemeinfür alle möglichenBeispielezuformulierenist.Zur Erinnerungein überschaubaresZahlenbeispiel(vgl. GK-Buch!):Partei A B C D ReihenfolgeStimmenzahl 28617 16244 3118 19828 der MandateTeiler ---------------------------1 28617 16244 3118 19828 01 03 00 022 14308 8122 1559 9914 04 07 053 9539 5415 1039 6609 06 11 094 7154 4061 779 4957 08 125 5723 3249 623 3966 106 4769 2707 520 3305 137 4088 2320 28328 3577 2030 24799 3180 2203Eswerdennacheinanderdie (nochverbliebenen)Höchstzahlenausgewählt,mit einemMandatbewertetundgestrichen.Soerhältdie ParteiA das1.vergebene,das4., 6., 8.,10. und 13.Mandat,wenn 13 Mandatezu vergebensind; also insgesamt6 von 13Mandaten!Die Partei B erhielte das 3., 7. und 11.Mandat; also 3 von den 13Mandaten.ParteiC erhältkein Mandat.ParteiD erhält4 von 13 Mandaten,nämlich,das2., 5., 9. und 12.Mandat.

Mögliche Schülerbeschreibungen:Für jedeParteiteilt manihre Stimmenzahlnacheinanderdurch1,2,3,usw..Aus densoentstandenenZahlenwählt mandie größtenaus;undzwarsoviele,wie esMandategibt. Für jededieserZahlenerhältdie zugehörigeParteiein Mandat.

Bemerkung:DasBeschreibungsniveaugehtvon einemBetrachteraus,derdie Zahlenüberblickend(alsovergleichend)die größtenauswählenkann.Man könnteweiter präzisierenlassen:Wie geschiehtdasAuswählender größten?Estretendeutlichdie Wiederholungen"für jedePartei.."auf sowiedie Ungenauigkeit’teilen durch1,2,3,usw.’ Esmussklargemachtwerdenwie weit diesesusw.geht;undzwar im allgemeinenFall.

Page 14: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Lösungshinweise Seite14

AndereLösung:Groblösung:1) Zahl und Namender Parteieneingeben.2) Zahl der Mandateeingeben.3) Der Reihenachdie gültige Stimmenzahlfür jedeParteieingeben.4) Der Reihenachalle Mandatezuteilen.5) Mandatsverteilungausgeben.

Weiter präzisierenwird mannur Schritt 4): Zuteilender Mandate.

Zuteilendesn.Mandatesbei 4 Parteien:(Voraussetzung:Vergleichszahlensind ermittelt) (1)

4.1) Ermitteln zu welcherParteidie größteder 4 Vergleichszahlengehört.4.2) Anzahl der Mandateder dieserParteium einserhöhen.4.3) NächsteVergleichszahl(mit erhöhtemTeiler) für dieseParteiberechnen.

WeiterePräzisierungvon Schritt 4.1)4.1) Gehevon dererstenbis zur letztenParteiderReihenachdie Vergleichszahlen

der Parteiendurch. Suche die größte und merke, bei welcher Partei sievorkommt.

... und weiter ...4.1.1) Nimm die ersteder Vergleichszahlenals vorläufig größte.4.1.2) wdh für jedeParteivon der 2. bis zur letztender Reihenach:

wenn die jetzigeVergleichszahlgrößerals die vorläufig größteist,dann merkedir die neueVergleichszahlals vorläufig größte,

ebensodie Stellean der sie stand.(=zugehörigePartei)sonst tue nichts

{Am EndederWiederholungist die größteVergleichszahlbekannt,ebensodie Stellean der sie stand.}

(1): Dies wird späterals Vorbedingungfür Prozedurenauftauchen.(2): Ein AlgorithmuszumFindendergrößtenZahl lässtsichalseigenständigeAufgabestellen.

Lösung:Anzahl der Parteien N eingeben;Anzahl der Mandate M eingeben;Für jedeParteivon der 1. bis zur N-ten: jeweilige Stimmenzahleingeben;Anfangswertesetzen:

d.h. Für jede Partei von der 1. bis zur N-ten: jeweilige Vergleichszahlfestsetzenauf die StimmenzahldieserPartei;

Für jedesMandatvom 1. bis zum letzten: akutellesMandatzuteilen;d.h.: Postitionder Höchstzahlim jeweiligenVergleichsfeldfeststellen;Mandatszahlder entsprechendenParteierhöhen;VergleichszahldieserParteineuberechnen;

Mandatsverteilungausgeben.

Page 15: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Lösungshinweise Seite15

Betrachtenwir dasZuteilendes5.(nichtdes1.) Mandates:Dafür sind im Beipsielzu vergleichen:ParteiA ParteiB ParteiC ParteiD9539 8122 3118 9914

Hiervon ist 9914 die größteZahl, also erhält D das5.Mandat.ParteiD hat nun 2Mandate.Aus derTabelleobensinddie erstenbeidenZeilenderParteiD somitabge-arbeitet.Für die folgendenVergleicheist bei ParteiD die nächstfolgendeStimmen-teilerzahl,die 6609zu benutzen.Die vorherigensind bereitsberücksichtigt.Es sind bei denvier Parteienimmer vier Zahlenzu vergleichen.Diesesind für jedeParteidie abgegebeneStimmenzahldividiert durcheinenTeiler. DieserTeiler ist i.a.für jede Partei ein anderer.Aber welcher?Was hat er mit den bisher erhaltenenStimmenzu tun?WenneineParteibisher2 Mandatehat,so ist die Zahl in der3.Reihefür die nächstenVergleichezu benutzen.Bei n bishererhaltenenMandatenalsoStimmenzahldividiertdurch (n+1). Für die ZuteilungdeserstenMandateskannmansomit genaudie vierabgegebenenStimmmenzahlennutzen.

EineweiterePräzisierungist zu diesemZeitpunktnicht nötig,daesnochnicht um dieUmsetzungin die Programmiersprachegeht. Bei der Behandlungvon Reihungen(eindimensionalenFeldvariablen)kannmanauf dieseLösungzurückkommenunddieweiterePräzisierungdurchIndizesdarstellen.Man wird herausheben,dassfür jedeParteiähnlichesdurchzuführenist. Dazumüssendie Daten für eine Partei in geeigneterWeise beschriebenwerden(Reihungbzw.Feldvariable),damit man dies auch in einer Wiederholungsanweisungabarbeitenlassenkann.Damit lässtsich z.B. die SchreibweiseS[i] für die StimmenzahlenderParteinäherbringen.Sie sollte zu diesemZeitpunktnicht weiter ausgebautwerden.Spätestenshier dringt die Programmierspracheein. Denn solche Formulierungenwurdendurchsie beeinflußt.Die spätergenutzteProgrammiersprachemussunshiersoviel Freiheitwie möglich lassen,eigeneIdeenzu formulieren.

-----Nach dem angewandten Zuteilungsverfahren (d’Hondt) wurden im genanntenZahlenbeispielvergeben(GemeinderatswahlHemsbach):A B C D E F4 4 1 1 1 11NachHare-Niemeyerhättesich eineandereMandatsverteilungergeben.Man kannein fertigesProgrammzur Ermittlung derSitzverteilungnachd’Hondt zurVerfügung stellen (Java/Delphi/Tabellenkalkulation)und hierbei mit verschiedenenMandatszahlenexperimentieren(Zusammenarbeitmit Gemeinschaftskunde/Politik).

Page 16: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Lösungshinweise Seite16

A4) Die Abi-Aufgabe:Beispiele:

Name: LK1: LK2: GK_sch: GK_mdl: Summe: best.

Anton 24P 44P 32P 30P 130P ja

Bert 24P 22P 50P 38P 134P nein

Claus 62P 18P 6P 13P 99P nein

Diana 30P 24P 26P 19P 99P nein

Die 24P im LK1 könnendabei z.B. so zustandekommen:4P in der schriftlichenPrüfung;keinemdl.Prüfung(ergibt 4*4P = 16P)und 8P im Halbjahr13.2.

ErsterFormulierungsversuch:(1) wenn (kein LK über25 P),

dann nicht bestanden.(2) wenn (Summeunter100 P),

dann nicht bestanden.(3) wenn zwei LK >= 25 P,

dann wenn Summe>= 100P,dann bestanden

(4) wenn (ein LK >= 25 P) und (ein weiteresFach>= 25P),dann wenn Summe>= 100P,

dann bestanden.

Werdendurchdiese4 Abfragenalle Fälle erfasst?Wie bautmanAbfragensystema-tischauf, um dieszu erreichen?Mussmanin (3) nochmalsprüfen,ob die Summe>=100P.ist? Wasgeschiehtsonst?

Diese Formulierung lässt sich vereinfachen. (3) und (4) bedeuten, dass ein LK und einweiteresFachmind. 25P.benötigen.(’Ein weiteresPrüfungsfach’in (4) schließtaberdenzweitenLK mit ein, daherist (3) überflüssig.)(1) und (2) kannmanzusammenziehen.Wenndie eineBedingungODER die andereBedingungnicht erfüllt ist, dannist dasAbitur nicht bestanden.

Überprüfung:wenn (kein LK über25P)oder (Summeunter100P),

dann nicht bestanden;sonstwenn zweitesFachüber25P,

dann bestanden,sonstnicht bestanden.

Diese Lösung benutzt wie der erste Lösungsver-such in (4) eine zusammengesetzteBedingung.Durch und sowiedurchoder lassensich zwei Bedingungenzu einerzusammenfügen.

Page 17: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Lösungshinweise Seite17

Die NegationderzusammengesetztenBedingungder1.Zeilesolltemanmit Schülernverdeutlichen.Warumist bei Erreichendes1.sonst-Teilessichergestellt,dassdie 100-Punkte-Grenzeerreichtwurde?

Hier sehen Sie eine weitereMöglichkeiten, die ohne zusam-mengesetzte Abfragen aus-kommt.Womit wird dies erkauft?Wielautet die verbale DarstellungdieserLösungsidee?

A7) Die Anweisung "übergehees"für Satzzeichenbzw. Leerstel-len ist nicht eindeutig.Siekannsoverstandenwerden,dassdieseim verschlüsseltenText nicht auftauchen,aberauchso, dasssie nicht verändertwerden.Verschlüsselnvon ’Ein erster,kurzerTest.’ ergibt mit der erstenInterpretation:fjofstufslvsafsuftu. Mit der zweitenInterpretationfjo fstufs, lvsafsuftu. wird die Entschlüsselungeinfacher.

Schwachstellensind z.B.:- dasdirekte ErsetzteneinesZeichensdurch immer genaudasgleicheZeichen,sodassz.B. vor allembei längerenTextenüberdie rel. Häufigkeitenauf daszugehörigeKlartextzeichenzurückgeschlossenwerdenkann;- dasBeibehaltender Wortlückenund Satzzeichen,wennman"übergehen"im zwei-teno.g.Sinneinterpretiert.DannkönnenüberhäufigeBuchstabenkombinationenz.B.in Drei-Buchstaben-Wörternwie bestimmtenArtikeln Ansatzpunktezur Entschlüsse-lung gefundenwerden.- sind einige Beziehungen Klartextzeichen - verschlüsseltes Zeichen gefunden, könnendie anderenwegender Regelmäßigkeitder Ersetzungsofort erschlossenwerden.

Page 18: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Lösungshinweise Seite18

A10) Man kann z.B. den Kurs seinenDurchschnittsgeburtstagerratenlassen.Damit kannmandanndasDurchschnittsalterbestimmen.Es bietetsich an,hierfür ein Programmzur Verfügungzu stellenoderdurchein/zweiSchüler(z.B. mit einerTK) vorführenzu lassen.(Dasbietetsich z.B. als erstesReferatan. Die Schülererläuternihre Ideeund die Umsetzungmittels einerTK).Lösungsidee:Alle Geburtsdateneingeben.Als Zellenformatdabei’Datum’ benutzen.AnschließenddenMittelwert aller eingegebenenDatenberechnenlassen.Dasist dasDurchschnittsgeburtsdatum.Vielleicht können die Schüler darauf eingehen,wie der Computer(?) mit denDatumsangabenrechnet.Eine Beispieltabelle(WinWorks3bzw. EXCEL) liegt bei.

A12) Die Aufgabenstellungsagtnicht, wonachsortiertwerdensoll.Die Lösungshinweise hier sollen eine Sortierung nach den Nachnamen (als1.Kriterium) erzeugen.Idee:Nachund nachsortierteListe aufbauen.Präzisierung:1) Nimm denerstenEintragder Liste(1).2) Setze ihn an die erste Stelle der neuensortiertenListe.3) Streicheihn in der altenListe.4) Wiederholesolangenoch Einträgezu verar-beitensind:4.1) Nimm dennächstenEintrag.4.2) Setzeihn an passendeStelle der neuen

sortiertenListe.4.3) Streicheihn in der altenListe.5) Gib die neuesortierteListe aus.

Idee:Liste umsortieren.Präzisierung:1) SuchedenalphabetischerstenNachnamen.2) Tauscheihn nach vorn. TauschpartnervomerstenPlatzkommt an seineStelle.3) Bearbeite weiter nur noch die Restliste(=ohneersteStelle).4) Wiederholesolangenochnicht am EndederRestliste:4.1) Suchein ihr den alphabetsichkleinsten

Nachnamen.4.2) Tauscheihn in der Restlistenachvorn.

Tauschpartnerwieder ...4.3) Bearbeite weiter nur noch die neue

Restliste(=ohnevordersteStelle).

Page 19: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Lösungshinweise Seite19

A13) E-V-A - Prinzip meint:Eingabeder Daten;Verarbeitungder Daten;Ausgabeder Resultate.In diesenFragenstehtProzess,weil hier die Ausführunggemeintist, dasAbarbeitendesAlgorithmus.Zum Begriff Prozess:Ein Prozessin der Informatik ist der Vorgang einer algorithmisch ablaufendenInformationsbearbeitung. Grob also die Ausführung des Algori thmus. DieUnterscheidungwird vor allemdanninteressant,wennmehrereProzesseablaufenundsich gegenseitigbeeinflussen.

A14) Der größte Freiraum :Grobidee:1) Den Text Zeichen für Zeichen prüfen und dabei Anzahl des Auftretens desjeweiligenBuchstabensnotieren.2) Für alle Zeichen,die mind. 2 mal vorkommen:Text bis zum 1.AuftreffendiesesZeichensdurchlaufen;Durchzählenbis zum nächstenAuftreffen (=Entfernungermittelnund merken);3) Bis zum Textendeweiter denText durchzählen;dabei:

wenn Buchstabeauftritt, dann Entfernungermittelnwenn neueEntfernungkleiner als gemerkte,dann die neuemerken

4) Für alle Zeichen,die mind. zweimal vorkommen,die (endgültige)Entfernungvergleichenund dasZeichenmit der kleinstenEntfernungausgeben.

DieseIdee machtdeutlich,dasshierbei zwei Arten von Gegenständenvorkommen:der ganzeText und die ZeichendesTextes.JedesZeichenhat dabeiEigenschaftenwie u.a.Häufigkeit desAuftretens,Entfernung.

Das Verfahren scheint selten auftretende Buchstaben zu bevorzugen. Häufigauftretendewerdenehereinmalin derNähevoneinandervorkommen.Vielleicht wäredannder relativeFreiraumein geeigneteresMaß.

Page 20: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Klausur Seite20

GK Informatik 12 KlausurNr.1 SJ2000/2001

Unterrichtsverlauf :

1.DStd: Organisatorisches; Übersicht; Alltagsalgorithmen (Computerraum nicht verfügbar)

2./3./4.Wochesind wegenFachkonferenz,Fortbildung,Feiertagausgefallen

2.DStd: Rechnernutzung an der Schule; Benutzeroberflächen; (Delphi-)Programme

ausführen;Sprachelementevon Algorithmen;

3.DStd: Delphi-Oberfläche;BeispielprogrammeunterDelphi(Turtle);Struktogrammezur

Beschreibungvon (Alltags-)Algorithmen

4.DStd: Quelltexteund Formularein Delphi; Lesenvon Quelltexten(Turtle);Ändernvon

Quelltexten(Turtle);Fragenzum Skript

5.DStd: Klausur1, alsonach4 Unterrichtsdoppelstunden(!)

Die eingescanntwiedergegebeneTabellebei Aufg.2 als auchdasStruktogramm

bei denLösungenwarenin der Vorlagefür die Schülerdirekt als Kopie ausder

Zeitungbzw. Originalzeichnungvorhanden(in deutlichbessererQualität).

Bemerkungenzur Klausur:

AufgabeNr.1 bezogsichauf dasausgegebeneSkript undprüfteu.a.ab,wie weit esgelesenund

bearbeitetwurde.

Aufgabe Nr.2 sollte (an einem Alltagsbeispiel) zeigen, wie die entscheidendeBedingung

herausgefiltertwird und dassBedingungenineinanderverwobensind. Es wurde meist sauber

erkannt,dassderHSV garnicht mehrersterwerdenkann.DasLesenderZeitungstabelleführte

zu Schwierigkeiten.(Lt. Schüleraussagenist die Darstellungnicht korrekt, weil bei Punkt-

gleichheit der direkte Vergleich zählt! Diese weite Verschachtelungmachte wie erwartet

Probleme.)

Der ersteTeil bei AufgabeNr.3 dientedazu,den Algorithmus selbstzu durchlaufen,um ihn

anschließendsichererformulierenzu können.

Geradebei AufgabeNr.4 wirkte sichdie bis datogeringeErfahrungderSchüleraus.Dieswurde

bei der Bewertungder Antwortenberücksichtigt(u.a.Zusatzpunkte).Aufg.4 wurde im Schnitt

am schlechtestengelöst.InsbesondereTeil 4c fiel nochschwer.

Alle 13 Schülerhabenmitgeschrieben.Klausurwar konzipiert für 60-75minBearbeitungszeit.

Einige Schülerbrauchtenfast 90 min.

Durchschnitt10,0NP;

Verteilung:15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 NP2 - 1 1 1 2 2 1 1 1 1 - - - - - Anzahl

Page 21: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Klausur Seite21

GK Informatik 12 Nr.1 7.11.2000NAME:_______________

1a) Der Begriff INFORMATIK ist ein Kunstwort.Woraus?Wassoll damit ausgedrücktwerden?

b) WasverstehtmanuntereinemAlgorithmus?WasunterscheidetAlltagsalgorithmenvon denender

Informatik?

c) "Lehrer Lämpel ist ganz fortschrittlich. Er führt sein Notenbuchmit dem Computer." Was

bedeutetin dieserAussage"mit demComputer"?

2) "Wieder Chancefür den HSV"so titelten die Zeitungennachdem3:1 Sieg in Turin.

Nutzen Sie die Tabelle und gebenSie in Form eines

Struktogrammes an, unter welchen Bedingungen der HSV

in seinerGruppeersteroder zweiter wird (und damit in

derChampionsLeagueweiterkommt)Für einenSieggibt

es 3 Punkte(letzte Spalte),für ein Unentschieden1 Punkt.Bei Punktgleichheitentscheidetdie

bessereTordifferenz über den besserenPlatz. Bei Tordifferenzgleichheitdie Anzahl der

geschossenenTore.

3) "Das runde Dutzend"In einemBuch mit Knobelaufgabenfindet sich (so ähnlich)diesehier:

a) SuchenSie in der Zahlenfolgejeweils aufeinanderfolgendeZahlen, deren Summe12 ergibt.

MarkierenSie sie geeignet.Wieviele solche’Quersummen’12 finden Sie?

3 2 3 2 6 1 7 8 1 3 4 5 6 4 8 2 7 7 5 4 2 4 6 2 1 3 4 4 9 1 2 4 4 5

b) BeschreibenSie, wie Sie vorgegangensind, um die Aufgabezu lösen.

c) EntfernenSieaneinerStelleobigerFolgeeineZahl, sodassdie ’Quersumme’12 wenigerhäufig

auftritt. WelcheStellewählenSie?

4) Delphia) DieseProgrammierumgebungtrennt (anfangs)zwei Teile der Programmerstellung.Welche?

b) Auf der Rückseitefinden Sie denQuelltextdesProgrammsKLAUS1.

Waszeichnetdie Turtle bei Anklicken desSchaltersmit demnichtssagendenNamenButton1?

c) Waszeichnetdie Turtle wennder SchalterBFastbetätigtwurde?

Wie ändertsich die Zeichnung,wenndie Zeile 32 auskommentiertwird?

Wie ändertsich die Zeichnung,wennin Zeile 34 RT(2); auskommentiertwird?

d) Warumsind Zeile 35 und 39 ungeschickt?Wie sollte mandiesbessermachen?

--------------

.../ 24 Punkten NOTE:

Page 22: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Klausur Seite22

zu Aufgabe Nr.4

unit Klaus1;1interface2uses3SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,4Forms, Dialogs, StdCtrls, ExtCtrls, Turtle;5

6type7TForm1 = class(TForm)8Turtle1: TTurtle; Panel1: TPanel;9BFast: TButton; BNeu: TButton;10Button1: TButton; BEnde: TButton;11procedure BEndeClick(Sender: TObject);12procedure BFastClick(Sender: TObject);13procedure BNeuClick(Sender: TObject);14procedure Button1Click(Sender: TObject);15

private { Private-Deklarationen }16public { Public-Deklarationen }17end;18

19var Form1: TForm1;20

21implementation {$R *.DFM}22

23procedure TForm1.BEndeClick(Sender: TObject);24begin close end;25

26procedure TForm1.BFastClick(Sender: TObject);27var seitenlaenge: INTEGER;28

begin29seitenlaenge:=100;30with Turtle1 do begin31{ RT(90); FD(-200); }32while seitenlaenge < 140 do begin33

PU; {RT(2);} FD(10); PD;34Pen.Color:=clgreen;35FD(seitenlaenge); RT(120);36FD(seitenlaenge); RT(120);37FD(seitenlaenge); RT(120);38Pen.Color:=clblack;39inc(seitenlaenge, 2);40

end;41end;42

end;4344

procedure TForm1.BNeuClick(Sender: TObject);45begin46Turtle1.CS;47Turtle1.HT;48

end;4950

procedure TForm1.Button1Click(Sender: TObject);51begin52with Turtle1 do begin53

FD(80); RT(90);54FD(50); RT(90);55FD(80); RT(90);56FD(50); RT(90);57

end;58end;59

60end.61

Page 23: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Klausur Seite23

GK Informatik 12 Nr.1 7.11.2000Lösungen

1a) vgl. Skript und Programm:Animat2p

b) vgl. Skript; Alltagsalgorithmensind nicht vollständigpräzise;sie bauenoft auf dasVerständnis

und die ErfahrungdesAdressaten;sie benutzennicht ein fest definiertesSprachniveau.

c) d.h. dasser geeigneteHard- und Softwarebenutzt.

2) Es gibt nur eine Chance,wenn der HSV das letzte

Spiel gewinnt. Dies wird die ersteFrage (Entschei-

dung) sein. (P.S.: nicht gewinnen heißt: Unentschieden

oderverlieren!)

Danach(also nur falls der HSV gewonnenhat!) geht

esdarum,ob einerim anderenSpielgewinnt.Wennes

dort ein Unentschiedengibt, wird derHSV 2. Gewinnt

Turin, ist derHSV draußen;gewinntAthen,sokommt

es auf die Tordifferenzan. So weit reichtees hier ...

Die Schülerkonntenden Restoffen lassen.Er zählte

nur als Zusatz.Die Abfrage TD bedeutet:Hat HSV

eine bessereTordifferenz als Athen? Im Nein-Fall

muss bei Gleichheit weiter nach der Anzahl der

geschossenenTore untersuchtwerden.

3a) 10 Mal tritt die Summe12 auf.

3 2 3 2 6 1 7 8 1 3 4 5 6 4 8 2 7 7 5 4 2 4 6 2 1 3 4 4 9 1 2 4 4 5

3 2 3 2 6 1 7 8 1 3 4 5 6 4 8 2 7 7 5 4 2 4 6 2 1 3 4 4 9 1 2 4 4 5

(Ein mehrfaches,farblich unterschiedenesUnterstreichenzur Markierunggelingt mir per Hand

besserals per Textverarbeitung.Daherhier dieseNotlösung.)

b) Ich beginnebei der erstenZahl links vorne. Ich laufe solangevon ihr ausnachrechtswie die

Summekleinerodergleich12 bleibt oderich dasEndederZahlenfolgetreffe. Erreicheich genau

12, somarkiereich dieseZahlen.Sonstgibt esmit dieserAnfangszahlkeineSumme12. Eskann

nie mehrwenigerwerden.

Nun führe ich gleichesmit jeder Zahl als Startzahlder Summedurch; bis zur vorletztenals

Startzahl.(Die letzteZahl ist auchkleiner als 10 und damit kleiner als 12).

Kurz: Nacheinanderwird jedeZahl zum Anfang einerSumme,die solangenachrechtsläuft, bis

12 erreichtoderüberschrittenist. Wird genau12 erreicht,markiertmandie Zahlen.

c) Es gibt mehrere(ich denke:5) Möglichkeiten2 der 10 aufgefundenen12er-Summenzu vernich-

ten.Durch Entfernender 6 in 2 4 6 2 1 3, die sogarin drei 12-Summenvorkommt,werdenauch

nur zwei Möglichkeitenvernichtet,weil drei verschwinden,abereineneuentsteht.2 4 2 1 3 !!

3 2 3 2 6 1 7 8 1 3 4 5 6 4 8 2 7 7 5 4 2 4 6 2 1 3 4 4 9 1 2 4 4 5

Ebensoentstehtbeim Entfernender 4 in 4 6 2 1 3 eineneue12-Summe:4 2 _ 6 .

Page 24: Ein Vorschlag zum Themenbereich · PDF fileWas muss ein Computer können, um Ihren Algorithmus ausführen zu können? Kann man diesen Algorithmus auf die Suche nach der häufigsten

Algorithmen Klausur Seite24

GK Informatik 12 Nr.1 LösungenS.2

4a) vgl. Unterricht / Folien

Delphi trenntdie

Gestaltungim Formular - textlicheErstellungim Editor

WIE soll’s aussehen - WAS soll passieren

Delphi nutzt getrennteDateien,um diesebeidenTeile abzuspeichern.

Beideswird durcheinenRahmen,die sog.Projektdatei,zusammengehalten.

b) Button1Click:Die Turtle zeichnetein Rechteck(80x50Pixelgroß)

c) BFastClick: Die Turtle zeichnet mehreregleichseitige,grüne Dreiecke. Die Seitenlängeder

Dreieckeist anfangs100 Pixel und wird immer um 2 Pixel größersolangesie unter140 bleibt.

Die Startpunkteder Dreieckewerdenjeweils um 10 Pixel nachobenverschoben.

Wird Z.32 auskommentiert,alsobenutzt,so drehtsich die Schildkrötevorm erstenZeichnenund

beginnt nicht in der Mitte sondernein Stück links davon.Die Dreieicke liegen damit neben-

einanderstattübereinanderversetzt.Wird in Zeile 34 noch RT(2); auskommentiert,so werden

die Dreieckeleicht gegeneinanderverdreht(jeweils 2°) gezeichnet.Es bildet sich eine"Kurve".

d) Es wird ständigdie Farbegewechselt,aberimmer nur grün zum Zeichnenbenutzt.Dahersollte

man vor der Schleife die Farbe auf Grün setztenund nach der Schleife wieder zurück auf

schwarz.In der Schleifeist diesunnötigund damit Ressourcenverschwendung.

-------

Reserve-Bildzur ChampionsLeague-Tabelle: