Solutions

En cas d’urgence poussez sur Code pour révéler la solution.

Exercice 1 : test

  • Créez un vecteur de 100 valeurs tirées aléatoirement selon une loi normale de moyenne 4 et d’écart type 5.

  • Identifiez les indices des valeurs strictement supérieures à 3 et récupérez les valeurs correspondantes.

  • Testez si la somme de ces valeurs est supérieure à 40, à 30 ou à 20 et affichez un message adéquat selon chaque éventualité.

Fonctions recommandées : rnorm(), which(),sum(), if(), ifelse(), else(), cat() ou print()

la somme est > 40 
 [1]  9.831163  5.097485  7.570858  8.379680  7.895459  4.528030  6.635265 14.148985 10.117416  5.494417  3.660705 10.393903  8.429158  3.941388  7.347816  3.854651  9.439607  3.142791 11.730595  5.937824  6.620842  7.693074  7.000316  3.828263 10.155291  3.378255  5.676205  3.980622  3.260252
[30] 13.804939  9.834127  3.829094  5.077376  7.957962 10.126434  5.872080  4.684765  5.691570  3.313544 10.133535  7.544846  3.565247  4.728646  5.437569  6.419119  6.488190  8.220307  6.595519  4.179922 11.686844  9.236451  4.654276  4.598193  6.463463  8.205123  7.518094  3.128161  7.597151
[59]  4.948454  3.687188  5.554846  9.143727  3.758206

Exercice 2 : création d’une boucle simple

  • Créez une boucle de 10 itérations i qui affiche à chaque itération l’indice i.
  • Calculez au fur et à mesure la somme cumulée des indices dans un vecteur.
  • Affichez la somme cumulée finale.

Fonctions recommandées : for(), cat() ou print()

[1] 1
for i:1  ,the sumCumul is: 1
[1] 2
for i:2  ,the sumCumul is: 3
[1] 3
for i:3  ,the sumCumul is: 6
[1] 4
for i:4  ,the sumCumul is: 10
[1] 5
for i:5  ,the sumCumul is: 15
[1] 6
for i:6  ,the sumCumul is: 21
[1] 7
for i:7  ,the sumCumul is: 28
[1] 8
for i:8  ,the sumCumul is: 36
[1] 9
for i:9  ,the sumCumul is: 45
[1] 10
for i:10  ,the sumCumul is: 55
[1] 55

Exercice 4: création d’une fonction avec des tests, utilisation de cette fonction de manière itérative

  • Ecrivez une fonction calculTarif qui prend pour argument un âge et affiche “demi-tarif” si l’âge est inférieur à 12 ans, “tarif sénior” si l’âge est supérieur ou égal à 60 ans et “plein tarif” sinon.
  • Testez votre fonction pour des personnes de 5, 65, 85, 41, 23 et 47 ans.

Fonctions recommandées :

  • function(),
  • return(),
  • print(),
  • c()
  • if()
  • else()
  • ifelse()
  • for()
[1] "tarif reduit"
[1] "tarif senior"
[1] "tarif senior"
[1] "plein tarif"
[1] "plein tarif"
[1] "plein tarif"

Exercice 5: création d’une fonction avec compteur de boucle

  • Ecrivez une fonction sumCumul qui calcule la somme cumulée des nombres entiers compris entre deux bornes \(a\) et \(b\) que vous mettrez en arguments start et end.

  • De plus, toutes les 10 boucles, vous affichez la valeur de l’entier ajouté, sinon vous affichez un point ..

  • Testez la fonction avec les entiers entre 3 et 55 par exemple.

  • Améliorez la fonction en ajoutant un paramètre interval correspondant à l’incrément de boucles entre les affichages des entiers (dans la fonction précédente, cet incrément était de 10) Testez la fonction avec les entiers entre 3 et 55 et un intervalle de 15 par exemple.

Fonctions recommandées :

  • function(),
  • return(),
  • cat(),
  • seq()
3.........13.........23.........33.........43.........53..
le total cumule est de: 1537
3..............18..............33..............48.......
le total cumule est de: 1537