Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program bac2015;
- Uses Wincrt;
- Type
- suite = Record
- dep,nb: Integer;
- End;
- tab = Array [1..30] Of suite;
- Var f: Text; p:integer; t:tab;
- Procedure creation (Var f:Text);
- Begin
- assign (f,'c:\bac\depart.txt');
- End;
- Procedure remplir (Var f:Text;var p:integer);
- Var i,n:integer;
- Begin
- rewrite (f);
- Repeat
- write ('Saisir le nombre de termes: '); readln (p);
- until (p>=2) and (p<=30);
- for i:=1 to p Do
- Begin
- Repeat
- write ('Saisir un termes: '); readln (n);
- Until (2<n) and (n<1000);
- writeln (f,n);
- end;
- close (f);
- End;
- function convergence (x:integer):integer;
- Var i:integer;
- Begin
- i:=0;
- Repeat
- if (x mod 2=0) Then x:=(x div 2) else x:=3*x+1;
- i:=i+1;
- until (x=1);
- convergence:=i;
- end;
- Procedure traitement (Var f:Text;var t:tab;p:integer);
- Var i,x,e:integer; ch:string;
- Begin
- reset (f);
- for i:=1 to p Do
- with t[i] Do
- Begin
- readln (f,ch);
- val (ch,x,e);
- dep:=x;
- nb:=convergence(x);
- end;
- close (f);
- end;
- Procedure affiche (t:tab;p:integer);
- Var i:integer;
- Begin
- For i:=1 To p Do
- With t[i] Do
- Writeln (i,') ','Depart: ',dep,' / nb: ',nb);
- End;
- Begin
- creation (f);
- remplir (f,p);
- traitement(f,t,p);
- affiche(t,p);
- End.
Add Comment
Please, Sign In to add comment