LOVEGUN

Bac 2015 23/05/2015 (80%)

Jan 12th, 2021 (edited)
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.26 KB | None | 0 0
  1. Program bac2015;
  2. Uses Wincrt;
  3. Type
  4.   suite = Record
  5.     dep,nb: Integer;
  6.   End;
  7.   tab = Array [1..30] Of suite;
  8. Var   f: Text; p:integer; t:tab;
  9. Procedure creation (Var f:Text);
  10. Begin
  11.     assign (f,'c:\bac\depart.txt');
  12. End;
  13. Procedure remplir (Var f:Text;var p:integer);
  14. Var
  15. i,n:integer;
  16. Begin
  17.     rewrite (f);
  18.     Repeat
  19.         write ('Saisir le nombre de termes: '); readln (p);
  20.     until (p>=2) and (p<=30);
  21.     for i:=1 to p Do
  22.     Begin
  23.         Repeat
  24.             write ('Saisir un termes: '); readln (n);
  25.         Until (2<n) and (n<1000);
  26.         writeln (f,n);
  27.     end;
  28.     close (f);
  29. End;
  30. function convergence (x:integer):integer;
  31. Var
  32. i:integer;
  33. Begin
  34.     i:=0;
  35.     Repeat
  36.         if x mod 2=0 Then
  37.             x:=x div 2
  38.         else
  39.             x:=3*x+1;
  40.         i:=i+1;
  41.     until (x=1);
  42.     convergence:=i;
  43. end;
  44. Procedure traitement (Var f:Text;var t:tab;p:integer);
  45. Var i,x,e:integer; ch:string;
  46. Begin
  47.     reset (f);
  48.     i:=0;
  49.     while not (eof(f)) do
  50.         with t[i+1] Do
  51.             Begin
  52.                 i:=i+1;
  53.                 readln (f,ch);
  54.                 val (ch,x,e);
  55.                 dep:=x;
  56.                 nb:=convergence(x);
  57.             end;
  58.             close (f);
  59. end;
  60. Procedure affiche (t:tab;p:integer);
  61. Var i:integer;
  62. Begin
  63.   For i:=1 To p Do
  64.     With t[i] Do
  65.       Writeln (i,') ','Depart: ',dep,' / nb: ',nb);
  66. End;
  67. Begin
  68.   creation (f);
  69.   remplir (f,p);
  70.   traitement(f,t,p);
  71.   affiche(t,p);
  72. End.
  73.  
Advertisement
Add Comment
Please, Sign In to add comment