Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

samedi 25 avril 2020

Baccalauréat 2008 SI Sujet 2 Corrigé

Program sujet2 ; Uses crt; Var ft,ftc : text; //***************************************** Procedure creation(Var ft:text); Var ligne : string; Begin assign(ft,'c:\bac2008\phrases.txt'); rewrite(ft); append(ft); write('Pour terminer la saisie donner un chaîne vide: '); readln(ligne); While (ligne<>'') Do Begin writeln(ft,ligne); write('Pour terminer la saisie donner un chaîne vide: '); readln(ligne); End; close(ft); End; //***************************************** Function nombre_mots(ch:String) : integer; Var nb : integer; Begin nb := 0; While (pos(' ',ch)<>0) Do Begin nb := nb+1; delete(ch,pos(' ',ch),1); End; nombre_mots := nb+1; End; //***************************************** Procedure affiche(Var f:text); Var ligne : string; s,k,nbmots : integer; Begin reset(f); s := 0; k := 0; While (Not(seekeof(f))) Do Begin readln(f,ligne); k := k+1; nbmots := nombre_mots(ligne); s := s+nbmots; writeln(ligne,' et elle comporte ',nbmots,' mots.'); writeln; End; writeln; writeln('------------------------------------------'); writeln; writeln('La moyenne des nombres de mots dans ce fichier est: ',s Div k); close(f); End; //***************************************** Function enleve_esp_deb(ch:String) : string; Begin While (pos(' ',ch)=1) Do delete(ch,1,1); enleve_esp_deb := ch; End; //***************************************** Function enleve_esp_fin(ch:String) : string; Begin While (pos(' ',ch)=length(ch)) Do delete(ch,length(ch),1); enleve_esp_fin := ch; End; //***************************************** Function enleve_esp(ch:String) : string; Var i : integer; Begin i := 1; While (i<length(ch)) Do If (ch[i]=' ')And (ch[i+1]=' ') Then delete(ch,i,1) Else i := i+1; enleve_esp := ch; End; //***************************************** Function ajout_point(ch:String) : string; Begin If (ch[length(ch)]<>'.') Then ch := ch+'.'; ajout_point := ch; End; //***************************************** Procedure correction(Var ft,ftc:text); Var ligne : string; Begin assign(ftc,'c:\bac2008\phr_cor.txt'); rewrite(ftc); append(ftc); reset(ft); While (Not(seekeof(ft))) Do Begin readln(ft,ligne); ligne := enleve_esp_deb(ligne); ligne := enleve_esp_fin(ligne); ligne := enleve_esp(ligne); ligne := ajout_point(ligne); writeln(ftc,ligne); End; close(ftc); close(ft); End; //***************************************** Begin writeln('---------------- AVANT CORRECTION ----------------'); creation(ft); writeln; correction(ft,ftc); writeln('---------------- APRES CORRECTION -----------------'); affiche(ftc); End.
 
Back to top