Programmes importants à retenir Flashcards
Ecrire un programme qui calcule le discriminant d’une équation du second degré
disp(‘Ce programme calcule le discriminant de l’‘equation ax^2+bx+c’)
a= input(‘Donner une valeur de a:’)
b= input(‘Donner une valeur de b:’)
c= input(‘Donner une valeur de c:’)
d= b^2-4ac
disp(‘Le discriminant vaut ‘+string(d)+’ . ‘)
définir une fonction
function y=f(x) y= [entrer une focntion] endfunction
Calcul de somme avec une boucle for…end
calculer la somme des k pour k allant de 0 à n
n=input('Donner une valeur de n:') S=0 for k=1:n S=S+k end disp(S)
Représenter une fonction sur l’intervalle [-2;2] avec un pas de 0,1
x= -2 : 0.1 : 2
plot (x, f(x))
Représenter la fonction exponentielle et sa tangente en 0 de deux couleurs différentes sur l’intervalle [-2;2] avec un pas de 0,1. Ajouter un titre et une légende en haut à gauche.
x= -2: 0.1: 2
x=x’
plot2d(x, [exp(x), x+1], style= [2,5], rect= [-2, -0,5, 2, 10])
xtitle (‘Fonction exponentielle et sa tangente en 0’)
legend ([‘Exponentielle’, ‘Tangente’], ‘in_upper_left’)
Calcul du nième terme d’une suite définie par réc simple
Soit (un) une suite définie par u0=1 et pour tout n appartient à N, Un+1=6Un +1. Ecrire une procédure qui calcule un pour une valeur de n donnée.
n= input ('Donner une valeur de n:') u= 1 -> valeur de u0 for k+1:n u=6*u +1 -> relation de réc end disp(u)
Calcul du nième terme d’une suite définie par réc double
Soit (un) une suite définie par u0=0, u1=1 et pour tout n appartient à N, Un+2=Un+1+Un. Ecrire une procédure qui calcule Un pour une valeur de n donnée.
n= input('Donner une valeur de n:') u=0 v=1 for k=2:n do w=u+v u=v v=w end disp(v)
Calcul du 1er rang d’une suite dépassant un seuil
Soit (Un) une suite définie par u0=1 et pour tout n appartient à N, Un+1=1+ exp(Un). Ecrire une procédure qui calcule le 1er rang n àp duquel Un dépasse un seuil donné
u=1 n=0 seuil= 1000 while u<= seuil n=n+1 u=1+ exp^(u) end disp(n)
Calcul du 1er rang d’une suite approchant sa limite avec une précision donnée.
Soit (Un) une suite définie par u0=14 et pour tout n appartient à N, Un+1=6- 0,5Un. Ecrire une procédure qui calcule le 1er rang àp duquel |Un-4|<10^-3
pre= 10^(-3) u= 14 n= 0 while abs(u-4)>=pre n=n+1 u=6-0,5*u end disp(n)
Ecrire une fonction SciLab qui, quand on lui donne un nombre n, lance n dés et renvoie Gagné! si au moins un 6 a été obtenu, et Perdu sinon.
n= input('Nombre de dés à lancer:') d=grand (1,n, 'uin', 1,6) y=sum(d==6) if y>=1 then disp('Gagné!') else disp('Perdu') end
Dichotomie quand on fixe le nb d’itérations de l’algorithme
function y=f(x) y= endfunction function y=dicho1 (x, y, n) a=x b=y for k=1:n do m=(a+b)/2 if f(a)*f(m) <0 then b=m else a=m end end y=[a, b] endfunction
Dichotomie quand on fixe une précision de l’encadrement qu’on veut obtenir
function y=f(x) y= endfunction function y= dicho2 (x, y, eps) a=x b=y while (b-a>eps) m=(a+b)/2 if f(a)*f(m) <0 then b=m else a=m end end y= [a, b] endfunction
Ecrire un programme SciLab qui renvoie “Inversible” et calcule son inverse si la matrice A donnée est inversible, et renvoie “Non inversible” sinon.
A= [2,7,2; 3,9,4; 1,5,3] B=[0; 0; 0] [x, kerA]= linsolve (A, -B) if kerA==[ ] then disp('Inversible', inv(A)) else disp ('Non inversible') end
Simulation d’une loi de Bernoulli de paramètre p
function y= ber(p) u= rand( ) if u<=p then y=1 else y=0 endfunction
Simulation d’une loi binomiale de paramètres n et p comme étant la somme de n Bernoulli indépendantes
function y= bino(n, p) s=0 for k=1:n s=s+ber(p) end endfunction
Simulation d’une loi binomiale de paramètres n et p avec utilisation de find
functio y= bino(n, p) b= [ ] for k=1:n b= [b ber(p)] end y= length (find (b==1)) endfunction
Simulation d’une loi uniforme sur [1, n]
function y= unif(n) y= floor (n*rand ( )+1) endfunction