Implémantation polynômes

Description

Ce code permet de crée des polynômes (sous forme de listes chaînées) et de les manipuler avec les fonctions élémentaires (pas encore toutes présentes mais je m'y affaire).

Source / Exemple :


{ Implémentation de polynômes
  Vandebruggen Thomas 2004
  polynome.pas               }

unit UnitPolynome;

interface

type Polynome = ^Monome      {On définit un polynôme comme une liste }
     Monome = record               {chaînée dont les cellules sont les monômes}
                Coeff : longint;       {du polynôme contenant un champ pour le }
                Degre : word;          {coefficient et un champ pour l'exposant.}
                Suivant : Polynome;
               end;

{Constructeur, Destructeur, Copie}
function Cons(a:longint;n:word;Q:Polynome):Polynome; {le constructeur}
procedure Destruit(var P:Polynome); {le destructeur}
function Copie(P:Polynome):Polynome; {Copie d'un polynôme}

{Polynôme nul, Accès aux différents champs de la cellule, Nombre de cellules
 d'un polynôme}
function PolynomeNul:Polynome;   {renvoie le polynôme nul (=nil)}
function CoeffTete(Pol:Polynome):longint; {renvoient les différents champs de }
function DegreTete(Pol:Polynome):word;    {la cellule}
function Queue(Pol:Polynome):Polynome;
function Longueur(P:Polynome):word; {Opérations sur les polynômes}

function Add(P1,P2:Polynome):Polynome;  {effectue la somme de 2 polynômes}
function Prod(P1,P2:Polynome):Polynome; {effectue le produit de 2 polynômes}
function gcd(P1,P2:Polynome):Polynome;  {donne le pgcd (algo d'euclide)}

procedure affich(var P:Polynome);    {affiche un polynôme}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.