• Aucun résultat trouvé

begin repeat writeln('Donner n entre 2..10

N/A
N/A
Protected

Academic year: 2022

Partager "begin repeat writeln('Donner n entre 2..10"

Copied!
2
0
0

Texte intégral

(1)

program password;

uses wincrt;

type

tab=array[1..10] of string;

var

tid,tpw:tab;

n,i:integer;

procedure saisie(var n:integer);

begin repeat

writeln('Donner n entre 2..10');

readln(n);

until n in [2..10] ; end;

function verif(ch:string):boolean;

var

j:integer;

test:boolean;

begin j:=0;

repeat inc(j);

test:=upcase(ch[j]) in ['A'..'Z','0'..'9'];

until (test=false) or (j=length(ch));

verif:=test;

end;

function unique(tid:tab;j:integer):boolean;

var

k:integer;

test:boolean;

begin k:=j;

repeat k:=k-1;

test :=tid[k]=tid[j];

until (k=1) or (test);

unique:=not(test);

end;

procedure remplir(var tid,tpw:tab; n:integer);

var

i:integer;

begin repeat

writeln('Donner l''ID 1');

readln(tid[1]);

writeln('Donner le mot de passe de l''ID ',tid[1]);

readln(tpw[1]);

until (verif(tid[1])) and (verif(tpw[1])) and (length(tpw[1])>=6);

for i:=2 to n do repeat

writeln('Donner l''ID ',i);

readln(tid[i]);

writeln('Donner le mot de passe de l''ID ',tid[i]);

readln(tpw[i]);

until (unique(tid,i)) and (verif(tid[i])) and (verif(tpw[i])) and (length(tpw[i])>=6) end;

function chercheId(id:string;tid:tab;n:integer):integer;

var

p,j:integer;

begin

(2)

p:=0;

for j:=1 to n do if tid[j]=id then p:=j;

chercheId:=p;

end;

procedure verification(tid,tpw:tab;n:integer);

var

id,pw:string;

begin repeat

writeln('Donner votre ID :');

readln(id);

writeln('Donner votre Mot de Passe :');

readln(pw);

until verif(id) and verif(pw) and (length(pw)>=6);

if (chercheId(id,tid,n)<>0) and (tpw[chercheId(id,tid,n)]=pw) then writeln(ID, ', bienvenue sur notre site')

else if chercheId(id,tid,n)=0 then

writeln('Verifiez votre Identificateur et/ou votre mot de passe')

else if (chercheId(id,tid,n)<>0) and (tpw[chercheId(id,tid,n)]<>pw) then writeln('Verifiez votre Identificateur et/ou votre mot de passe');

end;

begin saisie(n);

remplir(tid,tpw,n);

verification(tid,tpw,n);

end.

Références

Documents relatifs

Déterminer une base et la dimension de

Notations : v.a. signifie variable al´ eatoire r´ eelle. N est l’ensemble des entiers naturels, R celui des r´ eels. ind´ ependantes de mˆ eme loi exponentielle de param` etre 1.

Lorsqu’on fait réagir une solution d’hydroxyde de sodium sur l’huile d’olive, on obtient un savon dit de « Marseille ».L’huile d’olive contient essentiellement de

[r]

[r]

[r]

[r]

Une source ponctuelle et un écran sont séparés par une distance fixe F. Entre la source et l’écran, on place parallèlement à l’écran un disque de rayon R.. l ) est une unité