UNIVERSITE DE BRETAGNE OCCIDENTALE
Année 2016-2017EURIA 1ère année
Examen du mardi 03 janvier 2017.
Polycopié distribué en cours et notes manuscrites autorisés.
L’utilisation d’internet est interdite durant l’épreuve.
Durée : 1 heure 30
Exercice 1 (4 points)
On considère le système d’équations linéaires ci-dessous :
x+ 3y−z = 1
2x+y+z = 3
−x+y+z = 2
1. Résoudre le système en utilisant R. On donnera toutes les commandes Rutilisées SUR LA COPIE.
2. Résoudre le système en utilisant le tableur de votre choix. On décrira rapidement la méthode SUR LA COPIE.
Exercice 2 (5 points) Cet exercice est à réaliser en utilisant R. On donnera toutes les commandes Rutilisées SUR LA COPIE.
Le jeu de données nomméswiss disponible dans R contient des données relatives à la fertilité et à des indices socio-économiques pour les cantons francophones suisses. En particulier, la première colonne (variableFertility) décrit la fertilité et la cinquième colonne (variableCatholic) est relative à la religion.
1. Réaliser un histogramme de la variableFertility. Reproduire schématiquement le graphique sur la copie.
2. Sans utiliser une boucle, créer deux objets de typedata.frame avec 6 colonnes, nommés swiss1 etswiss2, qui contiennent respectivement les données des cantons pour lesquels la variable Catholicprend une valeur inférieure à 50% et ceux pour lesquels la variable Catholic prend une valeur supérieure à 50%.
3. Partitionner votre fenêtre graphique en deux dans le sens horizontal puis tracer un histogramme de la variableFertility pour chacun de deux data.frame créés dans la question précédente. Reproduire schématiquement le graphique sur la copie. Observe-t-on des différences en terme de fertilité entre les deux types de canton ?
Exercice 3 (8 points) Cet exercice est à réaliser en utilisant R. On donnera toutes les commandes Rutilisées SUR LA COPIE.
Un vecteura= (a1, ..., an)forme une partition de l’intervalle [0,1]si il vérifie les conditions suivantes :
— a1= 0et an= 1
— la suite est strictement croissante :a1< a2< ... < an.
1. En utilisant une boucle for, écrire une fonctionRdont l’entête est test_partition=function(a) qui renvoie un booléen avec
— la valeur TRUE si le vecteura forme une partition de de l’intervalle[0,1]
— la valeur FALSE si le vecteura ne forme pas une partition de l’intervalle[0,1].
1
Tester votre fonction sur le vecteur a= (0,n1,n2, ...,n−1n ,1)avecn= 100puis sur le vecteur a= (0,23,13,1).
2. Reprendre la question précédente sans utiliser une boucle.
3. En utilisant une boucle while, écrire une fonctionR dont l’entête estindice=function(a,x) qui renvoie
— l’indiceitel que ai≤x < ai+1 si cet indice existe et sia est une partition de l’intervalle[0,1]
— un message d’avertissement sinon
Tester votre fonction avec les vecteursade la question précédente etx= 0.8 puisx= 2.
4. Reprendre la question précédente sans utiliser une boucle.
Exercice 4 (3 points) Cet exercice est à réaliser en utilisant le tableur de votre choix.
On considère la feuille de tableur ci-dessous qui a pour objectif de donner le prix soldé d’un article en fonction du prix de l’article et du pourcentage de remise.
1. Expliquer rapidement comment on peut créer la feuille ci-dessous.
2. Donner une formule à insérer dans la cellule B4 qui permet de compléter tout le tableau en étendant la formule avec la poignée de recopie (donc sans avoir à rentrer d’autres formules pour les autres cases).
2