Programmes convertis en Scilab – Épreuves 2006 – Corrigé
Ecricome 2006 : Exercice 1 :
2. 4. Écrire un programme en langage Scilab permettant, lorsque l’entier naturel est donné par l’utilisateur, de calculer une valeur approchée de , de telle sorte que l’on ait : 0 ≤ − ≤ 10 . p=input(‘entrez une valeur de p :’)
u=-1,n=0
while 1/exp(2^n-1)>10^-p do u=u-(u+1+2*exp(u))/(1+2*exp(u)), n=n+1 end
disp(n)
EML 2006 : Exercice 2 :
3. c. Écrire un programme en Scilab qui calcule et affiche le plus petit entier naturel tel que : ≥ 10.
u=4,n=0
while u<10^10 do u=u*(u-2)*(2*u-5), n=n+1 end
disp(n)
Edhec 2006 : Problème :
3. (a) On considère la déclaration de fonction, en Scilab : function [y]=f(n)
if n==0 then y=1
else y=prod(1:n) //on calcule le produit des coordonnées du vecteur 1:n qui contient tous les entiers de 1 à n
end
endfunction
(b) Proposer un programme utilisant cette fonction et permettant d’une part le calcul de la somme
!
et d’autre part, à l’aide du résultat de la question 1a), le calcul et l’affichage du taux de panne à l’instant d’une variable aléatoire suivant la loi de Poisson de paramètre > 0, lorsque et sont entrés au clavier par l’utilisateur (on supposera ≥ 1).
Pour une loi de Poisson de paramètre > 0 : 0 =234 = )
234 ≥ ) =
!
∑
67 !
=
! 1 − ∑
!
a=input(‘entrez une valeur de a :’) n=input(‘entrez une valeur de n :’) S=0
for k=0:(n-1) do S=S+a^k/f(k) end
S=S*exp(-a)
T=a^n/f(n)*exp(-a)/(1-S)
disp(T,’le taux de panne est :’)
3c)Compléter la déclaration de fonction suivante pour, qu’elle renvoie la valeur de
! à l;appel de sigma3, ) ∶
function [y]=sigma(a,n) p=1
s=0
for k=1:(n-1) do p=p*a/k, s=s+p end
y=s*exp(-a) endfunction