Ich brauche Hilfe bei einem Lazarus Programm. Kann mir jemand weiterhelfen?

4 Antworten

Du sollst auf 3 Zahlen dir größte raussuchen? Denk mal nach... wie machst du das von Hand? Und genau das tippst du jetzt in den Code....

Woher ich das weiß:Studium / Ausbildung – Informatikstudium

HansQuarkWurf 
Beitragsersteller
 03.11.2016, 17:57

Ich bin soweit, dass ich jeweils 3 mal 2 Zahlen miteinander vergleiche und doch stimmt etwas nicht. Das Programm funktioniert nur wenn die größte Zahl nicht die erste ist. Deswegen bin kich sehr verwirrt.

0
triopasi  03.11.2016, 17:59
@HansQuarkWurf

1. Ohne Code kann dir keiner sagen, was an deinem Code falsch is...

2. Dann hast du iwas vergessen... siehe 1.

0
HansQuarkWurf 
Beitragsersteller
 03.11.2016, 18:08

Ich habe den Quellltext als Antwort gepostet.

0
triopasi  03.11.2016, 18:10
@HansQuarkWurf

Formatier deinen Code mal bitte ordentlich, das ist ja grauenhaft.

Zudem: Überdenke mal wie du die Prüfungen machst... da fehlt definitiv was...

0
uses Math;
procedure TForm1.Button1Click(Sender:TObject);
var
  zahlen: Array[0..2] of Float;
begin
  zahlen[0] := strtofloat(edit1.text);
  zahlen[1] := strtofloat(edit2.text);
  zahlen[2] := strtofloat(edit3.text);
  edit4.text := floattostr(MaxValue(zahlen));
end.

Hab hier leider gerade keinen ObjectPascal-Compiler zur Hand aber das sollte doch funktionieren. Vergiss bitte die manuelle Prüfung mit if/else. Quasi jede Programmiersprache bietet hierfür entsprechende Funktionen.


HansQuarkWurf 
Beitragsersteller
 03.11.2016, 18:46

Ich habe das ausprobiert und es funktioniert. Jetzt habe ich noch eine Frage aus reinem Interesse: Wofür steht bei den Variablen das of Float? Vielen Dank nochmals.

0
Dory1  03.11.2016, 18:49
@HansQuarkWurf

Float steht für Kommazahl - ein Array aus Zahlen mit (möglicherweise) Nachkommastellen. Wenn du nur Ganzzahlen erlauben willst musst du den Datentyp Integer wählen und strtoint anstatt strtofloat verwenden.



1

http://www.freepascal.org/docs-html/rtl/math/maxvalue.html

Maxvalue returns the largest value in the data array with integer or float values

uses Math;

...

MaxValue(zahlen_array);

HansQuarkWurf 
Beitragsersteller
 03.11.2016, 17:52

Tut mir wirklich leid, aber das verstehe ich leider nicht wirklich, weil wir das in der Schule noch nicht hatten. Aber trotzdem Danke für deine Hilfsbereitschaft.

0

@triopasi Ich weiß, dass ist nicht sehr professionell, aber wiegesagt haben wir noch nicht soviel dazu gelernt. Aber vielleicht kannst du mir ja trotzdem helfen...

 - (programmieren, Informatik, lazarus)