EJERCICIO 1
Calcule los valores numericos aproximados de:
\[ \frac{0.3*0.15}{0.3*0.15+0.2*0.8+0.5*0.12} , \frac{5^6}{6!}e^{-5} , {20 \choose 7}0.4^70.6^{13}\] Planteamiento del problema: Realizar un programa en el cual nos permita obtener los resultados de los ejercicios planteados y nos muestre el resultado correspondiente.
1.Para el primer calculo, simplemente usamos operaciones sencillas de multiplicacion y division:
r1<- (0.3*0.15)/((0.3*0.15)+(0.2*0.8)+(0.5*0.12))
r1
## [1] 0.1698113
r2<-(5^6/factorial(6))*exp(-5)
r2
## [1] 0.1462228
\[ {n \choose k} = \frac{n!}{k!(n-k)!} \]
n<-20
k<-7
r3<-factorial(n)/(factorial(k)*factorial(n-k))*(0.4^7)*(0.6^13)
r3
## [1] 0.1658823
EJERCICIO 2
Realiza las siguientes sumas:
\[ 1.\ 1+2+3+...+1000+1+2+3+...+1000 \\ 2. \ 1+2+4+8+16+...+1024+2+4+8+16...+1024 \] Planteamiento del problema: Elaborar un programa en el cual nos permita realizar las sumas y obtener la solución correspondiente.
vector1 <- (1:1000)
suma1 <- sum(vector1)
suma1
## [1] 500500
vector2 <- (1:1000)
suma2 <- sum(vector2)
suma2
## [1] 500500
vector_result <- c(suma1,suma2)
vector_result
## [1] 500500 500500
#while(condicion) {
#operaciones
#}
Con esto le decimos a R: MIENTRAS esta condición sea VERDADERA, haz estas operaciones.
n1<-1
suma1<-0
while (n1<=1024)
{suma1=suma1+n1
n1=n1*2
}
print(suma1)
## [1] 2047
resultado<-c(suma1,suma1)
resultado
## [1] 2047 2047
EJERCICIO 3
El vector alumnos representa los nombres de una serie de alumnos
Planteamiento del problema: Desarrollar un programa en el que nos permita crear vectores que represente el nombre de 20 alumnos y realizar las preguntas planteadas
Alumnos <- c("Jose","luis","Mario","Ana","Maria","Veronica","Kathy", "Mauricio",
"Ana","Rene","Salome","Luis","Alfredo","Camila","Sandra","Andy",
"Elena","David","Lore","Alisson")
Alumnos
## [1] "Jose" "luis" "Mario" "Ana" "Maria" "Veronica"
## [7] "Kathy" "Mauricio" "Ana" "Rene" "Salome" "Luis"
## [13] "Alfredo" "Camila" "Sandra" "Andy" "Elena" "David"
## [19] "Lore" "Alisson"
Para ello utilizaremos la funcion length
length(Alumnos)
## [1] 20
Aqui utilizaremos la funcion substr(“x”, “star=”, “stop=”). Donde x es un vector caracter o texto del que se desea extraer una subcadena.star indica el orden inicial, es decir, la posición inicial de la que se empezará a extraer. Por último,stop indica el orden final. El orden inicial y final viene expresado por números. Y la funcion which que muestra la posicion de un componente del vector
Letra <- substr(Alumnos,1,1)
Letra
## [1] "J" "l" "M" "A" "M" "V" "K" "M" "A" "R" "S" "L" "A" "C" "S" "A" "E" "D" "L"
## [20] "A"
which(Letra=="A")
## [1] 4 9 13 16 20
EJERCICIO 4
El vector notas representa la nota de un examen, de los mismos alumnos cuya lista se ha guardado en el vector alumnos y en el mismo orden
Planteamiento del problema: Elaborar un programa que nos permita crear un vector al cual se le asignará el nombre de “notas”, que representa la nota de examen de cada alumno del anterior vector, ya creado
notas <- c(7,9,2,4,6,3,10,6,2,0,1,2,3,4,5,6,7,8,9,9)
notas
## [1] 7 9 2 4 6 3 10 6 2 0 1 2 3 4 5 6 7 8 9 9
length(notas)
## [1] 20
sum(notas)
## [1] 103
mean(notas)
## [1] 5.15
which(notas >=7)
## [1] 1 2 7 17 18 19 20
sort(notas)
## [1] 0 1 2 2 2 3 3 4 4 5 6 6 6 7 7 8 9 9 9 10
sort(notas,decreasing = T)
## [1] 10 9 9 9 8 7 7 6 6 6 5 4 4 3 3 2 2 2 1 0
max(notas)
## [1] 10
which.max(notas)
## [1] 7
EJERCICIO 5
A partir de los vectores y notas asignados:
Planteamiento del problema: Elaborar un programa en el cual nos permita crear vectores para realizar sus respectivos análisis y obtener sus resultados.
Alumnos <- c("Jose","luis","Mario","Ana","Maria","Veronica","Kathy", "Mauricio","Ana","Rene",
"Salome","Luis","Alfredo","Camila","Sandra","Andy","Elena","David","Lore","Alisson")
notas <- c(7,9,2,4,6,3,10,6,2,0,1,2,3,4,5,6,7,8,9,9)
names(notas) <- Alumnos
notas
## Jose luis Mario Ana Maria Veronica Kathy Mauricio
## 7 9 2 4 6 3 10 6
## Ana Rene Salome Luis Alfredo Camila Sandra Andy
## 2 0 1 2 3 4 5 6
## Elena David Lore Alisson
## 7 8 9 9
notas[1:10]
## Jose luis Mario Ana Maria Veronica Kathy Mauricio
## 7 9 2 4 6 3 10 6
## Ana Rene
## 2 0
head(notas,10)
## Jose luis Mario Ana Maria Veronica Kathy Mauricio
## 7 9 2 4 6 3 10 6
## Ana Rene
## 2 0
sum(notas[1:10])
## [1] 49
sum(head(notas,10))
## [1] 49
length(Alumnos)
## [1] 20
sum(notas)
## [1] 103
a <- length(notas)
j <- 1
cont<-0
cont1<-0
aprobados <- 1:a
aprobados[1] <- NA
for(i in 1:a){
if(notas[i]>=7){
aprobados[j] <- "aprobado"
cont<-cont+1
}else{
aprobados[j] <- "reprobado"
cont1<-cont1+1
}
j <- j+1
}
aprobados
## [1] "aprobado" "aprobado" "reprobado" "reprobado" "reprobado" "reprobado"
## [7] "aprobado" "reprobado" "reprobado" "reprobado" "reprobado" "reprobado"
## [13] "reprobado" "reprobado" "reprobado" "reprobado" "aprobado" "aprobado"
## [19] "aprobado" "aprobado"
names(notas) <- aprobados
notas
## aprobado aprobado reprobado reprobado reprobado reprobado aprobado reprobado
## 7 9 2 4 6 3 10 6
## reprobado reprobado reprobado reprobado reprobado reprobado reprobado reprobado
## 2 0 1 2 3 4 5 6
## aprobado aprobado aprobado aprobado
## 7 8 9 9
names(Alumnos) <- aprobados
Alumnos
## aprobado aprobado reprobado reprobado reprobado reprobado aprobado
## "Jose" "luis" "Mario" "Ana" "Maria" "Veronica" "Kathy"
## reprobado reprobado reprobado reprobado reprobado reprobado reprobado
## "Mauricio" "Ana" "Rene" "Salome" "Luis" "Alfredo" "Camila"
## reprobado reprobado aprobado aprobado aprobado aprobado
## "Sandra" "Andy" "Elena" "David" "Lore" "Alisson"
a <- length(notas)
j <- 1
cont<-0
cont1<-0
for(i in 1:a){
if(notas[i]>=7){
aprobados[j] <- "aprobado"
cont<-cont+1
}else{
aprobados[j] <- "reprobado"
cont1<-cont1+1
}
j <- j+1
}
cat("Aprobaron",cont,"alumnos\n","Y desaprobaron",cont1,"alumnos")
## Aprobaron 7 alumnos
## Y desaprobaron 13 alumnos
porcentajealu <-(cont*100)/a
cat("Han aprobado ",porcentajealu,"% de alumnos")
## Han aprobado 35 % de alumnos
q <- max(notas)
cat("La nota maxima es de",q)
## La nota maxima es de 10
s <- min(notas)
cat("La nota minima es de",s)
## La nota minima es de 0
d <- which.max(notas)
d
## aprobado
## 7
f <- which.min(notas)
f
## reprobado
## 10
cat("La mayor nota es de",Alumnos[d],"con una calificacion de",notas[d])
## La mayor nota es de Kathy con una calificacion de 10
cat("La menor nota es de",Alumnos[f],"con una calificacion de",notas[f])
## La menor nota es de Rene con una calificacion de 0
a <- length(notas)
cont <- 0
sum <- 0
for(i in 1:a){
if(notas[i]>=7){
cont <- cont+1
sum <- sum+notas[i]
}
}
media <- sum/cont
medi<- round(media,2)
cat("La nota media de los alumnos teniendo en cuenta solo los que han aprobado es de",medi)
## La nota media de los alumnos teniendo en cuenta solo los que han aprobado es de 8.43