Colaborador: Ing. Francisco Valverde


INTRODUCCIÓN

El presente manual expone la resolución de 20 ejercicios ejcutados en código R cada uno explicado paso a paso,dirigido a aquellas personas que estan iniciando en el mundo de la programación.

1. CÁLCULO DE LA HIPOTENUSA

Realizar un programa que solicite al usuario los dos catetos del triángulo rectángulo y calcule la hipotenusa con ayuda del teorema de Pitágoras

PASO 1

Lo primero que realizamos es crear dos variables, en la primera vamos a guardar el valor del primer cateto y en la segunda el valor del segundo cateto.A estas dos variables las asignamos como numéricas as.numeric,esto con la finalidad de que solo se ingresen datos numéricos,luego con ayuda de un readline colocamos el mensaje que deseamos que aparezca en la consola del usuario y asi este pueda ingresar sus datos.

Y así obtenemos:

c1 <- as.numeric(readline("Ingrese el primer cateto: "))
c2 <- as.numeric(readline("Ingrese el segundo cateto: "))

PASO 2

Utilizaremos el teorema de pitagoras para encontrar la hipotenusa: \[ c=\sqrt{a^2+b^2} \] Asignamos esta formula a una variable y remplazamos con las variables ya creadas:

hipotenusa <- sqrt((c1^2)+(c2^2))

PASO 3

Finalmente presentamos el resultado con ayuda de cat

cat("La hipotenusa del triangulo rectangulo que tiene como catetos",c1,"cm y",c2,"cm es",hipotenusa,"cm")

Y LISTO! ya tenemos nuestro programa ahora lo unico que tenemos que hacer es probarlo

c1 <- as.numeric(readline("Ingrese el primer cateto: "))
## Ingrese el primer cateto:
c2 <- as.numeric(readline("Ingrese el segundo cateto: "))
## Ingrese el segundo cateto:
c1<-4
c2<-5
hipotenusa <- sqrt((c1^2)+(c2^2))

cat("La hipotenusa del triangulo rectangulo que tiene como catetos",c1,"cm y",c2,"cm es",hipotenusa,"cm")
## La hipotenusa del triangulo rectangulo que tiene como catetos 4 cm y 5 cm es 6.403124 cm

2. Solución de una función cuadrática

Función Cuadratica

\[X1, X2 =\frac{(-b)\pm\sqrt{({b^2}-{4ac})}}{2a}\]

Elaborar un programa que calcule las soluciones de una ecuación cuadrática de segundo grado de la forma ``𝑎𝑥2 + 𝑏𝑥 + 𝑐 = 0`` con valores solicitados e ingresados por el usuario 

PASO 1

Vamos a pedir al usuario que ingrese el primer coeficiente

a <- as.numeric(readline("Ingrese el primer coeficiente (a): "))

La función as.numeric, nos indica que los núneros ingresados por pantalla sean valores numericos.

PASO 2

Pedir al usuario que ingrese el segundo coeficiente.

b <- as.numeric(readline("Ingrese el segundo coeficiente (b): "))

PASO 3

Ingresar el tercer coeficiente

c <- as.numeric(readline("Ingrese el tercer coeficiente (c): "))

PASO 4

Creamos una variables llamada dis a la cual le asignamos la formula de la ecuación cuadrática

dis <- b^2-4*a*c

PASO 5

Luego utilizamos la función if, else que nos permite obtener el resultado de la ecuación si se cumple la condición.

#if(dis<0){cat("Su funcion no tiene solucion existente en el conjunto de los
#numeros reales")
#}else{
# if(dis==0){
# x1 <- (-b-sqrt(dis))/2*a
# x2 <- (-b+sqrt(dis))/2*a
# cat("Para la funcion cuadratica sus respuestas son iguales:\n");cat("x1 =",x1,
#"y x2 =",x2)
# }else{
# x1 <- (-b-sqrt(dis))/2*a
# x2 <- (-b+sqrt(dis))/2*a
# cat("Para la funcion cuadratica sus respuestas son diferentes:\n");cat("x1
#=",x1, "y x2 =",x2)
# }
# }
La función ``cat`` nos permite concatenar los datos y mostralos en pantalla   

3. Área de un triángulo

Fórmula

\[Área = \frac{b*h}{2}\] ~~~ Desarrollar un programa que solicite el ingreso de la base y la altura de un triángulo y que dé como resultado su área ~~~

PASO 1

Ingresar el valor de la base del triángulo

b <- as.numeric(readline("Ingrese la base del triangulo (cm): "))

PASO 2

Ingresar el valor de la altura

h <- as.numeric(readline("Ingrese a altura del triangulo (cm): "))

PASO 3

Creamos una variable llamada area y le asignamos la fórmula para calcular el area de un rectángulo.

area <- (b*h)/2

PASO 4

Utilizamos la fución catpara concatenar los datos y que nos muestre por pantalla.

cat("El area del triangulo con base",b,"cm y altura",h,"cm es",area,"cm")

