T
Trekkii
Gast
Das folgende Programm stellt fest, ob ein Suchwert in einem Feld von bis zu 100 integer Zahlen vorkommt:
Hallo zusammen,
meine Frage: Warum steht in Zeile 42 in der 2.Bedingung der while-Schleife (not gefunden) ?
Das ist mir irgendwie noch nicht verständlich.
LG
HTML:
program FeldSucheA (input, output);
{ stellt fest, ob ein Suchwert in einem Feld
* von bis zu 100 integer-Zahlen vorkommt }
const
MAX = 100;
MAXPLUS1 = 101;
type
tIndex = 1..MAX;
tZahlenfeld = array [tIndex] of integer;
tIndexPlus1 = 1..MAXPLUS1;
var
Feld : tZahlenFeld;
Groesse,
Suchwert : integer;
i : tIndexPlus1;
gefunden : boolean;
begin
{ Eingabe der Feldgroesse solnage, bis eine
* Feldgroesse zwischen 1 und MAX eingegeben wird. }
repeat
write ('Anzahl Werte (max. ', MAX, '): ');
readln (Groesse)
until (1 <= Groesse) and (Groesse <= MAX);
{ Eingabe des Zahlenfelds und des Suchwerts }
for i := 1 to Groesse do
begin
write (i, '. Wert: ');
readln (Feld[i]);
end;
write ('Suchwert: ');
readln (Suchwert);
{Prüfen des gesamten Feldes bis zum Sucherfolg oder
* bis zum letzten eingelesenen Wert }
gefunden := false;
i := 1;
while (i <= Groesse) and (not gefunden) do
if Feld[i] = Suchwert then
gefunden := true
else
i := i + 1;
{ Ende der while Schleife }
{Falls Groesse = MAX ist und Suchwert nicht gefunden
* wird, gilt nach Verlassen der while-Schleife
* i := MAXPLUS1. Daher obige Deklaration für i. }
if gefunden then
writeln ('Der Wert steht an Position ', i, '.')
else
writeln ('Der Wert kommt nicht vor.')
end. { FeldSucheA }
Hallo zusammen,
meine Frage: Warum steht in Zeile 42 in der 2.Bedingung der while-Schleife (not gefunden) ?
Das ist mir irgendwie noch nicht verständlich.
LG