next up previous contents index
suivant: Style de programmation monter: Programmation précédent: Le langage   Table des matières   Index

Quelques exemples

Pour écrire un programme, il est conseillé d'ouvrir un éditeur de programme avec le menu Prg->Nouveau programme. Le menu Prg de l'éditeur permet d'entrer facilement les structures de programmation. On peut ensuite sauvegarder le texte du programme indépendamment de la session de travail pour l'utiliser ensuite dans une autre session de travail.

Voici un programme qui donne le quotient et le reste de la division euclidienne de 2 entiers en utilisant les fonctions iquo qui renvoie le quotient et irem qui renvoie le reste (c'est la fonction iquorem de Xcas).

idiv2
idiv2(a,b):={ idiv2(a,b):={
local q,r; local q,r;
if (b!=0) { si b!=0 alors
q:=iquo(a,b); q:=iquo(a,b);
r:=irem(a,b);} r:=irem(a,b);
else { sinon
q:=0; q:=0;
r:=a; r:=a;
} fsi
return [q,r]; retourne [q,r];
} }
Saisissez cette fonction idiv2 dans un éditeur de programme, testez-la (bouton OK) puis sauvegardez par exemple sous le nom idiv2.cxx. Vous pouvez utiliser cette fonction dans une ligne de commande, en tapant par exemple idiv2(25,15). Vous pourrez utiliser cette fonction dans une autre session Xcas, en utilisant la commande read("idiv2.cxx") ou en l'ouvrant depuis un éditeur de programme (et en le validant par OK).

Voici maintenant deux versions du calcul du PGCD de deux entiers, une version itérative, puis une version récursive.

pgcd_iteratif
pgcdi(a,b):={ pgcdi(a,b):={
local r; local r;
while (b!=0) { tantque b!=0 faire
r:=irem(a,b); r:=irem(a,b);
a:=b; a:=b;
b:=r; b:=r;
} ftantque
return a; retourne a;
}:; }:;
pgcd_recursif
pgcdr(a,b):={ pgcdr(a,b):={
if (b!=0) return a; si b!=0 alors retourne a;fsi
return pgcdr(b,irem(a,b)); retourne pgcdr(b,irem(a,b));
}:; }:;

Il arrive parfois qu'un programme ne fonctionne pas du premier coup comme prévu (!) Il est alors possible de l'exécuter en mode pas-à-pas pour le mettre au point, avec la commande debug. Pour plus de détails consulter le menu Aide->Interface. Par exemple, pour le programme idiv2, on lance la mise au point en tapant :
debug(idiv2(25,15))
Le débuggueur affiche automatiquement la valeur des paramètres a,b puis des variables locales q,r lors de l'exécution instruction par instruction avec le bouton sst.


next up previous contents index
suivant: Style de programmation monter: Programmation précédent: Le langage   Table des matières   Index
Documentation de giac écrite par Renée De Graeve, Bernard Parisse et Bernard Ycart