![]() |
1x1 programmieren
Hallo zusammen,
wir haben von unserer Informatik Lehrerin folgende Hausaufgabe über die Ferien aufbekommen: "programmiert das 1x1 und die Zinsrechnung" (original Ton) Ich dachte mir dann dass, wir das so machen sollen, dass man die Zahl eingibt und die Ausgabe dann alle einzelnen Multiplikationen in einer Tabelle wiedergibt. Also Bsp.: Eingabe '5', Ausgabe: '1x5=5 2x5=10 ... usw' DAS Problem dabei ist: Wir sind in der 10. Klasse, hatten noch nie etwas mit Delphi zutun. Sie hat uns nur ein Buch hingeworfen, welches wir nicht mal mit nach Hause nehmen durften, mit dem wir arbeiten sollen... Kann mir jemand ein paar Tips geben wie ich damit anfange, bzw wie ich das Problem lösen kann? Falls das ein Doppelpost, oder der falsche Thread ist - entschuldigt! mfg Rübe |
AW: 1x1 programmieren
Hallo und Willkommen.
Hast du Delphi oder Lazarus installiert? Was habt ihr bislang in Informatik behandelt? (Flussdiagramm, ...)? Was war dein original Ton an die Lehrerin nach Erteilung der Aufgabe? |
AW: 1x1 programmieren
Willkommmen in der DP.
So ganz ohne den Kontext fällt es schwer etwas hierzu zu schreiben. Welche Oberfläche soll denn das Programm haben? Soll es ein "normales" Windowsprogramm sein, in dem man Eingabefelder hat oder soll es ein Kommandozeilenprogramm sein? Gruß K-H |
AW: 1x1 programmieren
Zitat:
Um dir behilflich sein zu können, wäre es wichtig, folgende Fragen zu klären:
|
AW: 1x1 programmieren
Programmiert wird es in Lazarus IDE v1.4.2 und ist ein normales Windowsprogramm.
Im Unterricht haben wir schon PAP und Struktogram behandelt. Bis jetzt haben wir Addition zweier Zahlen, Berechnung von Körpern, Vergleich zweier Zahlen und Ausgabe der Größeren programmiert. Ich habe versucht ein Stringgrid zu programmieren, für das Einmaleins, jedoch weiß ich jetzt nicht was der nächste Schritt ist. In dem Buch, was wir nur für den Unterricht bekommen haben, waren dann auch Schleifen erklärt, also denke ich mal, dass wir das mit Schleifen programieren sollen. Z.B. For-to-do oder For-to-down Danke jetzt schon mal für die schnelle Antwort :) |
AW: 1x1 programmieren
Ihr habt noch nie etwas mit Delphi oder Lazarus zu tun gehabt, aber schon kleinere Programme damit erstellt? :gruebel:
|
AW: 1x1 programmieren
Ohh, meinte eigentlich, dass wir mit Delphi noch nichts zu tun hatten, entschuldige :oops:
|
AW: 1x1 programmieren
Und was konkret möchtest du jetzt wissen :?:
|
AW: 1x1 programmieren
Wenn ich jetzt ein Stringgrid auf dem Formular habe, muss ich es ja noch prgrammieren. Damit man z.B. 5 eingibt und dann erhält man die komplette fünfer Reihe. Also 5x1=5, 5x2=10 usw...
Und jetzt ist mein Problem, dass ich nicht weiß, wie ich das programmieren kann. |
AW: 1x1 programmieren
Tja, wo fängt man da an? Am besten, ich frage mal deinen Kenntnisstand ein wenig ab, wenn du gestattest:
|
AW: 1x1 programmieren
Eigenschaften sind doch sowas wie die Formularfarbe oder Anzahl der Spalten, Zeilen, also wenn du das meinst, weiß ich es. :)
Den Objectinspector kenne ich, da sind ja die ganzen Eigenschaften. Jedoch die letzten 3 Fragen von dir kann ich dir nicht beantworten, weil ich davon noch nie gehört habe. |
AW: 1x1 programmieren
Zitat:
Zitat:
Zitat:
Laufzeit ist die Zeit, während das Programm läuft. Designzeit nennt man die Zeit, während der du am Programm herumbastelst. Wie ändert man Eigenschaften zur Laufzeit? Man ändert die Eigenschaft eines Objekts, hier der Komponente TStringGrid, indem man ihr einen Wert zuweist, z.B. Anzahl der Spalten und Zeilen:
Delphi-Quellcode:
Um ein StringGrid zu verwenden, schaust du dir am besten einmal die Online-Hilfe zu TStringGrid an und studierst die Properties. Das gibt dir ein Gefühl dafür, was man an einem StringGrid alles einstellen und verändern kann.
MyGrid.ColCount := 5;
MyGrid.RowCount := 2; Was ist ein Ereignis? Ein Ereignis ist ein vom Benutzer oder vom Programm angestoßene WindowsMessage. Z.B. gibt es das Ereignis OnClick bei Buttons. Weißt du, wie man eine Ereignisbehandlung schreibt? In die Ereignisbehandlungsmethode zu OnClick schreibst du die Befehle hinein, die beim Klick auf diesen Button ausgeführt werden sollen. Im Objektinspektor findest du die Ereignisse, über die ein Objekt verfügt, im Reiter Ereignisse, gleich neben Eigenschaften. Durch einen Doppelklick auf eines der Ereignisse erzeugst du einen Methodenrumpf, in den du reinschreibst, was bei diesem Ereignis passieren soll. Bevor ich jetzt hier ein komplettes Tutorial schreibe, um dich in die Programmierung mit Delphi einzuführen, fällt mir gerade noch rechtzeitig ein, daß es ja schon fertige Tutorials im Internet gibt, wo du das alles durcharbeiten kannst. Und genau das solltest du tun, denn deine rudimentären Kenntnisse genügen noch nicht, um ein funktionsfähiges Programm zu schreiben – und mit Schreiben meine ich wirklich schreiben und nicht nur zusammenklicken. Welches Tutorial oder Anfängerkochbuch für dich passend ist, kannst du selbst herausfinden, indem du Tante Google mit den richtigen Suchbegriffen – z.B. Lazarus Anfänger Einsteiger Tutorial – fütterst. |
AW: 1x1 programmieren
Okey, also brauche ich für das kleine Einmaleins Buttons und kein Stringgitter?
Und was soll ich als Befehl hineinschreiben? Ich habe bei Google schon alles mögliche eingegeben, jedoch erhalte ich keine nützliche Seite, auf der ich mich über das Programmieren von dem kleinen Einmaleins informiren kann. :/ |
AW: 1x1 programmieren
|
AW: 1x1 programmieren
Ein Grid ist schon OK zur Darstellung des Ganzen. Würde die Zahlen von 1 bis 10 in der obersten reihe und ersten Spalte des Grids schreiben (das Grid daher mit 11 Spalten und 11 Reihen). In jedes weitere Kästchen des Grids nun das Ergebnis der Multiplikation aus Spalte*Reihe.
Zitat:
Delphi-Quellcode:
procedure TForm1.StartButtonClick()
begin DimensioniereGrid; SchreibeKopfZeileUndSpalte; SchreibeEinMalEinsFelder; end; procedure TForm1.DimensioniereGrid() begin //Setzte hier die RowCount / ColumnCount Eigenschaft des Grids auf 11 um die //Anzahl Reihen/Spalten des Grids festzulegen end; procedure TForm1.SchreibeKopfZeileUndSpalte() begin // Hier braucht man z.B. eine For-Schleife // Und muss wissen wie man etwas in ein Grid schreibt (Spalten/Zeilen-Index fängt bei 0 an!) end; procedure TForm1.SchreibeEinMalEinsFelder() begin // Hier braucht man z.B. zwei inneinander geschachtelte For-Schleifen // Und muss wissen wie man etwas in ein Grid schreibt (Spalten/Zeilen-Index fängt bei 0 an! // Was man hier aber prächtig ignorieren kann, da in 0 ja jetzt die Headerzeile/-Spalte ist). end; |
AW: 1x1 programmieren
Zitat:
Du solltest zunächst einmal einen Programmablaufplan erstellen, der alles beschreibt, was Dein Programm können soll. Dann kann man dazu übergehen konkret zu kodieren. Gruß K-H |
AW: 1x1 programmieren
Ganz ohne Grundkenntnisse sehe ich da wenig Chancen!
Meine Tipps für beide Programme: - Erstmal mit der Entwicklungsumgebung vertraut machen, ein einfaches Formular compilieren. - Danach ein paar Labels, Eingabefelder, Memos, Buttons, Text auf das Formular machen und versuchen Texte zu ändern, eingaben zu lesen, zu vertauschen, irgendwie damit spielen, schauen was die Unterschiede zwischen den einzelnen sind usw. Einfach das du mit den basics vertraut wirst. Damit wird schon genügend Zeit vergehen ist aber absolut notwendig. - Sofern noch nicht geschehen solltest du einigermaßen Wissen was Variablen sind (natürlich auch wie man sie ändern usw.), Schleifen, Bedingungen. Das sind die Basics von beiden Programmen und überhaupt immer notwendig ;) Ohne das wirst du das nicht können. Hilfreich sind klassische Hello-World Tutorials. Danach würde ich mit den Zinsrechnung beginnen, da m. M. einfacher: Drei Labels, drei Eingabefelder (Grundwert, Prozentwert, Prozentsatz) ein Button. Wenn du mit dem oberen vertraut bist, bist du eigentlich schon fast fertig. Je nachdem was vom Zinsrechnen (evtl. nochmal ins Mathebuch schauen und handschriftlich üben ;) ) gefordert wird, kannst du die Eingaben dann abfragen und, entsprechend der Formel des Zinsrechnen, dann als Ergebnis anzeigen lassen (z. B. über ein weiteres Label). Wenn du das geschafft hast, ist das 1x1 fast genauso schwer da es praktisch sehr ähnlich ist. 1x1 Programmieren: Mit StringGrid würde ich erst gar nicht anfangen. Allein mit dem StringGrid könnte man sich schon stundenlang beschäftigen und ist für den Anfang zu schwer. Ich würde ein Eingabefeld für die "Reihe" nehmen (z. B. 5) und ein einfaches Memofeld für die Ergebnisse. Das ist am unkomplizierten und genügt. Dann noch Eingabe (Eingabefeld) * 1 bis 10 und das Ergebnis (evtl. mit Aufgabe?) ins Memofeld bringen. Fertig. Optimalerweiße mit einer Schleife. Aber falls das noch zu kompliziert ist, kannst du auch die Zehn Aufgaben mit der Hand schreiben. Die Hauptaufgabe wäre dann bei beiden Programmen erfüllt. Und sofern du gut im lernen bist und dem Lehrer noch Imponieren möchtest, kannst du beide Programme noch erweitern (aber oberes hat priorität): Nur zahleneingabe erlauben, auf leere/falsche Eingaben prüfen, Eingaben Rückgängig machen, Textfelder leeren, Optische verbesserungen wie Ergebnis unterstreichen, das komplette 1x1 automatisch anzeigen, das große einmaleins usw. LG |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz