Informatique – Devoir numéro 2 – Corrigé

Download Report

Transcript Informatique – Devoir numéro 2 – Corrigé

Informatique – Devoir num´ero 2 – Corrig´e
a` rendre le 22 avril 2014
´
ˆ
polynomiale
de degr´e 1
Exercice 1 : Equation
Methode 1 : avec des if ... then ... end et sans tests imbriqu´es
Le code Scilab
//==== resolution de l equation =====//
//====
ax + b = 0
=====//
//==== methode 1 :avec des if
=====//
//===================================//
a = input ("Entrer a :")
b = input ("Entrer b :")
if (a <> 0) then
x = -b/a
disp (x, "une solution : ")
end
if ((a == 0) & (b == 0)) then
disp ("ensemble solution : R")
end
if ((a == 0) & (b <> 0)) then
disp ("pas de solution")
end
R´esultat d’ex´ecution
R´esultat d’ex´ecution
-->exec ("/home/vignault/lycee/database/ece/scilab/equa_001.sce", -1)
Entrer a :2
Entrer b :1
une solution :
- 0.5
-->exec ("/home/vignault/lycee/database/ece/scilab/equa_001.sce", -1)
Entrer a :0
Entrer b :1
pas de solution
-->exec ("/home/vignault/lycee/database/ece/scilab/equa_001.sce", -1)
Entrer a :0
Entrer b :0
ensemble solution : R
ECE 1
Lyc´ee du Grand Noum´ea
2014
Informatique
Devoir num´ero 2
Corrig´e
Methode 2 : avec des tests imbriqu´es
Le code Scilab
//===== resolution de l equation =====//
//=====
ax + b = 0
=====//
//===== methode 2 :avec des elseif =====//
//======================================//
a = input ("Entrer a :")
b = input ("Entrer b :")
if (a <> 0) then
x = -b/a
disp (x, "une solution : ")
elseif (b == 0) then
disp ("ensemble solution : R")
else
disp ("pas de solution")
end
Exercice 2 : Le jeu de Pile ou Face
1. Simulation du jeu de « Pile ou Face »
Le code Scilab
//=========================//
//=== simulation du jeu ===//
//===
Pile ou Face
===//
//=========================//
alea = rand (1,1)
if (alea < 0.5) then
disp ("Pile")
else
disp ("Face")
end
2. Simulation de 100 parties de « Pile ou Face »
Version 1 : sans affichage des parties
Le code Scilab
//=========================================//
//=== simulation du jeu de Pile ou Face ===//
//===
sur 100 parties
===//
//=========================================//
//=== initialisation
nb_pile = 0
//=== on commence les parties
for i = 1 : 100
alea = rand (1,1)
if (alea < 0.5) then
nb_pile = nb_pile + 1
end
end
//=== affichage des resultats
disp (100 - nb_pile, "nombre de Face :", ..
nb_pile, "nombre de Pile : ")
ECE 1
Lyc´ee du Grand Noum´ea
2014
Informatique
Devoir num´ero 2
Corrig´e
R´esultat d’ex´ecution
R´esultat d’ex´ecution
-->exec ("/home/vignault/lycee/database/ece/scilab/proba_001b.sce", -1)
nombre de Pile :
54.
nombre de Face :
46.
Version 2 : avec affichage des parties
Le code Scilab
//=========================================//
//=== simulation du jeu de Pile ou Face ===//
//===
sur 100 parties
===//
//=========================================//
//=== initialisation
nb_pile = 0
resultat = ""
//=== on commence les parties
for i = 1 : 100
alea = rand (1,1)
if (alea < 0.5) then
nb_pile = nb_pile + 1
resultat = resultat + "P"
else
resultat = resultat + "F"
end
end
//=== affichage des resultats
disp (resultat)
disp (100 - nb_pile, "nombre de Face :", ..
nb_pile, "nombre de Pile : ")
R´esultat d’ex´ecution
R´esultat d’ex´ecution
-->exec ("/home/vignault/lycee/database/ece/scilab/proba_001a.sce", -1)
FPFFPPFFFPPFPPPPFFPPPPFPPFFFPFPFFFPFFPFPFFFFPPPPFPPPFFFPFFPFFFPFFPFPPP
FPPFFPFPPFFPPFPPPPPFPPPPFPFPFP
nombre de Pile :
53.
nombre de Face :
47.
Exercice 3 : If then else : les photocopies
1.
Le code Scilab
//============================================//
//==== calcul facture photocopies tarif 1 ====//
//============================================//
n = input ("Entrer le nombre de photocopies :")
if (n <= 50) then
prix = 50*n
else
prix = 40*n
end
disp (prix, "prix a payer :")
ECE 1
Lyc´ee du Grand Noum´ea
2014
Informatique
Devoir num´ero 2
Corrig´e
R´esultats d’ex´ecution
R´esultats d’ex´ecution
-->exec ("/home/vignault/lycee/database/ece/scilab/algo_016.sce", -1)
Entrer le nombre de photocopies :100
prix a payer :
4000.
-->exec ("/home/vignault/lycee/database/ece/scilab/algo_016.sce", -1)
Entrer le nombre de photocopies :20
prix a payer :
1000.
2.
Le code Scilab
//============================================//
//==== calcul facture photocopies tarif 2 ====//
//============================================//
n = input ("Entrer le nombre de photocopies :")
if (n <= 50) then
prix = 50*n
elseif (n <= 300) then
prix = 40*n
else
prix = 25*n
end
disp (prix, "prix a payer :")
R´esultats d’ex´ecution
R´esultats d’ex´ecution
-->exec ("/home/vignault/lycee/database/ece/scilab/algo_016a.sce", -1)
Entrer le nombre de photocopies :10
prix a payer :
500.
-->exec ("/home/vignault/lycee/database/ece/scilab/algo_016a.sce", -1)
Entrer le nombre de photocopies :100
prix a payer :
4000.
-->exec ("/home/vignault/lycee/database/ece/scilab/algo_016a.sce", -1)
Entrer le nombre de photocopies :1000
prix a payer :
25000.
ECE 1
Lyc´ee du Grand Noum´ea
2014
Informatique
Devoir num´ero 2
Corrig´e
Exercice 4 : Calcul du n-i`eme terme d’une suite r´ecurrente, calcul de somme
Le code Scilab
//====================================//
//=== calcul du n-ieme terme et de ===//
//=== la somme des premiers termes ===//
//=== pour une suite recurrente
===//
//====================================//
u = 1
somme = u
for i = 1:100
u = 3*u - 4
somme = somme + u
end
disp (somme, "Somme = ", u, "on a u_100 = ")
R´esultat d’ex´ecution
R´esultat d’ex´ecution
-->exec ("/home/vignault/lycee/database/ece/scilab/suite_002.sce", -1)
on a u_100 =
- 5.154D+47
Somme =
- 7.731D+47
Exercice 5 : Calcul du n-i`eme terme d’une suite r´ecurrente, calcul de somme
Le code Scilab
//====================================//
//=== calcul du n-ieme terme et de ===//
//=== la somme des premiers termes ===//
//=== pour une suite recurrente
===//
//====================================//
u = 1
somme = u
for i = 1:30
u = -i*u +3
somme = somme + u
end
disp (somme, "Somme = ", u, "on a u_30 = ")
R´esultat d’ex´ecution
R´esultat d’ex´ecution
-->exec ("/home/vignault/lycee/database/ece/scilab/suite_003.sce", -1)
on a u_30 =
- 2.378D+32
Somme =
- 2.301D+32
ECE 1
Lyc´ee du Grand Noum´ea
2014