Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Ansätze zum Programmieren (https://www.delphipraxis.net/121958-ansaetze-zum-programmieren.html)

Syrakus 7. Okt 2008 16:26


Ansätze zum Programmieren
 
also

Ich habe ein spezielles Problem. Immer wenn ich von irgendwoher Aufgaben lese die ich Programmieren könnte, fällt mir nicht ein wie man an so etwas herangehen könnte. Ich Programmiere mit Delphi und habe 2 Jahre "unterricht" gehabt. Allerdings habe ich keine Ahnung wie man an eine Aufgabenstellung heran gehen sollte. Pls help me.

[edit=Admin]Titel korrigiert ;-) Mfg, Daniel[/edit]

alzaimar 7. Okt 2008 16:27

Re: Ansetzte zum Programmieren
 
:glaskugel: Wie soll man denn darauf antworten?

"Habe Problem, bitte helft mir"

Gib mal ein oder zwei Beispiele.

Syrakus 7. Okt 2008 16:41

Re: Ansetzte zum Programmieren
 
Ich sagte ja das man mia sagen könnte ob man auf meine Frage nicht allgemein antworten kann!!

Hier ein Beispiel:

Schreiben Sie ein Programm, das für eine vorgegebene ganze Zahl feststellt, ob es sich um eine Primzahl handelt oder nicht. Sollte sie keine Primzahl sein, interessiert der kleinste Teiler.

Die Grundlagen kann ich. Aber es hat ewig lange gebraucht bis ich das Problem raus hatte.

oki 7. Okt 2008 16:43

Re: Ansetzte zum Programmieren
 
ich hatte versucht in dem gerade von Phönix gesperrten Thread zu antworten. Da er freundlicherweise einen Link hierher gesetzt hat füge ich jetzt meinen Beitrag hier ein.

Hi,

das kann man so pauschal nicht beantworten, da man nicht weis, wo dein Problem konkret steckt. Ein guter Ansatz ist es sich eines Systems zur Modellierung zu bedienen. Belese dich mal zu UML. Da wird auch beschrieben, wie du praktische Aufgabenstellungen zerlegen und strukturieren kannst und am Ende auf Modelle und Abläufe für deine Programmierung kommst.

Gruß oki

SimStar001 7. Okt 2008 18:07

Re: Ansetzte zum Programmieren
 
Hallo, wenn du nun schon zwei Jahre programmierst (bezogen auf Unterricht) dann hast du ja denke ich mal schon die grundlegensden Kenntnisse.

Nun ich gehe zum Beispiel so an Aufgabenstellungen heran:

1. Was wird verlangt, was wird benötigt.
2. Wie kann ich das Umsetzten, sprich welche programmiertechnische Möglichkeiten habe ich, oder sind mir bekannt.
3. wichtigstes: einfach ran setzen und ausprobieren, ob das was du dir da so überlegst auch funktioniert.


Desweiteren ist es denke ich auch sinnvoll, immer wieder etwas kleines (neues) zu programmieren um seine Kenntnisse zu erweiter, man lernt schließlich nie aus.

Also immer fleißig probieren und auchmal nachfragen wenn dir nix zu nem thema einfällt.

Hoffe es hilft dir etwas und war das was du wissen wolltest.


Lg marco

oldmax 8. Okt 2008 05:43

Re: Ansetzte zum Programmieren
 
