program suites; {TP 5 suites et séries}

{uses crt;}

procedure suite1(n : integer);
var i  : integer;
   a,b : real;
begin
   if n=0 then writeln(0.1)
   else begin
      a:=0.1;
      for i:=1 to n do
      begin
	 b:=a;
	 a:=2*a*(1-a);
	 writeln(a:15:10);
      end;
   end;
end;


procedure suite2(n : integer);
var i  : integer;
   a,b : real;
begin
   if n=0 then writeln(0.1)
   else begin
      a:=0.1;
      for i:=1 to n do
      begin
	 b:=a;
	 a:=3.2*a*(1-a);
	 writeln(a:15:10);
      end;
   end;
end;



procedure suite3(n : integer);
var i  : integer;
   a,b : real;
begin
   if n=0 then writeln(0.1)
   else begin
      a:=0.1;
      for i:=1 to n do
      begin
	 b:=a;
	 a:=3.5*a*(1-a);
	 writeln(a:15:10);
      end;
   end;
end;


procedure suite4(n : integer);
var i  : integer;
   a,b : real;
begin
   if n=0 then writeln(0.1)
   else begin
      a:=0.1;
      for i:=1 to n do
      begin
	 b:=a;
	 a:=3.9*a*(1-a);
	 writeln(a:15:10);
      end;
   end;
end;


procedure suite5(n : integer);
var i  : integer;
   a,b,c : real;
begin
   if n=0 then writeln(10)
   else if n=1 then writeln(-500)
   else begin
      a:=10;
      b:=-500;
      for i:=1 to n do
      begin
	 c:=b*4.5 - 2*a+1515;
	 a:=b;
	 b:=c;
	 writeln(c:15:15);
      end;
   end;
end;

const MAX=10000;

procedure suite_g(n : integer);
var t : array[0..MAX] of integer;
var i : integer;
begin
   if n=0 then writeln(1) else
      if ((1 <= n) AND (n <= 99)) then writeln(0)
      else
      begin
	 t[0]:=1;
	 write(1,' , ');
	 for i:=1 to 99 do
	 begin
	    t[i]:=0;
	    write(0,' , ');
	 end;
	 for i:=100 to n do
	 begin
	    t[i]:=t[i-100]+t[i-99];
	    write(t[i],' , ');
	 end;
      end;
end;


procedure serie1(n : integer);
var i				  : integer;
var somme_partielle,terme_courant : real;
begin
   if n=0 then somme_partielle:= 1/10
   else
   begin
      somme_partielle:=1/10;
      for i:=1 to n do
      begin
	 terme_courant:=1/((3*i+2)*(3*i+5));
	 somme_partielle:=somme_partielle + terme_courant;
	 writeln(somme_partielle:5:5);
      end;
   end;
end;


begin
   {tests}
   
   suite1(20);
   readln;

   suite2(20);
   readln;

   suite3(20);
   readln;
   
   suite4(20);
   readln;
   
   suite5(80);
   readln;
   
   suite_g(5000);
   readln;

   serie1(100);
   readln;
end.