Flächeninhalt eines Rechtecks in einem Trapez

Auf der Fachtagung "Mathematik für alle" gab es wieder viel Anregung. Ich hatte den Workshop von Heinz Laakmann besucht. Thema: Wie kann der Computer helfen, vielfältige Lösungswege zu erhalten?

Meine Gruppe hat die folgende Aufgabe behandelt:

In einem Trapez mit den Eckpunkten A(0/0), B(0/6), C(5/2) und D(5/0) soll ein möglichst großes Rechteck gezeichnet werden, wobei A ein Eckpunkt des Rechtecks ist.

Wir haben diese Aufgabe mit Geogebra gelöst.


Ampelschaltung mit Panels

Inhalte der Woche:

 

In dieser Woche haben wir uns mit programmierten Ampel auseinandergesetzt. Am Dienstag, in unserer ersten Stunde haben es gegen Ende doch alle geschafft und wir hatten unsere erste Ampel, die man mit den 4 Buttons: "Rot", "Rot/Gelb", "Gelb" und "Grün" bedienen konnte.

Da wir natürlich alle zu faul sind alle 4 Buttons nacheinander zu drücken haben wir uns in der ersten Stunde der beiden Doppelstunden ein Programm ausgedacht mit dem wir mit dem einzigen Knopf "Schalten" unsere Ampel durchschalten konnten.

In der zweiten Stunde haben wir dann noch einen ein- und abschaltbaren Timer eingebaut, mit diesem wurde die Ampel in einem bestimmten Interval selbst umgeschaltet.

 

Neue Befehle:

Der wichtigste neuste Befehl dieser Woche war ganz sicher das altbekannte "Wenn ... dann ..." wie man es aus nahezu allen Programmierumgebungen kennt.
Wichtig hierbei sind die 3 Grundgerüste.

1. Einseitige Entscheidungen
if <Bedingung> then <Anweisung>


2. Zweiseitige Entscheidungen
if <Bedingung> then <Anweisung> else <Anweisung>


3. Mehrfache Entscheidungen
if <Bedingung> then <Anweisung> else if <Bedingung> then ...


Nicht ganz so wichtig, aber auch erwähnenswert ist die Verknüpfung "and" mit der man mehrere Bedingungen miteinander logisch verknüpfen konnte.

Schwierigkeiten:

Ab und wann gab es Schwierigkeiten, wie z.B. bei dem genauen Einsetzenvon Klammern, nahezu 50% hatte einen Fehler bei dem Aufschreiben der Bedingungen im Quelltext, da man diese einklammern musste.
Aber sonst hatten es doch alle geschafft zumindest ihre "Schaltampel" fertigzustellen.

Tobias


Codierung von Zahlen und Zeichen

Der Computer arbeitet nur im Dualsystem und kann somit nur zwei Fälle unterscheiden. Das kann man sich wie bei einem Schalter vorstellen: entweder an oder aus (1/0). Weil der Computer nun ein anderes Zahlensystem kennt, muss man die gebräuchlichen Zahlen und Buchstaben in 1 bzw.0 umwandeln. Dafür muss man sich eine Codierung ausdenken. Doch eine Codierung zu erstellen ist einfach, aber sie muss auch wieder eindeutig zu dekodieren sein.

Hier ist ein erstes Problem aufgetreten denn, wenn man einfach "B" die 1, derm "C" 10 und dem "G" 110 zuordnet, kann man bei dem Code 110 nicht sehen ob es ein "G" oder ein "B" und "C" ist.

Als Lösungsvorschlage sind uns drei Möglichkeiten eingefallen:

  1. Jeder Code enthält eine gewisse Länge
  2. Man lässt immer einen Zwischenraum
  3. Keine Codierung darf Anfang einer anderen Codierung sein.

Von diesen Möglichkeiten hat man sich für die einheitliche Codelänge entschieden.

  • 50Jahre IBM->EBCDIC
  • 1963->ASCII (128 Zeichen mit 8Stellen)
  • um1980->ANSI (256 Zeichen mit 8 Stellen).

Mit 8 Stellen kann man jedes Zeichen in ASCII, bzw. ANSI darstellen.

Das sollte man sich merken:

$ 2^0 = 1 $
$ 2^1 = 2 $
$ 2^2 = 4 $
$ 2^3 = 8 $
$ 2^4 = 16 $
$ 2^5 = 32 $
$ 2^6 = 64 $
$ 2^7 = 128 $
$ 2^8 = 256 $
$ 2^9 = 512 $
$ 2^{10} = 1024 $

Hierbei ist es zu erwähnen, dass jede Stelle einem BIT entspricht.


Wir haben schließlich nach einem System gesucht, mit dem man einfach die Zahlen vom Dual- ins Dezimalsystem umrechen kann.Wir hatten alle den gleichen Ansatz, haben uns dann aber auf eine SEHR einfache Lösung geeinigt. Man halbiert die Zahl, wenn eine Stelle nach dem Komma vorhanden ist wird bei Rest eine 1 hingeschrieben (sonst eine 0). Die einzelnen Divisionen werden untereinander geschrieben. Von unten nach oben steht die Dualzahl da.Dieses Verfahren nennt man den Restwertalgorithmus.