Hi
Wenn du nach 2 Jahren nicht erkennst, wie ein Programm aufbaut und programmiert werden muß, hast du entweder einen schlechten Dozenten oder bist schlichtweg nicht geeignet. Nee, ist nicht bös gemeint, hier mal ein Vergleich. Fast alle können schreiben, aber ein Buch verfassen, können nur wenige. Dabei ist es doch auch nur ain notieren von Gedanken. Wenn du Probleme hast, vorgänge zu zerlegen in kleine Teile, denkst du zu komplex. Da wirst du nur schwer rauskommen. Zum Programmieren braucht man die Fähigkeit zu erkennen, wie durch schrittweises Vorgehen eine Aufgabe in Anweisungsliste verpackt und abgearbeitet wird. Ich nehme auch gern unseren Alltag zum Beispiel. Schau dir einmal an, wie eine Bewegung zustande kommt.
Befehl Arm strecken - Position erreicht, nein - dann wiederholen
Hand öffnen - Hand weit genug auf - nein dann wiederholen
Hand ist weit genug auf, Glas greifen - Kontakt - nein dann weiter schließen
usw....
Nimm dir selbst mal etwas im Prinzip völlig einfaches vor und zerlege es bis in den kleinsten SChritt. Du erkennst, das vermeintlich einfache Vorgänge aus ziemlich umfangreichen kleinen Schritten zusammengesetzt sind. Nun setz es zur Programmierung um.
Nimm deine Aufgabe:
In der Regel ist' s wie in der Mathe
Gegeben, gesucht, gefunden....
Gegeben - Eingabe - Input (Tastatur, Maus, FP, Disc etc.)
Gesucht - Verarbeitung - Programm ( Prozessor Anweisungsliste)
Gefunden - Ausgabe - Output ( Monitor, Drucker, FP, Disc etc.)
Programmieren ist eigentlich gar nicht sooo schwer. Das Problem ist, das es nicht bei "Addiere zwei Zahlen" bleibt und irgendwann einmal der Durchblich flöten geht.

Gruß oldmax

mquadrat 8. Okt 2008 07:53

Re: Ansetzte zum Programmieren
 
@Syrakus

Bei solch isolierten Fragestellungen ist es noch recht einfach: Stell dich einfach dumm.

"Festellen ob eine Zahl prim ist und wenn nicht kleinsten Teiler ermitteln."

Ein "dummer" Mensch geht das jetzt einfach durch und überlegt was ihm an Wissen fehlt
1. Welche Zahl soll geprüft werden?
2. Wann ist eine Zahl prim?
3. Wie ermittle ich den kleinsten Teiler?

Zu den Fragen suchst du die Antworten
1. Muss der Benutzer wohl eingeben -> Man braucht eine Eingabemaske, auf der man ne Zahl eingeben kann und die bestätigen kann
2. Hier hilft z.B. Google einen Algorithmus zu finden
3. Auch hier hilft Google oder alternativ auch nachdenken ;)

Jetzt entwickelst du diese drei Elemente und am Besten noch ein viertes dazu, dass diese drei zusammenhält.

Und fertig bist du.


Bei größeren Sachen ist es prinzipiell gleich. Oft sprechen Kunden und Entwickler unterschiedliche Sprachen. Das geht bei Abkürzungen los und endet bei gänzlich unbekannten Worten. Insofern hat man recht oft die Fragestellen "Was ist denn XY?", "Was muss man tun um XY zu erstellen?"...

Wenn diese Sachen klar sind, redet man zumindest schon mal von den gleichen Dingen (neudeutsch schimpft sich das dann Geschäftsdomäne des Kunden).

Und dann gehst du wirklich her und schreibst jede Funktion, die das Programm haben soll auf. Also: Kunde anlegen, Kunde ändern, Kunde löschen, Bestellung erfassen ..... Das sind deine Anwendungsfälle.

Aus denen wird schnell klar was du brauchst. In dem Beispiel z.B. ne Kundenklasse und eine Bestellungsklasse. Durch die Anwendungsfälle und den Input des Kunden werden die Felder klar, die du unbedingt brauchst.

Und dann kannste eigentlich loslegen. Die meisten programmieren immer nach einem ähnlichen Raster. Das eignet man sich durch Übung, Übung oder Übung an.

Das war jetzt mal so kurz zusammengefasst. Da gibt es nicht umsonst ganze Bücher drüber. ;)

Tyrael Y. 8. Okt 2008 08:04

Re: Ansetzte zum Programmieren
 
Das was mquadrat geschrieben hat ist genau das Richtige.
So muss man vorgehen. Sich wirklich "dumm" stellen.

