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.