Zur Veranschaulichung nehmen wir die Zahl 321:

       Rest

321/2=160       1              

160/2=  80       0               

  80/2=  40       0

  40/2=  20       0

  20/2=  10       0

  10/2=   5        0

    5/2=   2        1

    2/2=   1        0

    1/2=   0        1

Also folgt $  321_{10} = 101000001_2  $

DER REST WIRD ALSO VON OBEN "RUNTERGEKLAPPT"

 

Die Geschichte der Computer

Lange bevor der Begriff Computer für das Stand, was wir heute damit verbinden, stand dieser Begriff für einen Rechenknecht. Dieser Begriff kommt sogar noch aus einer Zeit vor der industriellen Revolution. Während der industriellen Revolution wurden erste teils elektronisch, teils mechanisch arbeitende Rechenmaschinen gebaut. Diese Rechenmaschinen waren die Grundlage für die modernen Computer, da der Mensch den Sinn für ihre Entwicklung darin sah, nicht mehr nur von der menschlichen Gehirnleistung abhängig zu sein. Bis zu dieser Zeit waren selbst die kompliziertesten Rechenaufgaben von Spezialisten ohne technische Hilfsmittel ausgerechnet worden. Da diese Methode jedoch sehr anfällig für Fehler war, vergrößerte sich der Ruf nach einer für Fehler unanfälligen mechanischen Rechenmaschine. Dieses Verlangen passte sehr gut in die Zeit der industriellen Revolution, da in dieser Zeit versucht wurde, fast jede Tätigkeit zu mechanisieren. So wurden in dieser Zeit bis zum Anfang der 1930er viele verschiedene Rechenmaschienen gebaut, die die unterschiedlichsten und abstraktesten Grundlagen, wie z.B. die Mechanik der Webstühle hatten. Der Nachteil dieser Maschinen war jedoch, dass sie sehr Wartungsaufwändig und außerdem auch sehr fehleranfällig waren. Außerdem waren sie auch nicht sehr universell einsetzbar, sondern nur auf mathematische Phänomäne oder die Grundrechenarten anwendbar.

Der erste Computer nach heutigem Verständnis wurde Mitte der 30-er Jahrern von der Firma IBM entwickelt. Dieser "Computer" , der IBM 601, war eine Lochkartenmaschine, welche einfache Multiplikationen ausführen konnte. Als der Vater des Computers gilt aber Konrad Zuse, der 1939 mit seiner Z1 die erste programmierbare Rechenmaschine baute. Diese hatte jedoch nur etwa die Leistung eines gewöhnlichen Taschenrechners heute .

Doch schon mehr als 100 Jahre zuvor, um 1820 kam der Engländer Babbage auf die Idee, dass man mit Dampfmaschinen,Lochkarten und einem bestimmten System Rechenarbeiten vereinfachen konnte. Allerdings war seine Freundin Eyda Lovelace die Erste, die das Potential des Computers erfasste. Da aus technischen und finanziellen Gründen ein solcher Computer zu dieser Zeit noch nicht gebaut werden konnte, schrieb Eyda ihre Ideen auf und entwickelte Lochkarten. Dadurch als erste bekannte Programmiererin in die Geschichte ein.

1945 gelang es den beiden Schülern der Moor School, John Mauchly und John Eckert, ENIAC, eine völlig neue Art des Computers zu bauen. Er konnte durch Verwendung von 18000 Elektroröhren mehrere Aufgaben bewältigen, da die vorrausgegangenen Exemplare nur für eine Rechnung auf einmal programiert waren. Doch ENIAC war sehr umständlich, denn um ihn umzuprogrammieren, mussten 6000 Schalter ohne Hilfe von Anleitungen neu eingestellt werden.

Durch Fortschritte bei der Speicherkartentechnik, die Erfindung des Transistors und der Miniaturisierung in integrierten Schaltkreisen wurden Computer immer leistungsfähiger. Die Anregung zur Verkleinerung des Computers gab die Raumfahrt. 1959 waren zwar schon Chips erfunden, doch sie waren ein kommerzieller Flop. Erst als 2 Jahre später die Russen den ersten Flug ins All wagten, wurden die Amerikaner darauf aufmerksam, da durch die Chips kleine Computer gebaut werden konnten, die ganze Raumschiffe steuerten. Für große Computer, die noch ca. eine Tonne wogen, war im kleinen Raumschiff kein Platz.
Durch den Erfolg des Fluges zum Mond wurden auch die kleinen Computer populär, die Dank integrierter Schaltkreisen in Massen hergestellt werden konnten.

1960 gab es dann die erste Computergraphik. Kurze Zeit später wurde die Maus von Doug Engelbart entwickelt. Diesen Ereignissen folgten weitere Schritte, die dem Computer zu seiner heutigen Beliebtheit führten.

Weiterführende Links:


Inhalt abgleichen