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