Les tests - Page d`accueil

Transcription

Les tests - Page d`accueil
Lycée Fénelon
BCPST 1
Informatique
Exercices corrigés
Les tests
Exercice 1. (Échange conditionnel des valeurs de deux variables)
Étant données deux variables a et b (dont les valeurs sont déjà entrées dans la machine), écrire
un script qui attribue à a la plus petite des deux valeurs et attribue à b la plus grande.
On compare a et b puis on échange, si besoin, leurs valeurs en utilisant une variable intermédiaire c
pour stocker l’une des deux valeurs : if a > b then c = a; a = b, b = c, else a, b, end
Exercice 2.
L’Indice de Masse Corporelle est le rapport de votre poids (exprimée en kg) par le carré de
votre taille (exprimée en m). Il permet de déterminer la corpulence d’une personne. En dessous
de 18, vous souffrez de maigreur ; entre 18 et 25, votre corpulence est idéale ; entre 25 et 30, vous
avez du surpoids et au delà de 30, vous souffrez d’obésité.
Écrire une fonction qui calcule votre IMC et précise votre corpulence.
Remarque : Pour écrire 25 < d 30 en SCILAB, on écrira 25 < d & d <= 30.
function ph=indice(p,t)
imc = p/(tˆ2);
if imc > 30 then
ph="Votre IMC est égal à "+string(imc)+"
elseif (25 < imc & imc <= 30) then
ph="Votre IMC est égal à "+string(imc)+"
elseif (18 < imc & imc <= 25) then
ph="Votre IMC est égal à "+string(imc)+"
else
ph="Votre IMC est égal à "+string(imc)+"
end
endfunction
et vous souffrez d’’obésité"
et vous souffrez de surpoids"
et votre corpulence est idéale"
et vous souffrez de maigreur"
Exercice 3.
1. Écrire une fonction de deux variables complexes a, b qui résout l’équation ax + b = 0.
2. Écrire une fonction de trois variables complexes a, b, c qui résout l’équation ax2 +bx+c = 0.
1. function sol =premierdegre(a,b)
if (a == 0 & b == 0) then
sol ="Tout nombre complexe est solution de l’’équation."
elseif (a == 0 & b <> 0) then
sol ="L’’équation n’’a pas de solution."
elseif a <> 0 then
sol ="La solution est "+string(−b/a)
end
endfunction
2. function sol =seconddegre(a,b,c)
delta = bˆ2 − 4 ∗ a ∗ c;
if a == 0 then
sol=premierdegre(b,c)
elseif delta == 0 then
sol="La solution est "+string(−b/(2 ∗ a)))
else
sol="Les solutions sont "+string((−b + sqrt(delta))/(2 ∗ a))+" et "...
+string((−b − sqrt(delta))/(2 ∗ a)))
end
endfunction
Exercice 4.
Écrire un script qui simule une question de Qui veut gagner des millions ? On aura certainement besoin de la commande input dont on cherchera la description dans l’aide.
disp("Quelle est la plus grande ville de France ?")
disp("a) Saint-Denis de la Réunion")
disp("b) Toulouse")
disp("c) Paris")
disp("d) Marseille")
r=input("Quelle est votre réponse ?","string");
dm=input("Est-ce votre dernier mot ? (O pour C’’est mon dernier mot, Jean-Pierre...
ou N sinon)","string");
if dm=="N" then
r=input("Quelle est votre réponse ? (Dernière chance)","string");
end
if r=="b" then
disp("Gagné !")
else
disp("Perdu !")
end
Paris n’est pas la plus grande ville de France mais la plus peuplée. La plus grande est Toulouse.

Documents pareils