Chapitre 3. Manipulation de donn´ ees, fonctions
131
Prise en main
Ï
Programmez une fonction nomm´ ee biroot() permettant le calcul des
racines d’un polynˆ ome de degr´ e 2, c’est-` a-dire les valeurs x solutions de
l’´ equation ax
2
+ bx + c = 0. Nous rappelons que celles-ci peuvent ˆ etre des
nombres complexes et sont d´ efinies par
x =
−b ±
√
Δ
2a
avec
Δ = b
2
− 4ac.
Si Δ = 0, il y aura une solution unique et vous ne renverrez que celle-ci.
Si Δ < 0, alors la racine carr´ ee de Δ est le nombre complexe z tel que
z
2
= Δ. (Indice : utilisez l’instruction as.complex(Delta))
Vous comparerez les r´ esultats de votre fonction avec ceux obtenus au
moyen de la fonction polyroot() (pensez ` a utiliser l’aide en ligne sur
cette fonction : ?polyroot).
Pour nommer les ´ el´ ements de la liste, on peut utiliser le code suivant.
> IMC <- function(poids,taille) {
+ imc <- poids/taille^2
+ res <- list(Poids=poids,Taille=taille,IMC=imc)
+ return(res)
+ }
Voici le r´ esultat de cette op´ eration.
> IMC(70,1.82)
$Poids
[1] 70
$Taille
[1] 1.82
$IMC
[1] 21.13271
Supposons maintenant que nous cherchions ` a calculer l’IMC de plusieurs
individus, par exemple de Benoit et de Pierre :
> Benoit <- c(74,1.90)
> Pierre <- c(70,1.82)
> donnees <- rbind(Benoit,Pierre)
131
Prise en main
Ï
Programmez une fonction nomm´ ee biroot() permettant le calcul des
racines d’un polynˆ ome de degr´ e 2, c’est-` a-dire les valeurs x solutions de
l’´ equation ax
2
+ bx + c = 0. Nous rappelons que celles-ci peuvent ˆ etre des
nombres complexes et sont d´ efinies par
x =
−b ±
√
Δ
2a
avec
Δ = b
2
− 4ac.
Si Δ = 0, il y aura une solution unique et vous ne renverrez que celle-ci.
Si Δ < 0, alors la racine carr´ ee de Δ est le nombre complexe z tel que
z
2
= Δ. (Indice : utilisez l’instruction as.complex(Delta))
Vous comparerez les r´ esultats de votre fonction avec ceux obtenus au
moyen de la fonction polyroot() (pensez ` a utiliser l’aide en ligne sur
cette fonction : ?polyroot).
Pour nommer les ´ el´ ements de la liste, on peut utiliser le code suivant.
> IMC <- function(poids,taille) {
+ imc <- poids/taille^2
+ res <- list(Poids=poids,Taille=taille,IMC=imc)
+ return(res)
+ }
Voici le r´ esultat de cette op´ eration.
> IMC(70,1.82)
$Poids
[1] 70
$Taille
[1] 1.82
$IMC
[1] 21.13271
Supposons maintenant que nous cherchions ` a calculer l’IMC de plusieurs
individus, par exemple de Benoit et de Pierre :
> Benoit <- c(74,1.90)
> Pierre <- c(70,1.82)
> donnees <- rbind(Benoit,Pierre)
