Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

vendredi 24 avril 2020

Baccalauréat 2013 SI Sujet 3 Corrigé

Program S3; Type mat = array[1..24,1..24] Of integer; tenreg = Record nl,ICD,ICF : integer; End; tab = array [1..24] Of tenreg; Var L,C ,k : integer; M : mat; T : tab; F : text; Procedure remplir (Var L,c:integer ; Var M:mat); Var i,j : integer; Begin Repeat write(' taper L:'); readln(l); write(' taper c:'); readln(c); Until (l In [3..24]) And (c In [3..24]); For i:=1 To l Do Begin For j:=1 To c Do Repeat write('M[',i,',',j,']='); readln(M[i,j]); Until (m[i,j]<>0); End; End; Procedure Somme (m:mat; lig,col,c:integer; Var Fin:integer); Var i,j,s : integer; Begin Fin := 0; S := 0; i := lig; j := col; Repeat s := s+m[lig,j]; j := j+1; Until (S=0) Or (j >c); If (s=0) Then fin := j-1; End; Procedure traitement (Var t:tab; m:mat; l,c:integer; Var k:integer ); Var s,f,i,j : integer; Begin k := 0; For i:=1 To l Do Begin For j:=1 To c Do Begin somme(m,i,j,c,f); If (f<>0) Then Begin k := k+1; T[k].Nl := i; T[k].ICD := j; T[k].ICF := f; { writeln(i,'#',j,'#',f);} End; End; End; End; Function maximum ( t:tab; k:integer ) : integer; Var i,max : integer; Begin max := (T[1].ICF-T[1].ICD+1); For i:=2 To k Do Begin If (T[i].ICF-T[i].ICD+1) > max Then max := T[i].ICF-T[i].ICD+1; End; maximum := max; End; Procedure Stockage (Var F:text ; t:tab ; k:integer); Var max,i : integer; chm,ligne1, ch,ch1,ch2,ch3 : string; Begin append(f); max := maximum(t,k); STR(max,chm); ligne1 := ' Le nombre d''elements de la plus longue séquence ='+chm; writeln(f,ligne1); writeln(ligne1); For i:=1 To k Do Begin If (T[i].ICF-T[i].ICD+1) = max Then Begin Str(T[i].nl,ch1); Str(T[i].ICD,ch2); Str(T[i].ICF,ch3); ch := ch1+'#'+ch2+'#'+ch3; writeln(f,ch); writeln(ch); End; End; Close(f); End; Begin assign(f,'C:\long_Seq.txt'); rewrite(f); remplir (l,c,m); traitement (t,m,l,c,k); stockage (f,t,k); End.
 
Back to top