Lazarus/Geschachtelte Verzweigungen und Verzweigungen in Schleifen
< Lazarus
Wir haben jetzt die "Zutaten" für viele Programme zusammen.
- Einerseits Befehle zum Rechnen, Zeichnen usw.
- Andererseits Anweisungen, die dafür sorgen, dass Befehle oder Gruppen von Befehlen nur unter bestimmten Bedingungen oder auch mehrfach ausgeführt werden (Verzweigungen und Schleifen). Man spricht in diesem Zusammenhang auch allgemein von "Kontrollstrukturen".
Solche Kontrollstrukturen kann man nun kombinieren: Zwischen "Begin" und "End" einer Kontrollstruktur kann durchaus wieder eine weitere Kontrollstruktur stehen.
Das folgende Programm funktioniert, wenn es auf der Oberfläche die Komponenten Edit1, Button1 und Label1 gibt.
1 unit schaltjahr_main;
2
3 {$mode objfpc}{$H+}
4
5 interface
6
7 uses
8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
9
10 type
11
12 { TForm1 }
13
14 TForm1 = class(TForm)
15 Button1: TButton;
16 Edit1: TEdit;
17 Label1: TLabel;
18 procedure Button1Click(Sender: TObject);
19 private
20 { private declarations }
21 public
22 { public declarations }
23 end;
24
25 var
26 Form1: TForm1;
27 jahr : integer;
28
29 implementation
30
31 {$R *.lfm}
32
33 { TForm1 }
34
35 procedure TForm1.Button1Click(Sender: TObject);
36 begin
37 jahr:=StrToInt(Edit1.Text);
38 if (jahr mod 400 = 0)
39 then label1.Caption:='Schaltjahr'
40 else begin
41 if (jahr mod 100 =0)
42 then label1.Caption:='Kein Schaltjahr'
43 else begin
44 if (jahr mod 4 = 0)
45 then label1.Caption:='Schaltjahr'
46 else label1.Caption:='Kein Schaltjahr';
47 end;
48 end;
49
50 end;
51
52 end.
- Einführung
- Technisches
- Komponenten, Eigenschaften, Ereignisse
- Computer-Mathematik
- Verzweigungen
- Spielen mit dem Zufall
- Schleifen
- Computer-Graphik
- Geschachtelte Verzweigungen und Verzweigungen in Schleifen
- Prozeduren, Funktionen und Bibliotheken
- Felder (Arrays)
- Zeichen (Char) und Zeichenkette (String)
- Dateien
- Graphische Komponenten