UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS ECONÓMICAS

CARRERA DE INGENIERÍA ESTADÍSTICA

Curso: S3-P2 Asignatura: Programación

INTEGRANTES:

EJERCICIO 1:

Función suma suma<-function(x,y){ + # suma de los elementos “x” e “y” + x+y + } La última operación evaluada es el valor que ha de retornar la función (también llamada salida). Por ejemplo, si evaluamos la función para los valores x=2 e y=3 obtenemos: suma(x=2,y=3) [1] 5

suma <- function(x,y){
  (x+y)
}

suma(x = 2,y = 3)
## [1] 5

También podemos omitir los nombres de los argumentos si mantenemos la correspondencia con el orden o posición de los argumentos en el que damos los valores:

suma(2,3) [1] 5 > 5

suma <- function(x,y){
  (x+y)
}

suma(2,3)
## [1] 5

EJERCICIO 2:

Función potencia con paste y cat Cuando queremos que el resultado de una función contenga texto podemos utilizar las función paste(). potencia <- function(x, y) { + # función que calcula x elevado a y + result <- x^y + paste(x,“elevado a la potencia de”, y, “es”, result) + } > potencia(2,3) [1] “2 elevado a la potencia de 3 es 8”

potencia <- function(x, y) {
  result <- x^y
  paste(x,"elevado a la potencia de", y, "es", result)
}

potencia(2,3)
## [1] "2 elevado a la potencia de 3 es 8"

También podemos utilizar la función cat(), que tiene mayor versatilidad. Por ejemplo: x<-2 > cat(x) 2 > cat(“María”) María > cat(“María tiene”, x, “hijos”, “.”) María tiene 2 hijos . > cat(“María tiene”, x, “hijos”, “”) #uita el último espacio María tiene 2 hijos. > cat(“María tiene”, x, “hijos”, “”) #divide la expresión en dos líneas María tiene 2 hijos.

x<-2    
cat(x)
## 2
cat("Maria")
## Maria
cat("Maria tiene", x, "hijos", ".")
## Maria tiene 2 hijos .
cat("Maria tiene", x, "hijos", "\b.")
## Maria tiene 2 hijos .
cat("Maria tiene\n", x, "hijos", "\b.")
## Maria tiene
##  2 hijos .

EJERCICIO 3

absoluto <- function(x) {
  if(x<0){ -x }
  else { x }
}
absoluto(-3)
## [1] 3

EJERCICIO 4

ftrozos <- function(x) {
  if (x < 5) {0} 
  else {10}}
ftrozos(3) 
## [1] 0
ftrozos(5) 
## [1] 10

EJERCICIO 5

Cálculo de la tasa de metabolismo basal

La Tasa de Metabolismo Basal (TMB), es la cantidad mínima de energía que necesita tu cuerpo para funcionar. Nunca debemos ingerir menos cantidad de calorías de las que marca la tasa metabólica. La TMB se calcula siguiendo las siguientes ecuaciones

TMB<-function(Sexo,Altura,Peso,Edad){
  if(Sexo=="mujer"){ 655 + (9.6 * Peso) + (1.8 * Altura) - (4.7 * Edad)}
  else{66 + (13.7 * Peso) + (5 * Altura) - (6.8 * Edad) }}
TMB("hombre",170,57,32)
## [1] 1479.3

EJERCICIO 6

Varias formas de obtener resultados.

hipotenusa <- function(cateto1, cateto2){ 
  sqrt(cateto1^2+cateto2^2)} 
hipotenusa(2,4)
## [1] 4.472136
hipotenusa <- function(cateto1, cateto2){
  h <-sqrt (cateto1^2+cateto2^2)
  list(cateto1=cateto1,cateto2=cateto2,hipotenusa=h)} 
hipotenusa(2,4)
## $cateto1
## [1] 2
## 
## $cateto2
## [1] 4
## 
## $hipotenusa
## [1] 4.472136
hipotenusa(2:4,4:6)
## $cateto1
## [1] 2 3 4
## 
## $cateto2
## [1] 4 5 6
## 
## $hipotenusa
## [1] 4.472136 5.830952 7.211103
hipotenusa<-function(cateto1, cateto2){ 
  h <- sqrt(cateto1^2+cateto2^2)
  data.frame(variable=c("cateto","cateto","hipotenusa"),valor=c(cateto1,cateto2,h))}
hipotenusa(2,4) 
##     variable    valor
## 1     cateto 2.000000
## 2     cateto 4.000000
## 3 hipotenusa 4.472136
hipotenusa<-function(cateto1, cateto2){
  h <- sqrt(cateto1^2+cateto2^2)
  data.frame(cateto1=cateto1,cateto2=cateto2,hipotenusa=h)}
hipotenusa(2:4,4:6)
##   cateto1 cateto2 hipotenusa
## 1       2       4   4.472136
## 2       3       5   5.830952
## 3       4       6   7.211103

Ejercicio 7: Función return

También se puede utilizar la función “return()” para obtener el resultado de un paso en particular en la ejecución, no necesariamente el último. Es útil por ejemplo para identificar un error.

Para identificar un error.

f<-function(x,y) {
  return("y debe ser numerico")
  x+y 
} 
f(2,"hola")
## [1] "y debe ser numerico"

Cuando no se utiliza la funcion return() nos arroja un error.

# f <- function(x,y){
# if(is.character("y debe ser numérico"))
# x+y}
# f(2,"hola")