Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

mardi 21 avril 2020

Baccalauréat 2019 Sujet 3 Corrigé

Program Plagiat1; Var T1 , T2 : String; Nbc : integer; //*************************************** Function Verif (CH : String) : Boolean; Var i : integer; b : boolean; Begin i := 0; Repeat i := i + 1; b := (Upcase(CH[i]) In ['A'..'Z',' ']) And (CH[1] In ['A'..'Z']) ; Until Not ( b=false ) Or (i=Length(CH)-1); Verif := (b=true) And (CH[Length(CH)] = '.') And (CH[Length(CH)-1]<>' ') ; End; //*************************************** Procedure Saisir (Var CH : String); Var i : integer; Begin Repeat Write ('Entrer une chaîne de caractères : '); Readln (CH); Until verif(ch) And (Pos( ' ' , CH) = 0) And (Length(CH) <= 200) ; End; //*************************************** Function Nbmots (CH : String) : integer; Var i,nb : integer; Begin nb := 1; For i:=1 To Length(CH) Do If CH[i] = ' ' Then nb := nb + 1; Nbmots := nb; End; //*************************************** Function Commun (CH1 , CH2 : String) : integer; Var NB , P : integer; X : string; Begin NB := 0 ; Repeat P := Pos ( ' ' , CH2); If p<>0 Then Begin X := Copy (CH2 , 1 , P-1) ; delete (CH2 , 1 , p); If Pos (X, CH1) <> 0 Then NB := NB + 1; End; Until p=0; If Pos (CH2 , CH1) <> 0 Then NB := NB + 1; Commun := NB; End; //*************************************** Begin Repeat Saisir(T1); Saisir(T2); Until Nbmots (T1) = Nbmots (T2); Nbc := Commun (T1,T2); If Nbc > Nbmots(T2) Div 2 Then Writeln ( 'Le texte testé est plagié. Le nombre de mots communs aux deux textes est égal à ', Commun (T1,T2) , ' dépassant ainsi la moitié du nombre qui est ', Nbmots (T2) Div 2) Else Writeln ('Le texte testé n''est pas plagié'); End.
 
Back to top