Registriert seit: 27. Nov 2017
2.508 Beiträge
Delphi 7 Professional
|
AW: Erstellung einer Schleife mit drei Überprüfungen
24. Mai 2021, 12:08
Irgendwie konnte ich es nicht lassen:
Da es ja vorwiegend um die korrekte Nutzung von Schleifen gehen soll und die Verwendung einer For-, eine Repeat-Until und einer While-Schleife gefordert ist, dachte ich mir. "Die Fibonacci-Folge kann man doch auch per Schleife berechnen (statt durch 'hötere Mattetik'."
Dabei rausgekommen ist dann folgendes:
Delphi-Quellcode:
program ueb04;
{$APPTYPE CONSOLE}
{$R+,Q+,X-}
uses
System.SysUtils;
const
LOWER_BORDER = 0;
UPPER_BORDER = 50;
var
even : boolean;
fib : boolean;
twinprim : boolean;
zahl : integer;
Primzahl : integer;
teiler : integer;
uebrig : Integer;
a : Integer;
b : Integer;
c : Integer;
begin
for zahl := LOWER_BORDER to UPPER_BORDER do
begin
// Alles auf Anfang, damit nicht irrtümlicherweise die Ergebnisse der vorherigen Zahl genutzt werden.
even := false;
fib := false;
twinprim := false;
if zahl > 1 then
begin
// Überprüfung ob gerade:
even := (zahl mod 2 = 0);
// Überprüfung ob Primzahl:
teiler := 1;
repeat
teiler := teiler + 1;
uebrig := zahl mod teiler;
until (uebrig = 0);
if (teiler = zahl) then
Primzahl := zahl;
end;
// Überprüfung ob Primzahlzwilling:
if zahl >= 1 then
twinprim := (zahl + 2 = Primzahl) or (zahl - 2 = Primzahl);
// Überprüfung ob Teil der Fibonacci-Folge:
a := 0;
b := 1;
c := 0;
while (a < zahl) and not fib do
begin
c := a + b;
a := b;
b := c;
fib := c = zahl;
end;
WriteLn(zahl, ' even: ', even, ' fib: ', fib, 'twinprim: ', twinprim);
end;
readln;
end.
Das Ergebnis sieht so aus:
Code:
00, even: false, fib: false, twinprim: false
01, even: false, fib: true, twinprim: false
02, even: true, fib: true, twinprim: false
03, even: false, fib: true, twinprim: false
04, even: true, fib: false, twinprim: false
05, even: false, fib: true, twinprim: false
06, even: true, fib: false, twinprim: false
07, even: false, fib: false, twinprim: false
08, even: true, fib: true, twinprim: false
09, even: false, fib: false, twinprim: true
10, even: true, fib: false, twinprim: false
11, even: false, fib: false, twinprim: false
12, even: true, fib: false, twinprim: false
13, even: false, fib: true, twinprim: false
14, even: true, fib: false, twinprim: false
15, even: false, fib: false, twinprim: true
16, even: true, fib: false, twinprim: false
17, even: false, fib: false, twinprim: false
18, even: true, fib: false, twinprim: false
19, even: false, fib: false, twinprim: false
20, even: true, fib: false, twinprim: false
21, even: false, fib: true, twinprim: true
22, even: true, fib: false, twinprim: false
23, even: false, fib: false, twinprim: false
24, even: true, fib: false, twinprim: false
25, even: false, fib: false, twinprim: true
26, even: true, fib: false, twinprim: false
27, even: false, fib: false, twinprim: false
28, even: true, fib: false, twinprim: false
29, even: false, fib: false, twinprim: false
30, even: true, fib: false, twinprim: false
31, even: false, fib: false, twinprim: false
32, even: true, fib: false, twinprim: false
33, even: false, fib: false, twinprim: true
34, even: true, fib: true, twinprim: false
35, even: false, fib: false, twinprim: false
36, even: true, fib: false, twinprim: false
37, even: false, fib: false, twinprim: false
38, even: true, fib: false, twinprim: false
39, even: false, fib: false, twinprim: true
40, even: true, fib: false, twinprim: false
41, even: false, fib: false, twinprim: false
42, even: true, fib: false, twinprim: false
43, even: false, fib: false, twinprim: false
44, even: true, fib: false, twinprim: false
45, even: false, fib: false, twinprim: true
46, even: true, fib: false, twinprim: false
47, even: false, fib: false, twinprim: false
48, even: true, fib: false, twinprim: false
49, even: false, fib: false, twinprim: true
50, even: true, fib: false, twinprim: false
|