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