Python Roboter

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Nagila Hawa
User
Beiträge: 16
Registriert: Montag 9. Juni 2008, 18:20
Kontaktdaten:

Wenn ein Lehrer nur Pascal wirklich gut kann, ist er, denke ich, nicht gleich verloren, er muß sich nur in seinem Gebiet weiter umsehen.

Mit FreePascal hat man einen Compiler, der einerseits einen eigenen ObjectPascal Dialekt darstellt, andererseits Kompatibilität zu Turbo Pascal oder Delphi, und damit den wichtigsten (Object-)Pascal-Implementierungen hält. Delphi/FreePascal ist auch heute alles Andere als tot oder zu sehr veraltet. Zudem ist FreePascal auf mehrere Plattformen portiert worden (FreeBSD, Linux, MacOS X, Windows) und frei verfügbar. Auch die Delphi-Ähnliche IDE Lazarus ist frei verfügbar. Jeder Schüler kann auch zu Hause damit arbeiten.

So ist es gut möglich, in den ersten Veranstaltungen Pascal und in den weiteren Veranstaltungen ObjectPascal mit Lazarus zu unterrichten, hat damit einen super aufgebauten Unterricht und ist sowohl auf eine Pascal-Prüfung, als auch auf eine Delphi-Prüfung vorbereitet.

Python wird sicher auch irgendwann mal in Schulen unterrichtet werden, aber Schulen sind nunmal immer etwas "langsam". Allerdings: Lieber einen Lehrer mit veralteten Wissen, als einen mit gar keinem, der nur abliest (so einen hatte ich gehabt... erst QBasic, das ging noch, dann Delphi, das war nur noch Quelltext ablesen).
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Nagila Hawa hat geschrieben:Mit FreePascal hat man einen Compiler, der einerseits einen eigenen ObjectPascal Dialekt darstellt, andererseits Kompatibilität zu Turbo Pascal oder Delphi, und damit den wichtigsten (Object-)Pascal-Implementierungen hält. Delphi/FreePascal ist auch heute alles Andere als tot oder zu sehr veraltet. Zudem ist FreePascal auf mehrere Plattformen portiert worden (FreeBSD, Linux, MacOS X, Windows) und frei verfügbar. Auch die Delphi-Ähnliche IDE Lazarus ist frei verfügbar. Jeder Schüler kann auch zu Hause damit arbeiten.
Ja, FreePascal ist eine gute Sache, habe ich auch einige Jahre mit "gearbeitet". Seit gut 1 Jahr habe ich mich davon verabschiedet, so dass sich an dem, was ich im folgenden äußere, zwischenzeitlich etwas geändert haben mag (was mich freuen würde).

Mit der Wahl der Plattform ist es so eine Sache. Unter Linux beispielsweise ist es mir nie gelungen, Programme im Grafikmodus laufen zu lassen. Es waren ohnehin immer root-Rechte erforderlich (für den Grafikmodus) und selbst damit gab es immer nur Crashs. Und Pascal ohne Grafik wird doch bald langweilig (für Schüler ...). Allerdings läuft die DOS-Version von FreePascal sauber in einer Dos-Box unter Linux, dann auch im Grafikmodus ohne root-Rechte.

Lazarus kann man IMHO nicht mit Delphi vergleichen (auch wenn es mit dem Anspruch auftritt). Meine Experimente mit Lazarus waren durchweg sehr ernüchternd, weil das ganz sehr instabil war und die Arbeit damit nicht wirklich funktioniert hat. Das Arbeiten mit Delphi (was schon einige Jahre zurückliegt) war da doch erheblich angenehmer.

Python muss in die Schulen ...
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

@numerix Bei uns scheint es zu klappen. Der Lehrer hat mit erst vor kurzem ein Beispiel gezeigt mit mehreren "Windmühlen" deren Flügel sich drehen. Dabei geht es wohl darum den Schülern Objektorientierung bei zu bringen. Dort wurde auch mit Lazarus gerarbeitet. Das kommt im 2. Halbjahr der 11. Klasse dran.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

DasIch hat geschrieben:Der Lehrer hat mit erst vor kurzem ein Beispiel gezeigt mit mehreren "Windmühlen" deren Flügel sich drehen.
Das musste jetzt sein:

Code: Alles auswählen

# A windmill using the frog module
from frog import *

def turnsail(event=None):
    sail.turn(5)
    board.listen("<Timer-20>",turnsail)

board = Pool(width=500,height=600)
pen = Frog(board, visible=False)
pen.speed = 10
pen.pos = -25, -200
pen.fill = True
pen.fillcolor = "tomato"
pen.move(100)
pen.turn(100)
pen.move(200)
pen.turn(-50)
pen.circle(60,260)
pen.turn(-50)
pen.move(200)
pen.turn(100)
pen.move(60)
sail = Frog(board)
sail.speed = 10
sail.pos = -5,40
sail.dot(20)
a, b = 40, 180
sail.shape = "sail",(0,0),(b,-a),(b,a),(0,0),(a,b),(-a,b),(0,0),\
                    (-b,a),(-b,-a),(0,0),(-a,-b),(a,-b)
sail.bodycolor = "darkgreen"
turnsail()
board.ready()
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Naja, es funktioniert. Ist allerdings Positionsgebunden und kein sonderlich gutes Beispiel um die Eleganz von Python zu zeigen ;)
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

DasIch hat geschrieben:Naja, es funktioniert. Ist allerdings Positionsgebunden und kein sonderlich gutes Beispiel um die Eleganz von Python zu zeigen ;)
Die Positionsbindung ließe sich einfach beheben, das würde allerdings an der Eleganz wenig ändern. Die "Eleganz von Python" zu zeigen, war auch nicht die Absicht dieses kleinen Programms (mit OOP hat es ja ebenfalls nichts zu tun, wie das von dir zitierte Beispiel). Eigentlich hatte es gar keine Absicht ... es war mehr ein spontaner Impuls. :D

Allerdings zeigt das Beispiel, dass es - unter Verwendung eines entsprechenden Moduls - recht einfach ist, so eine kleine Animation umzusetzen. Und zwar so einfach, dass es für den Informatikunterricht der Sek. I geeignet ist. So etwas mit Pascal umzusetzen, ist erheblich unangenehmer ...
Antworten