Program S1;
Type
tab = array[1..20] Of integer;
Var
p,n : integer;
t : tab;
//**************************************
Procedure saisie(Var t:tab; Var n:integer);
Var
i : integer;
Begin
Repeat
write('saisir la dimension du tableau: ');
readln(n);
Until (n In [5..20]);
randomize;
For i:=1 To n Do
t[i] := random(9000)+1000;
End;
//**************************************
Function veriftotal(p,n:integer;t:tab) : boolean;
Var
ok : boolean;
i : integer;
Begin
ok := false;
i := 1;
While (ok=false) And (i<=n) Do
If (t[i]=p) Then
ok := true
Else
i := i+1;
veriftotal := ok;
End;
//**************************************
Function verifpartielle(p,n:integer;t:tab) : boolean;
Var
ok : boolean;
i,pg : integer;
Begin
ok := false;
i := 1;
pg := p Div 10;
While (ok=false) And (i<=n) Do
If ((t[i] Div 10)=pg) Then
ok := true
Else
i := i+1;
verifpartielle := ok;
End;
//**************************************
Procedure affiche(t:tab; n:integer);
Var
i : integer;
Begin
For i:=1 To n Do
write(t[i]:7);
End;
//**************************************
Begin
saisie(t,n);
writeln;
writeln(' ------------ Elts du tableau ----');
writeln;
affiche(t,n);
writeln;
writeln('-----------------------------------');
writeln;
Repeat
write('Saisir un entier de 4 chiffres p: ');
readln(p);
writeln;
writeln('---------------------------------');
writeln;
Until (p>1000) And (p<9999);
If (veriftotal(p,n,t)) Then
writeln('p= ',p,' appartient totalement à T!!')
Else If (verifpartielle(p,n,t)) Then
writeln('p= ',p,' appartient partiellement à T!!')
Else
writeln('p= ',p,' n''appartient pas à T!!')
End.
Inscription à :
Publier les commentaires (Atom)