Rechnen mit Lazarus
-
- Beiträge: 1
- Registriert: Di 12. Apr 2022, 10:13
Rechnen mit Lazarus
Hallo,
und zwar habe ich aktuell Zuhause die Aufgabe, Editfeld 1/ Editfeld2 zu rechnen, um den Tankverbrauch raus zu bekommen.
Jedoch habe ich aktuell von dem Programm wenig Ahnung und bräuchte deshalb eure Hilfe.
Wie kann ich das kurz und knackig hinbekommen?
Muss ich da mit Integer arbeiten?
Hier das Beispiel
https://ibb.co/k4VfQ5S
Danke im Voraus
und zwar habe ich aktuell Zuhause die Aufgabe, Editfeld 1/ Editfeld2 zu rechnen, um den Tankverbrauch raus zu bekommen.
Jedoch habe ich aktuell von dem Programm wenig Ahnung und bräuchte deshalb eure Hilfe.
Wie kann ich das kurz und knackig hinbekommen?
Muss ich da mit Integer arbeiten?
Hier das Beispiel
https://ibb.co/k4VfQ5S
Danke im Voraus
Re: Rechnen mit Lazarus
Und zwar genau!

Re: Rechnen mit Lazarus
Ich hoffe, dass dir hier niemand eine fertige Lösung präsentiert. Die musst du schon selbst hinkriegen. Wir können nur ein paar Tips geben.
Edit-Felder sind Controls zur Anzeige und Eingabe von Texten. "Rechnen" kannst du damit per se nicht. Du kannst aber die in den Edit-Feldern gespeicherten Texte (Edit1.Text, Edit2.Text) nehmen, in eine Zahl umwandelt (StrToInt(...) oder StrToFloat(...)) und diese durcheinander dividieren. Für die Anzeige in einem Label musst du dann die erhaltene Zahl wieder in einen String zurückverwandeln (IntToStr(...) oder FloatToStr(...)) und diesen der Caption-Property des Labels zuweisen.
Die Frage, ob du mit Integern oder Gleitkommazahlen rechnen musst, beantwortet sich, wenn du auf die Tank-Uhr schaust: Zeigt die nur ganze Liter an, oder auch Dezimalstellen?
Edit-Felder sind Controls zur Anzeige und Eingabe von Texten. "Rechnen" kannst du damit per se nicht. Du kannst aber die in den Edit-Feldern gespeicherten Texte (Edit1.Text, Edit2.Text) nehmen, in eine Zahl umwandelt (StrToInt(...) oder StrToFloat(...)) und diese durcheinander dividieren. Für die Anzeige in einem Label musst du dann die erhaltene Zahl wieder in einen String zurückverwandeln (IntToStr(...) oder FloatToStr(...)) und diesen der Caption-Property des Labels zuweisen.
Die Frage, ob du mit Integern oder Gleitkommazahlen rechnen musst, beantwortet sich, wenn du auf die Tank-Uhr schaust: Zeigt die nur ganze Liter an, oder auch Dezimalstellen?
-
- Beiträge: 1061
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: Rechnen mit Lazarus
Ist ja lobenswert dass im Unterricht Lazarus und damit Pascal benutzt wird. Heureka!
Nur... lassen neuerdings die Lehrer ihre Schüler im Regen stehen oder hat da jmd in der Stunde geschlafen?
Zudem gibts YT Videos die das fast erklären.....grübel
Nur... lassen neuerdings die Lehrer ihre Schüler im Regen stehen oder hat da jmd in der Stunde geschlafen?
Zudem gibts YT Videos die das fast erklären.....grübel
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Rechnen mit Lazarus
Erster Gedanken:
Man kann keinen Integer verwenden, da der Tankverbrauch meist mit Kommastellen angegeben wird.
Damit kann mal sagen:
var
Verbrauch: single;
Damit das ganze einfach wird, würde ich einen Button unterhalb der beiden Editfelder plazieren und den doppelklicken. Damit wird ein Basisevent ezeugt.
Somit kann man mit StrToFloat(Edit1.Text) sich den Test aus dem editfeld holen und zugleich in einen Floatwert umwandeln lassen. Lass dich durch den Begriff Float jetzt nicht verwirren. Der Typ single ist für die Umwandlung passend.
Machst du das mit dem zweiten Editfeld auch, so hast du beide Werte passend.
Das Ergebnis kann man mit FloatToStr(Verbrauch) wieder als Text zurückwandeln. Falls du das in einen Editfeld ausgibst, so verwende wieder die Text Eigenschaft. Nimmst du ein Label, so muss man Label1.Caption - sprich die Caption Eigenschaft nehmen um es auszugeben.
Zusammenbauen musst du selbst. Weil ich bekomme für eine Lösung keine Noten.
PS: Ein Lehrer der Lazarus im Unterricht einsetzt liest nomalerweise hier mit - das muss man berücksichtigen.

