SM05 - Initiation à la programmation Licence 2ième année
Transcription
SM05 - Initiation à la programmation Licence 2ième année
SM05 - Initiation à la programmation Licence 2ième année 2011-2012 Examen d’Evaluation Intermédiaire mercredi 22 février DURÉE : 2 HEURE L’usage de tout document est interdit 1) Exercice (4 pts) On indique l’arborescence suivante : /filer/etudiants/g2/s487822 Poux Cailloux Genoux - mes_donnees.tx Cloux Coucou Choux Joujoux Hiboux Bijoux 1. Donnez la suite de commandes à taper dans un terminal linux, qui permet de créer cette arborescence sur le disque dur. 2. Donnez une commande linux à taper dans le terminal qui permet d’effacer le répertoire dont le nom contient une faute d’orthographe. 3. Quel est le chemin relatif du répertoire Genoux à partir du répertoire Hiboux ? 4. On suppose qu’on se trouve dans le répertoire /filer/etudiants/g2/s487822/Poux/Cailloux/ Indiquez de trois manières différentes comment, à l’aide des commandes linux, on peut copier le fichier mes_donnees.txt dans le répertoire Cailloux. 2) Exercice (5 pts) On se propose de réaliser un algorithme chargé de résoudre dans R les équations du second degré à paramètres réels. Écrire un algorithme qui demande à l’utilisateur les valeurs des trois paramètres réels a, b et c de l’équation ax2 + bx + c = 0, et qui affiche les éventuelles solutions. Plus précisément, l’algorithme devra indiquer s’il existe ou non des solutions réelles et afficher leurs valeurs si elles existent. On rappelle que, si l’on note ∆ = b2 − 4ac, l’équation ax2 + bx + c = 0 a pour solutions : √ √ −b + ∆ −b − ∆ et x2 = – ∆ > 0 : x1 = 2a 2a −b – ∆=0:x= 2a – ∆ < 0 : aucune solution réelle 3) Exercice (3 pts) On veut construire un algorithme qui calcule les termes successifs de la suite de Fibonacci déterminée par les valeurs initiales F0 = 0, F1 = 1 et par la règle de récurrence : Fn = Fn−1 + Fn−2 Recopiez cet algorithme en complétant les (...) de manière adéquate : Tableau F(0:...) en entiers Variable i en entiers 1 Début 2 3 4 5 F(0) ← 0 F(1) ← 1 Pour i ← ... à ... F(i+2) ← ... 6 i Suivant 7 Écrire "La valeur finale est ",F(15) 8 Fin 4) Exercice (3 pts) Écrire un programme Fortran 90 qui demande à l’utilisateur son prénom (par ex : Pierre), son nom (ex : Dupont), son année de naissance (ex : 1960). Le programme déterminera si l’utilisateur est en âge de voter pour les prochaines élections présidentielles et affichera un message pour en informer l’utilisateur. 2 ex : Bonjour Monsieur Pierre Dupont, désolé, vous n’êtes pas encore en âge de voter. Pour simplifier, on considérera que le vote est possible pour toute personne agée de 18 ans à la date du 31 décembre 2011, c’est-à-dire qui a fêté ses 18 ans au cours de l’année 2011, quelle que soit sa date d’anniversaire (ce qui n’est pas la règle exacte dans la réalité). 5) Exercice (5 pts) On considère le programme suivant : 1 PROGRAM sexe_ratio 2 ! le sexe ratio d’une femme est le rapport du nombre de garçons qu’ elle a mis au monde 3 ! sur le nombre total d’ enfants qu’ elle a eus 4 5 IMPLICIT NONE 6 7 INTEGER :: i,N,sexe,compt 8 9 WRITE (∗,∗) "Combien␣avez−vous␣d’enfants␣?" 10 READ (∗,∗) N 11 IF (N>0) THEN 12 compt = 0 13 DO i=1,N 14 WRITE (∗,∗) "Quel␣est␣le␣sexe␣de␣votre␣",i,"ème␣enfant␣?␣(Entrez␣0␣pour␣garçon␣et␣1␣pour ␣fille)" 15 READ (∗,∗) sexe 16 compt = compt + sexe 17 18 19 20 END DO WRITE (∗,∗) "Votre␣sexe−ratio␣est␣de␣:␣", <Expression à compléter> ELSE WRITE (∗,∗) <Message à compléter> 21 END IF 22 END PROGRAM sexe_ratio 1. Une utilisatrice ayant une fille de 18 ans, une autre fille de 15 ans et un garçon de 11 ans exécute ce programme. Remplissez un tableau de valeurs qui indique la succession des lignes du programme exécutées au fur et à mesure ainsi que l’évolution des valeurs des variables i, N, sexe et compt. 2. Dans le programme, rempacez de manière adéquate <Expression à compléter> et <Message à compléter> (lignes 18 et 20) par ce qui convient. 3