Rechnen mit Lazarus

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
3Fragezeichen
Beiträge: 1
Registriert: Di 12. Apr 2022, 10:13

Rechnen mit Lazarus

Beitrag von 3Fragezeichen »

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

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Rechnen mit Lazarus

Beitrag von theo »

3Fragezeichen hat geschrieben:
Di 12. Apr 2022, 10:16
Muss ich da mit Integer arbeiten?
Und zwar genau! :wink:

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Rechnen mit Lazarus

Beitrag von wp_xyz »

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?

charlytango
Beiträge: 843
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

Beitrag von charlytango »

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

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
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

Beitrag von af0815 »

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. :mrgreen:

PS: Ein Lehrer der Lazarus im Unterricht einsetzt liest nomalerweise hier mit - das muss man berücksichtigen. :shock: :lol:
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Epcop
Beiträge: 140
Registriert: Di 29. Mai 2012, 09:36

Re: Rechnen mit Lazarus

Beitrag von Epcop »

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.
Zuletzt geändert von Epcop am Mi 11. Mai 2022, 17:11, insgesamt 1-mal geändert.

Socke
Lazarusforum e. V.
Beiträge: 3158
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

Beitrag von Socke »

af0815 hat geschrieben:
Di 12. Apr 2022, 20:18
Erster Gedanken:
Man kann keinen Integer verwenden, da der Tankverbrauch meist mit Kommastellen angegeben wird.
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.
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

hum4n0id3
Beiträge: 301
Registriert: So 5. Mai 2019, 15:23

Re: Rechnen mit Lazarus

Beitrag von hum4n0id3 »

Epcop hat geschrieben:
Di 12. Apr 2022, 23:05
https://wiki.freepascal.org/Lazarus_videos
Na sowas! Kannte ich noch gar nicht. Ich depp habe bisher immer auf YT, Udemy gesucht.

Antworten