Struktogramme

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Gina25
Beiträge: 1
Registriert: Di 22. Nov 2011, 17:59

Struktogramme

Beitrag von Gina25 »

Hallo, ich habe ein Problem. Wir haben für die Schule Übungen mit Struktogrammen bekommen, welche wir in Lazarus programmieren sollen. Allerdings kommt bei einem Struktogramm immer ein Fehler angezeigt, und ich verstehe nicht, wie ich diesen lösen kann. Ich würde mich über Hilfe sehr freuen.

Das Struktogramm:
Das Struktogramm
Das Struktogramm
Meine Lösung:
Meine Lösung
Meine Lösung
Mein Formular
Mein Formular
cats8.jpg (83.76 KiB) 1864 mal betrachtet
Die Fehlermeldung:
Die Fehlermeldung
Die Fehlermeldung
Schonmal im Vorraus Danke für die Hilfe :)

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Struktogramme

Beitrag von knight »

Wem willst du denn das Ergebnis von StrToInt zuweisen?

knight

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Struktogramme

Beitrag von MAC »

Willkommen hier im Lazarusforum.
Ich könnte dir jetzt einfach die Hausaufgabe machen, was ich allerdings nicht mache. Ich verweise dich erstmal auf ein Tutorial, bzw eine Gute seite, weil es dort gute einführungen in Lazarus gibt.
Mein Tipp les dir mal die Tutorials "Mein erstes Delphi Programm" und "Ein kleiner Rechner durch". evt zuvor "Wie fang ich an" grob überfliegen.
Hier die Seite: http://www.delphi-treff.de/tutorials/grundlagen/" onclick="window.open(this.href);return false;
Die Seite ist eigentlich für Delphi konzipiert. Der Quellext sollte sofort in Lazarus klappen...
Danach postest du nochmal den überarbeiteten Quelltext. Und kleine Fehler behebe ich dann.

Code: Alles auswählen

Signatur := nil;

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

Beitrag von af0815 »

Mit einem Label Zeigt man etwas an. Wenn man etwas eingeben will (durch den Benutzer) so verwendet man meistens eine Edit Komponente.

Die meisten Komponeneten die man auf einem Formular plazieren kann, speichern die Information als String (Zeichenkette = Aneinandereihung von Buchstaben). Um Zahlen die als String gespeichert in ein wirkliche Numerische Form zu bekommen, verwendet man 'StrToInt(string)'. StrToInt konvertiert den angegeben String in einen Integer Wert (ganzahlig OHNE Kommastellen).
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Re: Struktogramme

Beitrag von creed steiger »

Deklarier sauber deine Variablen,mach deine Vergleiche und die Ausgabe auf die Labels erst ganz zum Schluss.
Mit dem Struktogramm ist doch schon alles gegeben.

Eingabe- und Ausgabevariablen vorher überlegen und festlegen ist wohl nichtmehr modern :( .

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Struktogramme

Beitrag von mse »

Nur zum Vergleich, mit MSEide+MSEgui ginge das unter Verzicht auf Zwischenvariablen so:

Code: Alles auswählen

type
 tmainfo = class(tmainform)
   a: tintegeredit;
   b: tintegeredit;
   c: tintegeredit;
   m: tintegerdisp;
   procedure ondataenteredexe(const sender: TObject);
 end;
 
var
 mainfo: tmainfo;
 
implementation
uses
 main_mfm;
 
procedure tmainfo.ondataenteredexe(const sender: TObject);
begin
 m.value:= a.value;
 if b.value > m.value then begin
  m.value:= b.value;
 end;
 if c.value > m.value then begin
  m.value:= c.value;
 end;
end;
co4.png
co4.png (3.21 KiB) 1826 mal betrachtet
Gerade für Programmieranfänger ist das gefummel mit IntToStr und StrToInt mühsam und verwirrend.

Antworten