Man kann keinen Integer verwenden, da der Tankverbrauch meist mit Kommastellen angegeben wird.
Damit kann mal sagen:
var
Verbrauch: single;
Damit das ganze einfach wird, würde ich einen Button unterhalb der beiden Editfelder plazieren und den doppelklicken. Damit wird ein Basisevent ezeugt.
Somit kann man mit StrToFloat(Edit1.Text) sich den Test aus dem editfeld holen und zugleich in einen Floatwert umwandeln lassen. Lass dich durch den Begriff Float jetzt nicht verwirren. Der Typ single ist für die Umwandlung passend.
Machst du das mit dem zweiten Editfeld auch, so hast du beide Werte passend.
Das Ergebnis kann man mit FloatToStr(Verbrauch) wieder als Text zurückwandeln. Falls du das in einen Editfeld ausgibst, so verwende wieder die Text Eigenschaft. Nimmst du ein Label, so muss man Label1.Caption - sprich die Caption Eigenschaft nehmen um es auszugeben.
Zusammenbauen musst du selbst. Weil ich bekomme für eine Lösung keine Noten.

PS: Ein Lehrer der Lazarus im Unterricht einsetzt liest nomalerweise hier mit - das muss man berücksichtigen.


Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Rechnen mit Lazarus
Such dir ein Grundlagentutorial, da wirst du in der ersten Stunden genau das erklärt bekommen wie das funktioniert
https://wiki.freepascal.org/Lazarus_videos
Tutorial 1-4 und du hast dein fertiges Programm. Brauchst du nur Nachmachen und leicht abhändern. Und die vorherigen Teilnehmer haben dir die Lösung auch schon fast gesagt.
Jedoch solltest du dir vorher noch genau Gedanken machen über die Aufgabenstellung; Ich schätze, das ist der schwierigere Teil
Was genau willst du denn rechnen? Bei deiner Schilderung ist mir die nämlich noch Unklar (Was bedeutet Editfeld1 / Editfeld2 zu rechnen?!).
Tankverbrauch heißt ein Auto tankt an der Tankstelle voll X Liter. Fährt Y km. Und verbraucht auf Y km Z Liter? Wieviel Liter ist dann im Tank? Oder wieweit schafft ein Auto mit X Liter km? Oder willst du vielleicht einen Tankstellenpreis ausrechnen? Oder ob es das Auto bis zur nächsten Tankstelle schafft? ... Je nachdem sieht die Formel dann anders aus.
Du suchst/hast vermutlich eine Matheformel, die du in Lazarus umsetzen musst. Wenn du deine Formel gefunden hast, hast du das mit Tutorial 1-4 schnell zusammengeklickt.
Es kann auch hilfreich sein, dass ganze zuerst in Excel zu machen und dann in Lazarus.
https://wiki.freepascal.org/Lazarus_videos
Tutorial 1-4 und du hast dein fertiges Programm. Brauchst du nur Nachmachen und leicht abhändern. Und die vorherigen Teilnehmer haben dir die Lösung auch schon fast gesagt.
Jedoch solltest du dir vorher noch genau Gedanken machen über die Aufgabenstellung; Ich schätze, das ist der schwierigere Teil

Tankverbrauch heißt ein Auto tankt an der Tankstelle voll X Liter. Fährt Y km. Und verbraucht auf Y km Z Liter? Wieviel Liter ist dann im Tank? Oder wieweit schafft ein Auto mit X Liter km? Oder willst du vielleicht einen Tankstellenpreis ausrechnen? Oder ob es das Auto bis zur nächsten Tankstelle schafft? ... Je nachdem sieht die Formel dann anders aus.
Du suchst/hast vermutlich eine Matheformel, die du in Lazarus umsetzen musst. Wenn du deine Formel gefunden hast, hast du das mit Tutorial 1-4 schnell zusammengeklickt.
Es kann auch hilfreich sein, dass ganze zuerst in Excel zu machen und dann in Lazarus.
Zuletzt geändert von Epcop am Mi 11. Mai 2022, 17:11, insgesamt 1-mal geändert.
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Rechnen mit Lazarus
Das wäre die Frage nach der Aufgabenstellung. Wenn sie nicht weiter spezifiziert ist, liegt Single oder Double als Datentyp und die Berechnung in Liter pro 100 Kilometer als übliche Maßeinheiten nahe.af0815 hat geschrieben: Di 12. Apr 2022, 20:18 Erster Gedanken:
Man kann keinen Integer verwenden, da der Tankverbrauch meist mit Kommastellen angegeben wird.
Davon kann kann ohne genaue Anforderung auch abweichen und den Verbrauch in Zentiliter pro Kilometer angeben; dann dürften auch mit Integer nicht allzugroße Rundungsdifferenzen auftreten.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Rechnen mit Lazarus
Na sowas! Kannte ich noch gar nicht. Ich depp habe bisher immer auf YT, Udemy gesucht.