Ich habe gemerkt, daß relativ Praxis unerfahrene Programmierer, bei
jeder Aufgabe versuchen diese Aufgabe mit einem oder zwei Schritten zu erledigen.
Oft suchen sie nach einer vorgefertigten Funktion, die nach ihrer Meinung schon
vorhanden sein muss.

Der wichtigste Grundsatz sind die kleinen Schritte.

Stell dir selbst Fragen.

Syrakus 9. Okt 2008 20:00

Re: Ansetzte zum Programmieren
 
@ oldmax

Sagen wir mal so : Der Typ war scheiße und hat sich keine Zeit für den Unterricht genommen. Einfach durchrasseln. NIcht viel erklären, einfach auswendig lernen etc. naja eben so.

@ alle Ach ja Danke für die Ratschläge wer mal sehen.

oldmax 10. Okt 2008 05:32

Re: Ansetzte zum Programmieren
 
hi
Den Eindruck hab ich immer öfter, das das Lehrpersonal vom Programmieren keine Ahnung hat. So ein par Begriffe haben sie sich selbst beigebracht, oder noch selbst vom Studium irgendwo in einer einsamen Gehirnzelle dahin vegetieren lassen. Und dann wird dieses enorme Fachwissen auf die (dummen) Schüler abgefeuert.....
Warum ich das so sehe ? Dann schaut euch mal die Struktur von Programmzeilen an. Es sollte der erste Satz eines Dozenten sein: Programmcode sinnvoll einrücken !
Na ja, ihr wißt ja mittlerweile selber, was gut und schlecht ist. Ich persönlich finde es bedenklich, wenn so ein hobbyprogrammierter Lehrer auf sein stümperhaftes Wissen auch noch Noten verteilen kann.Trotzdem sollte auch jeder selber wissen, Programmerkunst ist kein Zauberwerk, aber ohne eine gewisse Eignung wird eben kein Bestseller sondern bestenfalls ein Groschenroman draus, wenn man beim Vergleich mit Schriftstellern bleibt. Man wird auch mit einer sportlichen Unbegabung trotz viel Trainig nicht zu einem gutbezahlten Spieler...
Man sollte dies wissen und es hinnehmen. Dies ist keine Zurechtweisung, sondern ein Hinweis.
Gruß oldmax

mquadrat 10. Okt 2008 09:19

Re: Ansetzte zum Programmieren
 
Sicher sind viele Informatiklehrer mit den Entwicklungen im Bereich Software Engineering nicht mehr vertraut. Aber: Es geht hier um Schule und das bedeutet ein Niveau, das unterhalb von Ausbildung und erst recht unterhalb eines Studiums liegt.

Wenn man also ein Jahr "Programmieren" auf der Schule hat darf man keines Falls erwarten auf dem Niveau eines 10 Semester Studiums zu sein.

Als Lehrer haste doch kaum ne Chance. Da haste 90 Minuten / Woche Zeit um denen was beizubringen. Dazu kommt noch, dass die Schüler ungefähr keine bis wenig Motivation haben, wenn ihnen klar wird, dass sie nicht nach zwei Wochen ein Echtzeitrollenspiel programmieren können.

oki 10. Okt 2008 09:39

Re: Ansetzte zum Programmieren
 
Hi Maquadrat,
in diesem Punkt stimme ich dir zu. Leider ist es aber so (zumindest meine Erfahrungen an unseren Schulen), dass Informatiklehrer in der Regel eben keine Fachausbildung in diesem Gebiet besitzen. Das Wissen ist eher nebenbei angeignet. Stell dir mal vor, du gehst hin und willst dich als Mathe-, Bio-, Deutschlehrer oder in einem anderen Fach als Lehrer bewerben. Dann erzählst du denen, dass du zwar keine Ausbildung in diesen Fachbereichen hast. Aber du warst mal Sportlehrer und hast auch ein Jahr "Werkunterricht/Sachkunde" unterrichtet. Die lachen sich tot und schicken dich weg. Als Informatiklehrer nehmen sie dich.
Wiel viel Prozent der qualifizierten Arbeitskräfte müssen mit IT umgehen?
Selbst Religion wird teilweise auf einem fachlich höheren Niveau unterrichtet. Meine 12-jährige Tochter ist ab Rechner fitter als der Großteil der Informatiklehrer unserer Grundschulen. Das hat die aber nicht da gelernt, sondern bei mir.

