Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi delphi-denkweise (https://www.delphipraxis.net/102195-delphi-denkweise.html)

benutzer pw 24. Okt 2007 20:47


delphi-denkweise
 
Hallo zusammen,

ich arbeite in der Schule (Stufe 11) mit Delphi 6 Enterprise.

Mein Problem ist es, dass wenn ich eine Aufgabe von meinem Lehrer bekomme, sei es (nur als Beispiel) ein Fahrkartenautomaten simulieren. Der Automat soll also zwei Edit Felder haben in die man einmal den Ticketpreis eingibt und dann wieviel Geld man gegeben hat. So soll dann Delphi in einer ListBox ausgeben wieviel Geld man wieder bekommt und dann aber mit dem größten Schein zuerst und dann die größten Münzen usw. Zum Beispiel 6,30€ mit einem 5€ Schein, einem 1€ Stück, 20 Cent und 10Cent.

Das Prinzip der Aufgabe ist ja leicht zu verstehen, aber mein Problem liegt darin zu erkennen wie ich das in Delphi umsetzen soll. Wie macht ihr das? Könnt ihr mir irgendwelche Bücher oder etwas in dieser Richtung empfehlen?! Wenn ich das fertige Programm (also den Quellcode sehe) dann leuchtet mir auch alles ein, aber ich hab das Problem alleine darauf zu kommen.

Ich hoffe ihr versteht mein Problem und könnt mir ein bisschen weiterhelfen!
Danke schonmal.

Viele Grüße
pw

Apollonius 24. Okt 2007 20:51

Re: delphi-denkweise
 
Ich würde hier folgendermaßen vorgehen: Erstmal das Wechselgeld berechnen. Dann schaue ich: Passen da 500€ rein? Wenn ja, wie oft? Entsprechend den Wert abziehen. Passen in den Rest ein 200€ rein, usw.
Zur praktischen Umsetzung solltest du dich mal mit mod und div beschäftigen.

SirThornberry 24. Okt 2007 21:14

Re: delphi-denkweise
 
Hmm, ich kann dazu nur sagen: entweder man kann so linear denken oder nicht
Das ist nicht böse gemeint sondern meine Erfahrung. In meiner Ausbildung hatten wir Leute die das einfach nicht konnten und andere hatten gar keine Probleme.

wenn Leute den Programmablauf aufgeschrieben haben (Strukogramm) haben sie teilweise die Ausgabe vor der Eingabe gehabt was einfach nicht funktionieren kann.
Bevor du mit Delphi an die Sache heran gehst solltest du dir hauptsächlich Gedanken darüber machen was der Reihen nacht kommt (egal ob du es in deutsch aufschreibst oder in Delphi)

BullsEye 24. Okt 2007 21:22

Re: delphi-denkweise
 
Du solltest wirklich mit Struktogrammen o.ä. arbeiten und wenn du das net allzuschnell machst und etwas überlegt an die Sache rangehst, sollte es eig gehen. Am Anfang kam ich auch net wirklich mit den Dingen in der Schule klar aber wenn man nen bissel Zeit investiert und überlegt ist das gar nicht mal schwer, man muss halt nur den dreh raus haben.

DeddyH 24. Okt 2007 22:17

Re: delphi-denkweise
 
Zitat:

Zitat von SirThornberry
Hmm, ich kann dazu nur sagen: entweder man kann so linear denken oder nicht

Das würde ich in dieser Form nicht unterschreiben. Gerade, wenn man anfängt zu programmieren, ist es oft nicht leicht, sich soweit "herunterzudenken", dass es der PC auch versteht. Der macht eben das, was man ihm sagt und nicht das, was man eigentlich meinte (man darf eben nicht vom "gesunden Menschenverstand" ausgehen). Diese Erkenntnis zu erlangen dauert eben bei dem Einen länger als bei dem Anderen. Ansonsten geb ich Euch Recht, Struktogramme und Schreibtischtests helfen einem über viele Schwierigkeiten hinweg.

P.S.: willkommen in der DP :dp:

mkinzler 24. Okt 2007 22:19

Re: delphi-denkweise
 
Überlege einfach wie du das machen würdest und versuch dann das in einen Algorithmus zu giessen.

WoGe 24. Okt 2007 22:49

Re: delphi-denkweise
 
Hallo
mir leuchtet nicht wirklich ein, warum ein Programmieranfänger nicht mit der Ausgabe anfangen sollte.
Er macht sich einen Knopf und eine Listbox auf ein Formular und versucht mittels dieses Knopfes simple "5,30 Euro" in die Listbox zuschreiben.
Hat er das geschafft, hat er das erste Erfolgserlebnis.
Dann kann er versuchen den Betrag zu zerlegen und anzuzeigen.
Dann hat er das zweite Erfolgserlebnis.
Dann kann er dieses "Modul/Objekt" parametrisieren und hat...

Und da wir hier jetzt ein Ausgabeobjekt haben, könnten wir an dieser Stelle überlegen, wie es mit einem Eingabe(teilchen) verbunden wird.
Dieses Verfahren hat durchaus Sinn, da wir mit kleinen überschaubaren Häppchen anfangen ohne von der Komplexität eines kompletten Programmes erschlagen zu werden.

und nun Happy Programming
wo

guidok 25. Okt 2007 06:18

Re: delphi-denkweise
 
Zitat:

DAS fertige Programm
...gibt es auch nicht, da es in der Regel viele Möglichkeiten gibt eine Aufgabe zu lösen, manche elegant und schnell, manche unübersichtlich und lahm.

Der Schlüssel liegt darin das ganze Problem in kleinere Probleme zu zerlegen und diese dann in Programmcode umzusetzen und sich die passenden Datenstrukturen (records oder klassen) zu überlegen, die einem die spätere Arbeit erleichtern. Schau dich doch mal nach "bottom up" oder "top down" Methoden um, dazu müsste einiges zu finden sein.
Davon abgesehen hat Sir Thornberry schon irgendwie recht. Mancher hat die Lösung schon vor Augen, sobald er das Problem beschrieben bekommt und andere brauchen halt etwas länger. Erfahrung spielt dabei natürlich auch eine Rolle (darum bekommt ihr ja solche Aufgaben).

milo 25. Okt 2007 08:05

Re: delphi-denkweise
 
Ich sehe das ähnlich wie mkinzler. Wenn ich eine Aufgabe zu lösen habe, versuche ich mir erst einmal vorzustellen, wie ich das als Mensch lösen würde. Also letztlich meine Vorgehensweise als Individuum. Die Schritte kann ich mir notieren udn komme so meistens auf einen Lösungsansatz.
Die prinzipielle Umsetzung einer Lösung in eine bestimtme Sprache ist dann Fleissarbeit. Lernen, welche Hilfsmittel ich zur Verfügung habe und diese dann in eine abstrakte Sprache bringen.

Gruß :D Milo

oldmax 26. Okt 2007 06:02

Re: delphi-denkweise
 
Hi
Delphi-Denkweise ?? Nein. Lerne. wie schon in den vorangegangenen Antworten angesprochen, deine Handlungsweise, dein Vorgehen zu erkennen und bilde dies in deinem Programm ab. Ob lineares Denken notwendig ist, weiß ich so nicht zu bestätigen, aber analytisches auf jeden Fall.
z.B. ein alltäglicher Vorgang : Kaffee kochen zum Frühstück
Was tun wir ?
Filter in Maschine ( Parameter )
Wasser in Maschine ( Parameter )
Kaffee in Maschine ( Parameter )
Maschine einschalten ( Aufruf )
Kaffee entnehmen ( Rückgabewert )

Programmtechnisch gesehen eine Funktion, die auf diese Weise immer das gleiche macht, für Karl, Otto und Manuela....
Ebenso kann man den Eierkocher betrachten und und und...
Nun zum Programm. Lernen muß man mit Sicherheit Syntax und Programmelemente, die nichts anderes sind als vorgefertigte Prozeduren und Funktionen.. (die Welt der Programmierung mit Bitfolgen im HexCode ist tiefste Vergangenheit... aber daraus entstanden die heutigen Programmiersprachen)
Nun wissen wir auch allgemein, Computer sind dumm, aber emsig. Daher können wir ihnen in einer Befehlsfolge ein Programm schreiben und dieses immer und immer wieder abarbeiten lassen. Darüber denke nach, wenn du ein Programm schreiben willst. Wie ist der Ablauf und zwing dich dazu, deine Handlung in ganz kleine Elemente zu zerlegen. So ist dein Gehen nicht einfach nur eine Routine. Werd dir mal bewußt, was dazu in der Steuerung der Muskeln für ein Programm ablaufen muß, nur um einen Schritt zu machen. Wenn das klar ist, ist der Spaziergang nur die Wiederholung dieses Programmes...
Gelingt es dir "herunterzudenken", dann klappt's auch mit der Programmierung, egal in welcher Sprache.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:15 Uhr.
Seite 1 von 2  1 2      

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