• Aucun résultat trouvé

Xcas et son module de programmation

N/A
N/A
Protected

Academic year: 2022

Partager "Xcas et son module de programmation"

Copied!
4
0
0

Texte intégral

(1)

STS TP

Xcas et son module de programmation

Xas 1

estunlogiiellibredealul formel.

Les exemples i-dessous présentent la syntaxe des prinipalesinstrutions de programmation de Xas.

L'entréedansl'éditeurdeprogrammesefaitavelaommandeAlt+P.

1 La suite de Fibonai

LéonarddePise,lsdeBonai,s'estintéresséen1202aufameuxproblèmedeslapins:unoupledonne

naissane,àpartirdudeuxièmemoisàunouplehaquemois,lesnouveauxouplessuivantlamêmeloi

dereprodution;ombienyaura-t-ildelapins(supposésimmortels...)auboutde

n

mois? Ils'agitdond'étudier lasuite

( F n )

dénie par:

F 0 = F 1 = 1 F n+2 = F n + F n+1

Onpeutérirela(double!)réursion diretement:

fibore(n):={ // délaration de la fontion

if n<2

then return(1);

else fibore(n-1)+fibore(n-2);

end_if

}:;

Listing1suitedeFibonnaienréursifbrut

Trèsfaile....maispeueaearil fautunevingtainedeseondesàXCASpouralulerfibo(30).En

eet, la réursion est double et néessite une pile très importante. Mieux vautreourir à une fontion

impérative 2

.

Onobtientles15premierstermesenfaisantseq(bore(j),j=0..14).

fiboimp(n):={

loal q;

loal fib:=[1,1℄;// réation d'une liste dont les deux premiers termes

sont 1 et 1.

for q from 2 to n-1 by 1 do

fib[q℄:=fib[q-1℄+fib[q-2℄;

end_for;

return(fib);

}

:;

Listing2suitedeFibonnaienimpératifaveXCAS

Laommandeboimp(15) donneralalistedes15premieresvaleurs.

1. Téléhargementsurhttp://www-fourier.ujf-gr eno ble. fr/ ~par isse /ir em.h tml

(2)

1 Onpeutdénir

n !

endisantque

1! = 1

etque

n ! = n. ( n − 1)!

1. Erireunefontionréursiveetunefontionitérativepouraluler

n !

.Comparerlesdeuxfontions

entermesd'eaité.

2. Utiliserlafontionpréédentepourdénirlesfontions

A p

n

et

C p

n

.

2 Érire une fontion retournant le triangle de Pasal jusqu'a un entier

n

. On utilisera une matrie

n × n

pourreprésenteruntableauet onutiliseralaformuledepasal

C p

n = C p 1

n − 1 + C p

n − 1

pouraluler

lestermesdiérentsde1.

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

1 7 21 35 35 21 7 1

1 8 28 56 70 56 28 8 1

1 9 36 84 126 126 84 36 9 1

3 Modierleprogrammepréédentande remplaertouslesnombrespairsparuneétoileet tousles

(3)

STS Solution

Xcas et son module de programmation

fatorielle(n):={

loal fat:=1;// réation d' une variable loale (non typée ).

for q from 1 to n by 1 do

fat:=fat*q;

end_for;

return(fat);

}

:;

Listing 3FatorielleenimpératifaveXCAS

fatoriellere(n):={

if n<2

then return(1);

else return(n*fatoriellere(n-1));

end_if

}

:;

Listing 4FatorielleenréursifaveXCAS

arrangement(n,p):=

{return(fatorielle(n)/fatorielle(n-p));

}

:;

ombinaison(n,p):=

{return(fatorielle(n)/(fatorielle(n-p)*fatorielle(p)));

}

:;

Listing5Arrangementet ombinaison

Pasal(n):={

loal T,j,i;

T:=matrix(n,n);

pour j de 0 jusque n-1 faire

pour i de 0 jusque n-1 faire

si j>i alors T[i,j℄:="" ;

sinon si j==0 alors T[i,j℄:=1 ;

sinon si i==j alors T[i,j℄:=1;

sinon si (i>0) et (j>0) alors

T[i,j℄:=T[i-1,j℄+T[i-1,j-1℄;

fsi;fsi;fsi;fsi;

fpour;

fpour;

retourne(T);

}

:;

Listing6TriangledePasal

(4)

pour j de 0 jusque i faire

si irem(T[i,j℄,2)==0

alors T[i,j℄:="";

sinon T[i,j℄:="*";

fsi;

fpour;

fpour;

Références

Documents relatifs

desripteur de ouhe transport et on renvoie l'oppos e du ode d'erreur EINVAL. { On initialise l'adresse de r eeption de l'option internet assoi ee au desripteur

N’importe quel couple de valeurs associées convient, mais il y en a un qui est plus simple à connaître que tous les autres ;c’est le point qui a pour coordonnées 1 et son image

Pour votre prochain emploi, vous hésitez entre deux entreprises, en particulier à cause du salaire. Pour vous aider à y voir clair, vous décidez de comparer les salaires

Pour votre prochain emploi, vous hésitez entre deux entreprises, en particulier à cause du salaire. Pour vous aider à y voir clair, vous décidez de comparer les salaires

Abdel et Marc sont deux adeptes de ce jeu de bowling et chacun prétend être le joueur le plus performant, c'est à dire faire le meilleur score avec la

Erire une fontion qui simule le laner d'un d e, 'est- a-dire qui renvoie un nombre entier.. al eatoire entre 1

Erire une fontion strCompare qui prend en param etre deux ha^ nes de arat eres s1..

utiliser les diagrammes pour trouver une autre écriture de la fraction