4. Área y Perímetro de un rectángulo

Fórmula área de un rectángulo

\[área= {(b*h)}\]

Formula Perímetro de un rectángulo

\[perímetro= 2a+2b\]

Determinar un programa que nos permita calcular el área y perímetro de un rectángulo y obtener su resultado, dada su base y altura.

PASO 1

Vamos a pedir al usuario que ingrese por pantalla el valor de la base y altura para su respectivo calculo

b <- as.numeric(readline("Ingrese la base del rectangulo (cm): "))

h <- as.numeric(readline("Ingrese la altura del rectangulo (cm): "))

PASO 2

Asignamos la fórmula correspondiente para el cálculo del area y el perímetro y utilizamos la función cat para que nos muestre el resultado por pantalla

area <- b*h
perimetro <- 2*b+2*h
cat("La area del rectangulo es ", area,"cm \n");cat("y el perimetro
es",perimetro,"cm")

5. Promedio total de tres notas

Obtener mediante un programa el promedio de tres 3 notas que estén entre 0 y 20, los datos serán previamente ingresados por el usuario y nos dará como resultado el promedio total de las tres notas.

PASO 1

Se utilizará la función if, else para crear una secuencia y seguir añadiendo los valores de las tres notas correspondientes.

#num1<-as.numeric(readline("Ingrese la primera nota: "))
#if ( num1>=0 & num1<=20){"Siguiente nota"
# }else{ num1<-as.numeric(readline("Ingrese la primera nota: "))}
#num2<-as.numeric(readline("Ingrese la segunda nota: "))
#if ( num2>=0 & num2<=20){"Siguiente nota"
#}else{ num1<-as.numeric(readline("Ingrese la primera nota: "))}
#num3<-as.numeric(readline("Ingrese la tercera nota: "))
#if ( num3>=0 & num3<=20){ "Acontinuació su promedio"
#}else{ num1<-as.numeric(readline("Ingrese la primera nota: "))}
#cat("El promedio de las 3 notas es: ",(num1+num2+num3)/3)

PASO 2

Al finalizar el programa mediante la función cat se presentara el promedio final de las tres notas ingresadas por el usuario. ___ >#### 6. Área y perímetro de una circunferencia dado el radio
Realizar un programa que nos permita calcular el área y perímetro de una 
circunferencia aplicando sus fórmulas respectivas y los datos que serán ingresados por 
el usurario.

PASO 1

Primero antes que nada,debemos solicitar al usuario que ingrese el radio del circulo por pantalla, para eso, a una variable, en este caso llamada r le asignamos 2 funciones:

NOTA: Recuerda que las funciones usan parentesis y lo de adentro de los parentesis se llaman argumentos

De esta manera tenemos:

r<-as.numeric(readline("Ingrese el radio de la circunferencia: "))

PASO 2

Por último, mediante la funcion cat presentamos por pantalla dos cosas:

Una cosa adicional es usar la funcion round que nos permite redondear el resultado que obtengamos de la operacion a los decimales que queramos, en este caso maximo 2 decimales

De esta manera tenemos:

cat("El Area de la circunferencia es:",round(pi*(r^2),2),"cm^2",
"y el Perimetro es:",round(2*pi*r,2),"cm")

Finalmente podemos correr nuestro programa completo, de prueba nuestro radio ingresado es 5 centimetros:

r<-as.numeric(readline("Ingrese el radio de la circunferencia: "))
## Ingrese el radio de la circunferencia:
r <- 5
cat("El Area de la circunferencia es:",round(pi*(r^2),2),"cm^2",
"y el Perimetro es:",round(2*pi*r,2),"cm")
## El Area de la circunferencia es: 78.54 cm^2 y el Perimetro es: 31.42 cm

7. Área de un trapecio dado su base mayor, base menor y altura.

Elaborar un programa que pida al usuario la base mayor, la base menor 
y altura de un trapecio y de cómo resultados su respectiva área.

PASO 1

Primeramente,debemos solicitar al usuario que ingrese los datos con los que se haran los calculos, es decir pedimos al usuario que ingrese la base mayor, menor y la altura del trapecio, para pedir la base mayor al cual como nombre de variable es b1, asignamos(<-) 2 funciones:

NOTA: Recuerda que las funciones usan parentesis y lo de adentro de los parentesis se llaman argumentos

De esta manera obtenemos:

b1<-as.numeric(readline("Ingrese la base mayor: "))

El procedimiento es tecnicamente el mismo para pedir al usuario la base menor y la altura del trapecio, entonces tenemos:

b1<-as.numeric(readline("Ingrese la base mayor: "))
b2<-as.numeric(readline("Ingrese la base menor: "))
h<-as.numeric(readline("Ingrese las altura: "))

PASO 2

Por último, mediante la funcion cat presentamos por pantalla dos cosas:

\[Area \ del\ trapecio = \frac{base \ mayor+base \ menor}{2}*altura\] Adicionalmente, usamos la funcion round que nos permite redondear el resultado que obtengamos de la operacion a los decimales que queramos, en este caso maximo 2 decimales

De esta manera tenemos:

cat("EL Area del Trapecio es de: ",round(((b1+b2)/2)*h,2),"cm^2")

Finalmente podemos correr nuestro programa completo, de prueba nuestra base mayor es de 9.5, nuestra base menor es de 3.5, y la altura de 4, todo esto en centimetros:

b1<-as.numeric(readline("Ingrese la base mayor: "))
## Ingrese la base mayor:
b2<-as.numeric(readline("Ingrese la base menor: "))
## Ingrese la base menor:
h<-as.numeric(readline("Ingrese las altura: "))
## Ingrese las altura:
cat("EL Area del Trapecio es de: ",round(((b1+b2)/2)*h,2),"cm^2")
## EL Area del Trapecio es de:  NA cm^2

8. Determinar cual numero es mayor y cual es el menor

Realizar un programa que solicite al usuario dos números, y como 
resultado entregue cual de estos es el mayor y menor de los dos, dado el caso si 
los dos números son iguales, informar al usuario mediante un mensaje.

PASO 1

Primeramente,debemos solicitar al usuario que ingrese los numeros con los que se haran las comparaciones para determinar cual es mayor y cual es menor, para pedir el pprimer numero, al cual como nombre de variable es num1, asignamos(<-) 2 funciones:

NOTA: Recuerda que las funciones usan parentesis y lo de adentro de los parentesis se llaman argumentos

De esta manera obtenemos:

num1<-as.numeric(readline("Ingrese el primer numero: ")) 

El procedimiento es tecnicamente el mismo para pedir al usuario el segundo numero (num2), entonces tenemos:

num1<-as.numeric(readline("Ingrese el primer numero: ")) 
## Ingrese el primer numero:
num2<-as.numeric(readline("Ingrese el segundo numero: ")) 
## Ingrese el segundo numero:

PASO 2

A continuacion, tenemos que identificar cual es el numero mayor y cual el menor para indicarselo al usuario, para esto usamos la funcion if, su sintaxis es super simple, la tenemos asi:

if(condicion){
  #lineas de codigo
}

Tenemos en cuenta que solo si se cumple la condicion que hemos puesto, las lineas de codigo de adentro del if se ejecutaran

Si queremos adicionar un else (caso contrario) lo hacemos poniendo la palabra “else” despues del ultimo corchete del if, de la siguiente manera:

if(condicion){
  #lineas de codigo
}else{
  #lineas de codigo
}

Sabemos, en este caso, que si no se cumplio la condicion del if, se ejecutaran las lineas de codigo del else

NOTA: Recuerda que para agregar if anidados, es decir un if adentro de otro if, el segundo if va adrentro del else del primer if.

Despues de haber recordado la funcion if procedemos a ubicar la primera condicion, poniendo si los dos numeros (num1 y num2) son iguales, asi tenemos:

if (num1==num2) {

 }

Adentro del if usamos la funcion cat, para enviar un mensaje al usuario entre comillas (““) de que si esa condicion se cumple los 2 numeros ingresados son iguales:

if (num1==num2) {
  cat("Los numeros son iguales \n")
 }

PASO 3

Despues de haber ubicado la primera condicion, adicionamos un if anidado, es decir, despues del primer if, adicionamos su respectivo else y adentro de este else ubicamos un if.

En este nuevo if, vamos a preguntar si num1 (el primer numero) es mayor que num2 (el segundo numero), y si es asi, presentamos con cat un mensaje en donde se indique al usuario que num1 e mayor a num2.

Asi tenemos:

if (num1==num2) {cat("Los numeros son iguales \n")
 }else {
if(num1>num2) {cat("El número mayor es",num1," y el número menor es 
",num2,"\n")
}

PASO 4

Para finalizar, si ya sabemos, que num1 y num2 no son iguales, y que num1 no es mayor que num2, lo ultimo que nos falta evaluar es que num2 sea mayor a num1, y por logica, si no se cumplieron las condiciones anteriores, num2 es mayor a num1.

En ese caso si es logico, no es necesario adicional una condicion con un if mas, simplemente solo al ultimo if, aumentamos un else, con un mensaje que indique que num2, es mayor que num1.

Asi simplemente tenemos:

if (num1==num2) {cat("Los numeros son iguales \n")
 }else {
if(num1>num2) {cat("El número mayor es",num1," y el número menor es 
",num2,"\n")
}else {cat("El número mayor es ",num2," y el numero menor es ",num1,"\n")
}

Y de esta manera obtenemos nuestro codigo completo:

num1<-as.numeric(readline("Ingrese el primer numero: ")) 
num2<-as.numeric(readline("Ingrese el segundo numero: ")) 
if (num1==num2) {cat("Los numeros son iguales \n")
 }else{
if(num1>num2) {cat("El número mayor es",num1," y el número menor es 
",num2,"\n")
}else {cat("El número mayor es ",num2," y el numero menor es ",num1,"\n")
}
 }

9. Suma, resta, multiplicación y división de dos números

Realizar un programa que le solicite al usuario ingresar dos números y el cual 
como resultado le muestre la suma, resta, multiplicación y división de los números.

PASO 1

Primeramente,debemos solicitar al usuario que ingrese los numeros con los que se haran las operaciones basicas, para pedir el primer numero, al cual como nombre de variable es num1, asignamos(<-) 2 funciones:

NOTA: Recuerda que las funciones usan parentesis y lo de adentro de los parentesis se llaman argumentos

De esta manera obtenemos:

num1<-as.numeric(readline("Ingrese el primer numero: "))

Para num2 (el segundo numero) es el mismo procedimiento que num1, asi que tenemos lo siguiente:

num1<-as.numeric(readline("Ingrese el primer numero: ")) 
## Ingrese el primer numero:
num2<-as.numeric(readline("Ingrese el segundo numero: ")) 
## Ingrese el segundo numero:

PASO 2

Por último, mediante la funcion cat presentamos por pantalla dos cosas:

De esta manera tendremos cuatro funciones cat, una pada cada operacion matematica

Para la suma tenemos:

cat("La suma de ",num1," y ",num2," es: ",num1+num2,"\n")

y asi, con cada operacion matematica:

cat("La suma de ",num1," y ",num2," es: ",num1+num2,"\n")
cat("La resta de ",num1," y ",num2," es: ",num1-num2,"\n")
cat("La multiplicación de ",num1," y ",num2," es: ",num1*num2,"\n")
cat("La division de ",num1," y ",num2," es: ",num1/num2,"\n")

Finalmente, asi es como obtenemos nuestro programa:

num1<-as.numeric(readline("Ingrese el primer numero: ")) 
num2<-as.numeric(readline("Ingrese el segundo numero: ")) 
cat("La suma de ",num1," y ",num2," es: ",num1+num2,"\n")
cat("La resta de ",num1," y ",num2," es: ",num1-num2,"\n")
cat("La multiplicación de ",num1," y ",num2," es: ",num1*num2,"\n")
cat("La division de ",num1," y ",num2," es: ",num1/num2,"\n")

si lo corremos con num1=2 y num2=3, tenemos:

num1<-as.numeric(readline("Ingrese el primer numero: ")) 
## Ingrese el primer numero:
num2<-as.numeric(readline("Ingrese el segundo numero: ")) 
## Ingrese el segundo numero:
num1 <- 2
num2 <- 3
cat("La suma de ",num1," y ",num2," es: ",num1+num2,"\n")
## La suma de  2  y  3  es:  5
cat("La resta de ",num1," y ",num2," es: ",num1-num2,"\n")
## La resta de  2  y  3  es:  -1
cat("La multiplicación de ",num1," y ",num2," es: ",num1*num2,"\n")
## La multiplicación de  2  y  3  es:  6
cat("La division de ",num1," y ",num2," es: ",num1/num2,"\n")
## La division de  2  y  3  es:  0.6666667

10. Total a pagar y su IVA (12%)

Realizar un programa que pida al usuario ingresar una cantidad en dólares y como resultado se visualice el IVA (12%) y el valor total a pagar

PASO 1

Primeramente,debemos solicitar al usuario que ingrese la cantidad en dolares del producto antes del IVA, para pedir el monto, al cual como nombre de variable es num1, asignamos(<-) 2 funciones:

Asi tenemos lo siguiente:

num1<-as.numeric(readline("Ingrese la cantidad en dolares: ")) 
## Ingrese la cantidad en dolares:

PASO 2

Despues de haber pedido al usuario el monto en dolares, procedemos a hacer el calculo del IVA, que es del 12 %

Teniento en cuenta la formula del IVA: \[IVA = monto \ en \ dolares*12\%\] Para esto asignamos (<-) a una variable llamada “iva” el calculo que realizamos con el monto de esta manera:

iva<-num1*0.12

PASO 3

Ahora calculamos el total, teniendo en cuenta que el oonto total a pagar es segun la siguiente formula: \[Monto \ total = monto \ en \ dolares + IVA\] Entonces para esto, asignamos (<-) a una variable “total”, esta operacion, teniedo en cuenta que le IVA ya lo tenemos calculado en la variable “iva”

Asi tenemos:

total<-num1+iva

PASO 4

Por último, mediante la funcion cat presentamos por pantalla dos cosas:

De esta manera usamos dos funciones cat, una que presente de cuanto es el IVA y otro ue presente cuanto es el total

Asi tenemos nuestro programa finalizado:

num1<-as.numeric(readline("Ingrese la cantidad en dolares: ")) 
iva<-num1*0.12
total<-num1+iva
cat("El iva es ",iva,"\n")
cat("El total a pagar es de: ",total,"$ \n")

Al correrlo, con un monto de prueba(num1) de 400, tenemos:

num1<-as.numeric(readline("Ingrese la cantidad en dolares: ")) 
## Ingrese la cantidad en dolares:
num1 <- 400
iva<-num1*0.12
total<-num1+iva
cat("El iva es ",iva,"\n")
## El iva es  48
cat("El total a pagar es de: ",total,"$ \n")
## El total a pagar es de:  448 $

11. TRANSFORMACIÓN DE TEMPERATURA

Realizar un programa que solicite al usuario una temperatura e identificar si dicha temperatura esta grados en Fahrenheit o Celsius, y presentar su resultado por conversión a otra medida.

PASO 1

Primero crearemos dos variables la primera almecenara la unidad de medidad de temperatura que el usuario va a ingresar esta variable sera de tipo caracter as.character ,la segunda variable sera de tipo numerico as.numeric y almacenara los grados que se van a transformar,estos valores seran ingresados desde teclado utilizando readline

Obteniendo:

temper <- as.character(readline("Ingrese la unidad (Celsius O Fahrenheit):"))
t <- as.numeric(readline("Ingrese la temperatura:"))

PASO 2

A continuacion, tenemos que identificar cual es el numero mayor y cual el menor para indicarselo al usuario, para esto usamos la funcion if, su sintaxis es super simple, la tenemos asi:

if(condicion){
  #lineas de codigo
}

Tenemos en cuenta que solo si se cumple la condicion que hemos puesto, las lineas de codigo de adentro del if se ejecutaran

Si queremos adicionar un else (caso contrario) lo hacemos poniendo la palabra “else” despues del ultimo corchete del if, de la siguiente manera:

if(condicion){
  #lineas de codigo
}else{
  #lineas de codigo
}

Sabemos, en este caso, que si no se cumplio la condicion del if, se ejecutaran las lineas de codigo del else

Con ayuda de esta condicion identificamos la unidad de medidad de temperatura que ingresa el usuario,en el caso de nuestro ejemplo utilizamos la condicion if para identificar si la unidad de medidad ingresada por el usuario es “CELSIUS”.

De esta manera,tenemos:

if (temper=="c" | temper== "C" | temper=="CELSIUS"| temper== "Celsius" | 
temper=="celsius"){}

NOTA:Ubicamos en la condicion las posibles respuestas en las que el usuario pudo haber seleccionado la unidad de medida “CELSIUS”

PASO 3

Si esta condicion se cumple la transformacion sera de celsius a fahrenheit,tomando en cuenta la siguiente formula: \[ °F = \ \frac{9}{5}*°C+32 \] Para esto asignamos (<-) a una variable, la operacion de conversion (celsius a fahrenheit), en este ejemplo usamos la variable “Fahrenheit”,asi tenemos:

Fahrenheit <- ((9*t)/5)+32

Luego,mediante la funcion cat presentamos por pantalla dos cosas:

cat("La temperatura en fahrenheit es:", Fahrenheit, "°F")

PASO 4

Si esta condicion NO se cumple colocamos un else y dentro de esta la transformacion de fahrenheit a celsius,tomando en cuenta la siguiente formula: \[ °C = \ \frac{°F-32}{9/5}\]

Para esto asignamos (<-) a una variable, la operacion de conversion (fahrenheit a celsius), en este ejemplo usamos la variable “CELSIUS”,asi tenemos:

else{
Celsius <- (t-32)/(9/5)}

Luego,mediante la funcion cat presentamos por pantalla dos cosas:

else{
 
 Celsius <- (t-32)/(9/5)
 
 cat("La temperatura en Celsius es:",Celsius, "°C")
}

Tenemos el codigo finalizado:

temper <- as.character(readline("Ingrese la unidad (Celsius O Fahrenheit):"))
t <- as.numeric(readline("Ingrese la temperatura:"))
if (temper=="c" | temper== "C" | temper=="CELSIUS"| temper== "Celsius" | 
temper=="celsius"){
 
 Fahrenheit <- ((9*t)/5)+32
 
 cat("La temperatura en fahrenheit es:", Fahrenheit, "°F")
 
} else {
 
 Celsius <- (t-32)/(9/5)
 
 cat("La temperatura en Celsius es:",Celsius, "°C")
}

Y por último el codigo ejecutado,teniendo en cuenta 32°C

temper <- as.character(readline("Ingrese la unidad (Celsius O Fahrenheit):"))
## Ingrese la unidad (Celsius O Fahrenheit):
t <- as.numeric(readline("Ingrese la temperatura:"))
## Ingrese la temperatura:
temper<-"C"
t<-32
if (temper=="c" | temper== "C" | temper=="CELSIUS"| temper== "Celsius" | 
temper=="celsius"){
 
 Fahrenheit <- ((9*t)/5)+32
 
 cat("La temperatura en fahrenheit es:", Fahrenheit, "°F")
 
} else {
 
 Celsius <- (t-32)/(9/5)
 
 cat("La temperatura en Celsius es:",Celsius, "°C")
}
## La temperatura en fahrenheit es: 89.6 °F

12. PAGO DE SALARIO POR HORAS TRABAJADAS Y HORAS EXTRAS

Elaborar un programa en el que usuario ingrese las horas trabajadas y su 
valor, además que ingrese las horas extra con un valor diferente y le muestre la paga correspondiente.

PASO 1

Lo primero que realizamos es crear dos variables, en la primera vamos a guardar las horas trabajadas y en la segunda el valor de cada hora. A estas dos variables las asignamos como numéricas as.numeric,esto con la finalidad de que solo se ingresen datos numéricos,luego con ayuda de un readline colocamos el mensaje que deseamos que aparezca en la consola del usuario y asi este pueda ingresar sus datos.

Y así obtenemos:

ht<-as.numeric(readline("Ingrese las horas trabajadas: "))
coste<-as.numeric(readline("Ingrese el costo de las hora trabajadas: "))

PASO 2

Como siguiente paso calculamos el pago de las horas trabajadas,esto lo realizamos creando una variable en la que se guarda la multiplicación de nuestras horas trabajadas y el costo de cada hora.

pago<-ht*coste

Presentamos nuestro resultado utilizando cat esta nos ayuda a poder enviar un mensaje al usuario

cat("El pago por las horas trabajadas es: ",pago)

PASO 3

Ahora vamos a calcular el pago de las horas extras trabajadas.

Creamos una variable a la que asiganaremos como numerica as.numeric en esta se guardara las horas extras trabajadas por el usuario,utilizamos readline para enviar un mensaje al usuario y pueda ingresar los valores

hex<-as.numeric(readline("Ingrese las horas Extra: "))

A esta variable la vamos a multiplicar por el valor que tenga cada hora extra en el país,ciudad donde se encuentren,en el caso de nuestro ejemplo los vamos a multiplicar por 15

hexpago<-hex*15

PASO 4

Como último paso nos queda calcular el salario final,para esto creamos otra variable donde guardaremos la suma del pago de por horas trabajdas más el pago de horas extras trabajadas:

salario_con_horasextra<-hexpago+pago

Presentamos nuestro resultado final utilizando cat

cat("El salario completo es de: $",salario_con_horasextra)

Y LISTO! ya tenemos nuestro programa ahora lo unico que tenemos que hacer es probarlo

ht<-as.numeric(readline("Ingrese las horas trabajadas: "))
## Ingrese las horas trabajadas:
coste<-as.numeric(readline("Ingrese el coste de las hora trabajadas: "))
## Ingrese el coste de las hora trabajadas:
pago<-ht*coste
cat("La paga por las horas trabajadas es: ",pago)
## La paga por las horas trabajadas es:  NA
hex<-as.numeric(readline("Ingrese las horas Extra: "))
## Ingrese las horas Extra:
hexpago<-hex*15
salario_con_horasextra<-hexpago+pago
cat("El salario completo es de: $",salario_con_horasextra)
## El salario completo es de: $ NA

13. SUMATORIA DE 1 HASTA N

Desarrollar un programa en el que el usuario ingrese un número entero positivo y le muestre al usuario la sumatoria desde 1 hasta el número que ingreso

PASO 1

Primero asignamos una variable donde vamos a guardar el número ingresado por el usuario desde teclado con ayuda de readline,esta variable sera de tipo numerico as.numeric.

n<-as.numeric(readline("Ingrese un entero positivo:"))

PASO 2

Utilizaremos la formula de la sumatoria de n números naturales consecutivos: \[ \sum_{i=1}^{n}{i} = \ \frac{n(n+1)}{2} \]

PASO 3

Finalmente asignamos la formula a una variable y presentamos el reultado con cat

suma<-(n*(n+1))/2
cat("La suma desde 1 hasta ", n ,"es de: ",suma)

Y LISTO! ya tenemos nuestro programa ahora lo unico que tenemos que hacer es probarlo

n<-as.numeric(readline("Ingrese un entero positivo:"))
## Ingrese un entero positivo:
suma<-(n*(n+1))/2
cat("La suma desde 1 hasta ", n ,"es de: ",suma)
## La suma desde 1 hasta  NA es de:  NA

14. CÁLCULO DEL IMC

Elaborar un programa que pida al usuario su peso en kg, estatura en metros,almacénelo en una variable y muestre como resultado el índice de masa corporal (IMC) calculado con los datos ingresados por el usuario

PASO 1

Lo primero que realizamos es crear dos variables, en la primera vamos a guardar el peso en kilogramos(kg) y en la segunda la estatura en metros (m). A estas dos variables las asignamos como numéricas as.numeric,esto con la finalidad de que solo se ingresen datos numéricos,luego con ayuda de un readline colocamos el mensaje que deseamos que aparezca en la consola del usuario y asi este pueda ingresar sus datos.

peso<-as.numeric(readline("Ingrese su peso en kg:"))
estatura<-as.numeric(readline("Ingrese su estatura en metros: "))

PASO 2

Utilizamos la formula del IMC: \[ IMC = \ \frac{peso}{(altura)^2} \] Asignamos la formula a una variable y remplazamos con el nombre de nuestras variable:

IMC<-(peso/(estatura)^2)

PASO 3

Ya solo nos queda presentar el resultado utilizando cat

cat("Tu Indice de Masa Corporal es:",round(IMC,2))

Y LISTO! ya tenemos nuestro programa ahora lo unico que tenemos que hacer es probarlo

peso<-as.numeric(readline("Ingrese su peso en kg:"))
## Ingrese su peso en kg:
estatura<-as.numeric(readline("Ingrese su estatura en metros: "))
## Ingrese su estatura en metros:
IMC<-(peso/(estatura)^2)
cat("Tu Indice de Masa Corporal es:",round(IMC,2))
## Tu Indice de Masa Corporal es: NA

15. CAPITAL OBTENIDO EN UNA INVERSIÓN

Elaborar un programa que pida al usuario la cantidad que desea invertir, el interés anual y el número de años, y muestre como resultado el capital obtenido en la inversión

PASO 1

Primero creamos tres variables de tipo numérico as.numeric,en la primera se guaradará el valor del capital inicial,en la segunda el valor del interés y en la ultima los años de la inversión,estos valores seran ingresados por el usuario y para ello utilizaremos readline.

cap_inicial<-as.numeric(readline("Ingrese el capital que desea invertir: "))
interes<-as.numeric(readline("Ingrese el interés anual: "))
años<-as.numeric(readline("Ingrese el numero de años:"))

PASO 2

Para el cálculo utilizaremos la formula del capital final o valor final : \[ C_f = C_i(1+\ \frac{r}{100}t)\] Donde:

Asignamos esta formula a una variable y remplazamos con los nombres de las anteriores variables:

cap_final<-cap_inicial*(1+(interes/100)*años)

PASO 3

Ya solo nos queda presentar el resultado utilizando cat

cat("El capital obtenido en la inversion es de:",cap_final,"$")

Y LISTO! ya tenemos nuestro programa ahora lo unico que tenemos que hacer es probarlo

cap_inicial<-as.numeric(readline("Ingrese el capital que desea invertir: "))
## Ingrese el capital que desea invertir:
interes<-as.numeric(readline("Ingrese el interés anual: "))
## Ingrese el interés anual:
años<-as.numeric(readline("Ingrese el numero de años:"))
## Ingrese el numero de años:
cap_final<-cap_inicial*(1+(interes/100)*años)
cat("El capital obtenido en la inversion es de:",cap_final,"$")
## El capital obtenido en la inversion es de: NA $

16. Transformar a horas, minutos o segundos

Realizar un programa que pida el tiempo ya sea en horas, minutos o segundos,
luego indicar en qué unidad de tiempo desea transformar y presentar como resultado el
tiempo transformado

PASO 1

t1<-as.character(readline("Unidad de tiempo a ingresar(Segundos,Minutos u
Horas):"))

PASO 2

n<-as.numeric(readline("Ingrese el tiempo: "))

PASO 3

t<-as.character(readline("Ingrese la unidad de tiempo que desea transformar:"))

PASO 4

if((t1=="Segundos"|t1=="SEGUNDOS"|t1=="segundos")&(t=="Horas"|t=="h
oras"|t=="HORAS"))
 { n1<-(n/3600);cat(n,"segundo/s equivalen a:",n1,"hora/s")}
if((t1=="Segundo/s"|t1=="SEGUNDOS"|t1=="segundos")&(t=="minutos"|t==
"Minutos"|t=="MINUTOS"))
{n1<-(n/60);cat(n,"segundo/s equivale a:",n1,"minuto/s \n")}
if((t1=="Minutos"|t1=="minutos"|t1=="Minutos")&(t=="Horas"|t=="horas"|t=
="HORAS"))
 {n1<-(n/60);cat(n,"minuto/s equivalen a:",n1,"hora/s \n")}
if((t1=="Minutos"|t1=="minutos"|t1=="MINUTOS")&(t=="Segundos"|t=="se
gundos"|t=="SEGUNDOS"))
 {n1<-(n*60);cat(n,"minuto/s equivale a:",n1,"segundo/s \n")}
if((t1=="Horas"|t1=="horas"|t1=="HORAS")&(t=="Minutos"|t=="minutos"|t=="MIN
UTOS"))
 {n1<-(n*60);cat(n,"hora/s equivale a:",n1,"minuto/s \n")}
if((t1=="Horas"|t1=="horas"|t1=="HORAS")&(t=="Segundos"|t=="segundos"|
t=="SEGUNDOS"))
 {n1<-(n*3600);cat(n,"hora/s equivale a:",n1,"minuto/s \n")}

Nota:Para revisar sobre las transformaciones de Horas,

Minutos,Segundos vaya al siguiente link Transformaciones

PROGRAMA EJECUTADO

t1<-"Minutos"
n<-30
t<-"Segundos"
if((t1=="Segundos"|t1=="SEGUNDOS"|t1=="segundos")&(t=="Horas"|t=="h
oras"|t=="HORAS"))
 { n1<-(n/3600);cat(n,"segundo/s equivalen a:",n1,"hora/s")}
if((t1=="Segundo/s"|t1=="SEGUNDOS"|t1=="segundos")&(t=="minutos"|t=="Minutos"|t=="MINUTOS"))
{n1<-(n/60);cat(n,"segundo/s equivale a:",n1,"minuto/s \n")}
if((t1=="Minutos"|t1=="minutos"|t1=="Minutos")&(t=="Horas"|t=="horas"|t=="HORAS"))
 {n1<-(n/60);cat(n,"minuto/s equivalen a:",n1,"hora/s \n")}
if((t1=="Minutos"|t1=="minutos"|t1=="MINUTOS")&(t=="Segundos"|t=="se
gundos"|t=="SEGUNDOS"))
 {n1<-(n*60);cat(n,"minuto/s equivale a:",n1,"segundo/s \n")}
## 30 minuto/s equivale a: 1800 segundo/s
if((t1=="Horas"|t1=="horas"|t1=="HORAS")&(t=="Minutos"|t=="minutos"|t=="MIN
UTOS"))
 {n1<-(n*60);cat(n,"hora/s equivale a:",n1,"minuto/s \n")}
if((t1=="Horas"|t1=="horas"|t1=="HORAS")&(t=="Segundos"|t=="segundos"|
t=="SEGUNDOS"))
 {n1<-(n*3600);cat(n,"hora/s equivale a:",n1,"minuto/s \n")}

17. Programa en el que se digiten varios números y luego los números se presenten en pantalla ordenados.

Elaborar un programa en el cual se digiten varios números y luego estos
números ingresados por el usuario se presenten en pantalla de manera ordenada

PASO 1

num1 <- as.numeric(readline("Ingresar el numero:"))

PASO 2

num2 <- as.numeric(readline("Ingresar el numero:"))

PASO 3

X <- (num1:num2)

PASO 4

cat("los numeros ingresados son:",sort(X))

PROGRAMA EJECUTADO

num1 <- 13
num2 <- 7
X <- (num1:num2)
cat("los numeros ingresados son:",sort(X))
## los numeros ingresados son: 7 8 9 10 11 12 13

18. Programa que calcule la factorial de un número que ha sido digitado por el usuario.

Realizar un programa que nos permita calcular la factorial de un número
que será ingresado por el usuario y se mostrara su respuesta en pantalla.

PASO 1

num1 <- as.numeric(readline("Ingresar el numero para encontrar el factorial"))

PASO 2

if (num1<0){
 print("El numero es negativo")

PASO 3

if (num1<0){
} else if (num1 == 0){
 print(" el resultado factorial es 1")

PASO 4

}else {
 for (i in 1:num1){
 result=result*i
 }
 cat("el resultado del factorial", num1, "es", result)
}
result

PROGRAMA EJECUTADO

num1 <- as.numeric(8)
result=1
if (num1<0){
 print("El numero es negativo")
} else if (num1 == 0){
 print(" el resultado factorial es 1")
}else {
 for (i in 1:num1){
 result=result*i
 }
 cat("el resultado del factorial", num1, "es", result)
}
## el resultado del factorial 8 es 40320
result
## [1] 40320

19. Programa que pida un número e indique si el número es primo o no

  Realizar un programa que le solicite al usuario ingresar un número y verificar si
es primo o no mediante la división de dicho número entre todos los números desde el
uno hasta el número indicado.

PASO 1

a <- as.numeric(readline("Ingrese un numero: "))

PASO 2

cont <- 0

PASO 3

for (i in 1:a){
b <- a%%i #recoge el residuo de cada numero hasta a
if (b==0){
 cont <- cont+1 #si por ende el residuo entre la division del numero es 0 cuenta cuantos
son
}
}
if (cont==2){ #un numero primo su residuo da 0 solo por la division de el mismo y del 1,no de otro mas
 cat(a," es un numero primo")
}else{
 cat(a, "no es un numero primo")
}

PROGRMA EJECUTADO

a <- 7
cont <- 0
for (i in 1:a){
b <- a%%i #recoge el residuo de cada numero hasta a
if (b==0){
 cont <- cont+1 #si por ende el residuo entre la division del numero es 0 cuenta cuantos son
}
}
if (cont==2){ #un numero primo su residuo da 0 solo por la division de el mismo y del 1,no de otro mas
 cat(a," es un numero primo")
}else{
 cat(a, "no es un numero primo")
}
## 7  es un numero primo

20. Programa que pida un número e indique si el número es par o impar

Realizar un programa que pida al usuario ingresar un numero y verificar si dicho
numero es par o impar mediante el análisis de su residuo en su división entre dos.

PASO 1

a<- as.numeric(readline("Ingrese el primer numero: "))

PASO 2

if (a%%2==0){
 cat(a," es un numero par")
} else {
 cat(a," es un numero impar")
}

PROGRAMA EJECUTADO

a<- 27
if (a%%2==0){
 cat(a," es un numero par")
} else {
 cat(a," es un numero impar")
}
## 27  es un numero impar