Und das finde ich echt traurig, wie mit einer Technologie in unserem Bildungssystem umgegangen wird, die rasant alle Bereiche unseres Lebens sowohl privat als auch beruflich durchdringt.

Gruß oki

Sherlock 10. Okt 2008 09:40

Re: Ansetzte zum Programmieren
 
Zitat:

Zitat von mquadrat
Als Lehrer haste doch kaum ne Chance. Da haste 90 Minuten / Woche Zeit um denen was beizubringen. Dazu kommt noch, dass die Schüler ungefähr keine bis wenig Motivation haben, wenn ihnen klar wird, dass sie nicht nach zwei Wochen ein Echtzeitrollenspiel programmieren können.

So siehts aus. Dazu noch die für heutige Zeiten symptomatische Aufmerksamkeitsspanne einer Amöbe, und schon ist der mangelhafte Unterricht eine auf Gegenseitigkeit beruhende Erfahrung.

Traurig aber wahr.

Mein Informatikunterricht liegt mittlerweile mehr als 20 Jahre zurück. Zunächst auf Apple IIc und später auf IBM AT-Clonen von Zenith. Die Apple-Erlebnisse sind mir nicht mehr präsent...aber am Zenith bin ich mit TurboPascal in Berührung gekommen...und offenkundig dort hängengeblieben ;) Der Lehrer war Mathelehrer und im Prinzip genauso neu in der Materie wie die Schüler, aber er hat sich vorbereitet und fortgebildet, so daß ein wirklich guter Unterricht zustande kam. Ich denke, das ist Glück gewesen, und so wird es wohl auch heute noch sein.

Oh, und sorry 4 OT.

Zum Thema: Es gibt ja zum Glück noch einige Bücher zum Thema, die helfen wirklich. Und wenn man kein Geld ausgeben möchte gibt es zahllose Tutorials im Netz, wobei die schon ein gewissen Grundwissen Programmieren voraussetzen, denke ich.

Sherlock

Mr_G 10. Okt 2008 10:37

Re: Ansetzte zum Programmieren
 
[ot]
So... ich muss aber mal eine Lanze für die/meine Informatiklehrer brechen!
Das kann nicht sein, dass alle so schlecht sind! An meiner Schule gibt es natürlich auch Qualitätsunterschiede was die Informatiklehrer angeht, aber sie befinden sich alle auf einem solchen Niveau, dass die entsprechenden Schüler etwas von ihnen lernen können. Beispielsweise habe ich ab der 6. Klasse eine Informatik AG besucht. In der AG haben wir mittels Parallelport und selbstgelöteter Decoder eine Modelleisenbahn gesteuert. Genau das Richtige für diese Altersstufe. Auch als ich Informatik in der 9. und 10. als reguläres Fach bekommen habe, wurde mir wieder viel beigebracht (Programmierkonzepte, Rechnerkonzepte). Nun bin ich schließlich in einem Informatik LK (5 Stunden pro Woche). Unser LK wurde letzthin von dem Leiter des Fachbereichs Informatik der örlichen UNI besucht. Was dabei rauskam: Ein Projekt bei dem wir aufgrund unseres bereits gesammelten Wissens das erste Semester in einem Informatikstudium (Bachelor/Master) überspringen könnten.
Ich weiß wirklich nicht wie man mich in dem Bereich hätte mehr fördern können. Nun hoffe ich das keine deutschlandweite Ausnahme ist... kann ich mir auch irgendwie nicht vorstellen.
[/ot]
Gruß

Mr_G

P.S.: Das früher die Lehrer "keine" Ahnung von der Informatik hatten und nur "angelernt" waren mag vielleicht auch damit zu tun haben, das es die Informatik während iherer Ausbildung noch gar nicht gab ;)

