Está en la página 1de 6

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO

MODELOS Y SIMULACIN

PRCTICA 01: INTRODUCCION a R


DOCENTE: Ing. Waldo Villa
ALUMNO: Percy Huaman Tacuri

1. Operadores:

# Aritmticos: +, -, *, /, ^, sqrt(), %/%, %%,


# Relacionales: <, >, <=, >=, ==, =
# Lgicos: !, &, |, xor(), &&, !!
# Funciones logartmicas: log, log10, log2, logb(x,base)
# Funcin exponencial: exp
# Funcin trigonomtrica: sin, cos, tan, asin, acos, atan

2. Algoritmos secuenciales:

# Tarea: promedio de 3 notas

promedio <- function(x,y,z){


return((x+y+z)/3) #RETORNA LA ECUACION DE DIVIDIR X,Y,Z ENTRE 3
}
promedio(15,18,16)

# Tarea: rea de un triangulo

triangulo <- function(base,altura){


return((base*altura)/2) #RETORNA EL PRODUCTO DE BASE Y ALTURA ENTRE 2
}
triangulo(5,8)

# Tarea: convertir grados centgrados a Fahrenheit

fahrenheit <- function(c){


return(((9*c)/5)+32) #ECUACION DE TRANSFORMACION DE GRADOS C A F
}
fahrenheit(45)

3. Algoritmos condicionales:

# TAREA: mayor de 5 nmeros usando mayor_dos

#Calcular el Mayor de 5 numeros


#a,b,c,d,e = Numeros a Evaluar
mayor_de_cinco <- function(a,b,c,d,e)
{
AuxMayor_1 <- mayor_Dos(a,b)
AuxMayor_2 <- mayor_Dos(c,d)
AuxMayor_3 <- mayor_Dos(AuxMayor_1,AuxMayor_2)
Mayor <- mayor_Dos(e,AuxMayor_3)
return(Mayor)

Ing. Waldo Villa Laboratorio: Modelos y Simulacin


}
mayor_de_cinco(7,22,345,42,5)

# TAREA: mayor de 3 nmeros anidando condicionales.


mayor_3 <- function(a,b,c){
if (a>b && a>c) #COMPARANDO VALORES INICIALES Y FINALES
return(a) #VALOR MAYOR DE LA PRIMERA CONDICIONAL
else
if (b>a && b>c)
return(b)
else
return (c) #VALOR MAYOR DE LA SEGUNDA CONDICIONAL
}
mayor_3(10,20,30)

4. Algoritmos repetitivos:

# TAREA: escribe la serie fibonacci hasta el N-simo termino

Fibonacci <- function(N) {


n <- 1
N <- as.integer(N)
if (N < 1) {
stop("Proporcione valores enteros positivos para 'n'")
} # N TIENE QUE SER VALORES ENTEROS POSITIVOS

f1 <- -1
f2 <- 1
while (n <= N) {
fn <- f1 + f2
n <- n + 1
print(fn)
f1 <- f2
f2 <- fn
}
}
Fibonacci(5)

# TAREA: hallar el MCD de 2 nmeros

MCD=function(a,b)
{
min;
maximo=0; #INICIALIZAMOS EL MAXIMO VALOR EN 0
if(a>b)
{
min=b;
}
else
{
min=a;
}
for(i in 1:min)
{

Ing. Waldo Villa Laboratorio: Modelos y Simulacin


if(((a%%i)==0)&&((b%%i)==0))
maximo=i;
}
return(maximo);
}
MCD(9,30)

# TAREA: determinar si un nmero es o no primo

# n = numero a evaluar
Numero_primo = function(n)
{
contador <- 0
k <- 1
while (k <= n)
{

if (n %% k == 0)
contador <- contador +1
k <- k+1
}
if (contador == 2)
return(TRUE)
else
return(FALSE)
}
Numero_primo(3)

# TAREA: halla la potencia xy, x, y son enteros positivos

#x= base
#y= exponente
potencia = function(x,y)
{
k <- 1
p <- 1

while(p <= y)
{
k <- k*x
p<- p+1
}
return(k)
}
potencia(2, 3)

5. Algoritmos recursivo:

# TAREA: determina la serie Fibonacci hasta el N-simo termino

fibonacci = function(n)
{
if (n<2)
return(n)

Ing. Waldo Villa Laboratorio: Modelos y Simulacin


else
return(fibonacci(n-1)+fibonacci(n-2))
}
fibonacci(6)

# TAREA: determina si un nmero es o no primo

Numero_primo = function(n)
{
contador <- 0
k <- 1
while (k <= n)
{

if (n %% k == 0)
contador <- contador +1
k <- k+1
}
if (contador == 2)
return(TRUE)
else
return(FALSE)
}
Numero_primo(7)

# TAREA: halla el MCD de 2 nmeros

# x,y terminos
mcd = function(x,y)
{
if (y == 0)
return(x)
else
return(mcd(y,x%%y))
}
mcd(18,10)

# TAREA: halla la potencia x^y, x, y son enteros positivos

pot = function(x,y)
{
if (y == 0)
return(1)
else
{
if (y %% 2 == 0)
return(pot(x*x, y/2))
else
return(x*pot(x, y-1))
}
}
pot(2,10)

6. Funciones para VECTORES:

Ing. Waldo Villa Laboratorio: Modelos y Simulacin


# Funcin c: crea un vector
v <- c(2,4,5)
v

w <- c(7:23)
w

# TAREA: revisar otras funciones, utilizar help(funcin) para ayuda


help(cumsum)

cumsum(1:10)

help(setdiff)

(x <- c(sort(sample(1:20, 9)), NA))


(y <- c(sort(sample(3:23, 7)), NA))

setdiff(x, y)

# TAREA: implemente una funcin que grave los datos del vector en archivo (cat)

edades = c(12,15,16,11,92,17,14,16)
cat(edades, file = "D:/Edad_Alumnos.csv", fill = 1)

# TAREA: implemente una funcin que recupere los datos de un archivo a un vector (scan)

scan2<-function(dir){
return(scan(file = dir))
}
scan2("d:/Edad_Alumnos.csv")

7. Data.Frame

# TAREA: Investigar y poner ejemplo sobre las funcione: data.frame, read.table, write.table

mes <- c("enero","febrero","marzo","abril","mayo")


temp_min <- c(15, 12, 20, 19, 14)
temp_max <- c(21, 17, 25, 14, 19)
dat_mes <- data.frame(mes, temp_min, temp_max)
dat_mes

8. Grficos:

# TAREA: implemente una funcin que grafique en puntos

graf_puntos<-function(v1,v2){
plot(v1,v2)
}
x<- c(1,2,3,4,5,6)
y<- c(10,20,30,40,50,60)

Ing. Waldo Villa Laboratorio: Modelos y Simulacin


graf_puntos(x,y)
# TAREA: implemente una funcin que grafique en barras

graf_barras<-function(v1){
hist(v1)
}
graf_barras(x)

# TAREA: implemente una funcin que grafique en lneas

graf_lineas<-function(p1,p2){
plot(p1,p2,type="l")
}
p1=c(1,2)
p2=c(10,14)
graf_lineas(p1,p2)

Ing. Waldo Villa Laboratorio: Modelos y Simulacin

También podría gustarte