| 12
 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. |