Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

mardi 21 avril 2020

Baccalauréat 2018 Sujet 3 Corrigé

Program BONNUS; Type tab = Array[1..100] Of string; tab2 = Array[1..100] Of integer; Var T: tab; C:Tab2; n,i: Integer; //********************************************* Function valide(ch:string): Boolean; Var i: Integer; b: Boolean; Begin i:=1; Repeat i:=i+1; if (ch[i] In['0'..'9']) then b:=true else b:=false; until not b or (i=length(ch)); valide := b and (Length(ch)=8)And (ch[1]='6') and (ch[2] in ['5'..'6']); End; //********************************************* function verif(x:string;n:Integer;T :tab): Boolean; Var i: Integer; b:boolean; Begin i := 0; Repeat i:= i+1; if x=t[i] then b:=true else b:=false; Until (b) or (i=n); verif := b; End; //********************************************* function somme(ch:string):integer; var i,S:integer; begin S := 0; For i:=3 To Length(ch) Do S:=S+ord(ch[i])-48; somme:=S; end; //********************************************* Procedure affiche (t:tab;c:tab2;n:Integer) ; Var moy: Real; i,nb: Integer; Begin moy := 0; for i:=1 To n Do moy := moy+c[i]/n; writeln('le montant moyen des consommations est : ',moy:2:2); nb:=0; For i:=1 To n Do If c[i]>=moy then begin Writeln('le numéro ',t[i],' a gagné ',20*somme(T[i]),' DT'); nb:=nb+1; end; If nb<>0 then Writeln('il n''y a pas de gagnant'); End; //********************************************* Begin Repeat Writeln('donner le nombre de clients'); Readln(n); Until n In [10..100]; Repeat Writeln('donner le numéro de téléphone du premier client' ); Readln(t[1]) ; Until valide (t[1]); Repeat Writeln('donner le montant consommé par le premier client' ); Readln(c[1]) ; Until (c[1]>=0); For i:=2 To n Do Begin Repeat writeln('donner le numéro de téléphone du client n°' ,i,':'); readln(t[i]) ; Until valide (t[i]) And verif(t[i],i-1,t) ; repeat Writeln('donner le montant consommé par le client n°',i,':'); Readln(c[i]); until (c[i]>=0); end; affiche(t,c,n); End.
 
Back to top