Relicted 10. Okt 2008 11:08

Re: Ansetzte zum Programmieren
 
Ich bin öfters mal in so "normalen" Foren unterwegs.. Viele Studis usw. Gerne helfe ich den nicht Informatik Studenten bei Ihren Problemen wenn sie mit Delphi arbeiten müssen. Da die meisten wirklich null Hintergrund haben ist die erste Aufgabe von mir meistens "beschreib mir doch mal wie du nen Kaffee kochst - zerleg den Ablauf in die kleinsten Teile!"
Wenn ich die Liste habe schreibe ich den Leuten meistens noch nen paar kleine Schritte dazwischen und sag denen "hey ohne das wirst dich verbrennen..." nach 1-2 E-Mails haben die Leute dann verstanden um was es geht. Dann werfe ich meistens irgendwelche Häppchen vor aus dem Programm was sie schreiben müssen. "Du bekommst die eingegebene Zahl xyz du sollst mir daraus xyz zurückgeben". Also vom Kaffee kochen zum praxiseinsatz. Wenn dann alles kleinst zusammengeschrieben ist heißts "hey jetzt programmier es!" und die Leute sehen dass es einfacher war als sie gedacht haben. Ich denke sowas hilft den Leuten mehr als wenn man ihnen alles vorkaut. Und so denke ich lernt man auch das programmieren.

Gruß
reli

julchen 10. Okt 2008 11:32

Re: Ansetzte zum Programmieren
 
Zitat:

Zitat von Relicted
Ich bin öfters mal in so "normalen" Foren unterwegs....

Schreib doch mal ein Skript!
Deinen Vorschlag zum Denkansatz habe ich z.B. in noch keinem Buch lesen können!

Relicted 10. Okt 2008 11:39

Re: Ansätze zum Programmieren
 
Zitat:

Zitat von julchen
Zitat:

Zitat von Relicted
Ich bin öfters mal in so "normalen" Foren unterwegs....

Schreib doch mal ein Skript!
Deinen Vorschlag zum Denkansatz habe ich z.B. in noch keinem Buch lesen können!

was meinst du mit "skript schreiben" ?

julchen 10. Okt 2008 12:01

Re: Ansätze zum Programmieren
 
Zitat:

Zitat von Relicted
was meinst du mit "skript schreiben" ?

Eine "Musterlösung" wie man an bestimmte Aufgaben herangeht, wie man denken muss!
Einfach Deine Ideen und Vorstellungen aufschreiben, wie Du es anderen bei bringst - oder als Lehrer beibringen würdest!

Relicted 10. Okt 2008 12:04

Re: Ansätze zum Programmieren
 
danke für den hinweis. mal schauen vielleicht komme ich ja mal irgendwann dazu das mal nieder zu schreiben.

QuickAndDirty 10. Okt 2008 12:19

Re: Ansätze zum Programmieren
 
Nur mal so am Rande, "Informatik Lehrer" sind keine "Programmieren Lehrer".
Programmieren konnte ich Amiga Basic schon in der als ich noch 4. Klasse war, aber in der Informatik-Differenzierung in der 7. Klasse habe ich ne Menge über boolsche Algebra , Modellierung, Laufzeiten, Gatter/Speicher/Flipflops, etc. gelernt. Ganz ohne zu Programmieren.
Als wir dann in der Oberstufe nur noch 8 Leute waren, in dem Informatik Kurs, konnte man in Ruhe diverse Algorithmen auch mal als Programm abbilden, aber es ging hier vordergründig um die Theorie und nicht ums Programmieren...

Programmieren und Software-Engineering wird an Schulen meines Wissens nicht unterrichtet, aber man kann es sich sehr gut selbst beibringen.

DeddyH 10. Okt 2008 12:37

Re: Ansätze zum Programmieren
 
Es gibt da auch noch den PAP und das Struktogramm, wurde bislang noch gar nicht erwähnt ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz