Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

vendredi 24 avril 2020

Baccalauréat 2015 SI Sujet 1 Corrigé

Program Suit_Min; Type Suit = Record dep,Nb : word ; End; Fsuit = file Of Suit ; Fdep = file Of word; Var fd : fdep; fs : fsuit; //************************************** Procedure creation(Var fd:fdep ; Var fs:fsuit); Begin assign (fd,'c:\bac2015\depart.dat'); rewrite(fd); assign (fs,'c:\bac2015\suite.dat'); rewrite(fs); End; //************************************** Function nbterme(u:word) : word; Var nb : word; Begin nb := 0; Repeat If u Mod 2=0 Then u := u Div 2 Else u := 3*u + 1; inc(nb); Until u=1; nbterme := nb; End; //************************************** Procedure remplir_depart(Var fd:fdep); Var i,u0,p : word; Begin reset(fd); Repeat write('P='); readln(p); Until P In[2..30]; For i:=1 To p Do Begin Repeat readln(u0); Until (u0<=1000) And (u0>=2); write(fd,u0); End; Close(fd); End; //************************************** Procedure remplir_suit(Var fd:fdep ; Var fs:fsuit); Var i : word; st : suit; Begin reset(fd); reset(fs); While Not(eof(fd)) Do { ou For i:=1 to p do} Begin read(fd,st.dep); st.nb := nbterme(st.dep); write(fs,st); End; Close(fs); Close(fd); End; //************************************** Procedure affiche (Var fs:fsuit); { non demandé !} Var st : suit; Begin reset(fs); While Not(eof(fs)) Do Begin read(fs,st); Writeln('U0=',st.dep,' -------> NB=',st.nb); End; Close(fs); End; //************************************** Procedure affich_min(Var fs:fsuit); Var st : suit; min : word; Begin reset(fs); read(fs,st); min := st.nb; While Not(eof(fs)) Do Begin read(fs,st); If st.nb<min Then min := st.nb End; seek(fs,0); Write('Terme(s) :'); While Not(eof(fs)) Do Begin read(fs,st); If st.nb=min Then Write(st.dep:5); End; Close(fs); End; //************************************** Begin creation(fd,fs); remplir_depart(fd); remplir_suit(fd,fs); affiche(fs); writeln; affich_min(fs); End.
 
Back to top