Bonjour,
j'ai un programme T.P. auquel je ne comprend strictement rien.
Doux seigneurs, et gentes dames, au secours!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
Program;
var T: array[1..20001] of integer; 
     U,S,i,n: Integer; 
     coincide: boolean;
begin
randomize;
for i:=1 to 20001 do T[i]:=1+random(2000);
end;
i:=1; coincide:=False;
Repeat
i:=i+1.
S:=0;
While (S<i-1) and NOT coincide DO
begin
S:=S+1;
If T[S]=[i] then coincide:= true;
end;
until coincide:=true;
U:=i;
for n:=1 to i do writeln(T[n],',');
writeln('U=',U); writeln('S=',S);
end.
Les questions demandées sont:
1- Que fait la première boucle fort?
2-Que sont U et S à la fin du programme?
3-Pourquoi est-il certain que le nombre de passage dans la boucle repeat...until est fini?