1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
   | program exercice ;
uses wincrt ;
type
    mat=array[0..10,1..11] of integer ;
 
var
   m : mat ;
   n : integer ;
 
procedure saisie (var n : integer  );
 begin
  repeat
   writeln('Saisir le degré du polynome :');
   readln(n);
  until n in [2..10] ; 
 end;
 
procedure remplir (var m : mat ; n : integer );
var
l,c : integer ;
 
begin
 m[0,1]:=1 ;
 m[1,1]:=1 ;
 m[1,2]:=1 ;
  for l:= 2 to n do
    begin
     m[l,1]:=1 ;
     m[l,l+1]:=1 ;
      for c:= 2 to l do
       begin
        m[l,c]:=m[l-1,c-1]+m[l-1,c] ;
       end; 
    end;
  end;
 
procedure affiche (m : mat ; n : integer ) ;
var
x,y,l,c : integer ;
begin
 x:=n ;
 y:=0 ;
 writeln('le polynome est :');
 
 for c:= 1 to n+1 do
  begin
   write(m[n,c]) ;
    if x <> 0 then
     write('a',x);
      if y <> 0 then
       write('b',y);
        if c <> n+1 then
         begin
          write('+');
          x:=x-1 ;
          y:=y+1 ;
         end;
  end; 
end;
 
procedure deriver  (m : mat ; n : integer ) ;
var
x,y,l,c : integer ;
 
begin
 x:=n ;
 y:=0 ;
 writeln;
 write('les derivés de a sont :');
 for c:= 1 to n+1 do
  begin
    if x <> 0 then
     begin
     writeln ;
     write(m[n,c]*x,'*a*',(x-1));
     end;
      if c <> n+1 then
       begin
        x:=x-1 ;
       end;
  end; 
end;
begin
saisie(n);
remplir(m,n);
affiche(m,n);
deriver (m,n);
end. | 
Partager