miércoles, 16 de mayo de 2018

otros ejemplos de subrutinas

Les subo otros ejemplos de subrutinas para que los analicen y prueben en sus computadoras, las 2 últimas son más compleja para que vean algo un poco más avanzado, pero la opción no se incluirá en el examen.

Estos ejemplos declaran o dimensionan las variables dentro de la subrutina, hasta ahora lo han hecho antes, pueden hacerlo de las dos formas, la ventaja de hacerlo dentro de la subrutina es que pueden poner varias en una misma hoja, si las declaran antes, deben ponerlas en hojas separadas para que funcionen.

También recuerden que se les va a pedir que asocien cada macro a una figuta.


Sub compradolares()
  Dim cantidad As Integer, tipo As Double, pesos As Double
  cantidad = InputBox("cuantos dolares quieres comprar")
  tipo = InputBox("a cuanto esta el dolar hoy")
  pesos = cantidad * tipo
  MsgBox ("debes pagar en pesos ") & pesos
End Sub

Sub tienda()
  Dim cantidad As Integer, precio As Double, pago As Double, coniva As Double
  cantidad = InputBox("cuantos articulos vas a comprar")
  precio = InputBox("cual es el precio marcado en la etiqueta")
  pago = cantidad * precio
  MsgBox ("el precio sin IVA es ") & pago
  coniva = pago * 1.16
  MsgBox ("el total a pagar con IVA es ") & coniva
End Sub


Sub celciusafarenheit()
  Dim nombre As String
nombre = InputBox("Cual es tu nombre")
MsgBox ("Hola ") & nombre
  Dim farenheit As Double
  Dim resultado As Double
  farenheit = InputBox("¿cuantos grados celsius quieres convertir?")
  resultado = 32 + (farenheit * 1.8)
  MsgBox "El resultado en Fahrenheit es " & resultado


Sub promediogeneracion()
Dim nombre As String
Dim promedio As Double
Dim grupo4010 As Double
Dim grupo4020 As Double
Dim grupo4030 As Double
Dim grupo4040 As Double
nombre = InputBox("¿Cual es tu nombre?")
MsgBox ("Hola ") & nombre & " para saber el pomedio de la generación en matemáticas pulsa OK"
grupo4010 = InputBox("¿cual es el promedio del grupo 4010?")
grupo4020 = InputBox("¿cual es el promedio del grupo 4020?")
grupo4030 = InputBox("¿cual es el promedio del grupo 4030?")
grupo4040 = InputBox("¿cual es el promedio del grupo 4040?")
promedio = (grupo4010 + grupo4020 + grupo4030 + grupo4040) / 4
MsgBox ("El promedio de la generación en Matemáticas es ") & promedio

End Sub


Sub tipografica()
Dim nombre As String
Dim independiente As Integer
nombre = InputBox("¿Cual es tu nombre?")
MsgBox ("Hola ") & nombre & " las opciones a elegir son 1. cuantitativa 2. cualitativa pulsa OK para elegir"
independiente = InputBox("Elige el numero que corresponde a la naturaleza de tu variable independiente")
If independiente = 1 Then
MsgBox ("Debe ser grafica de dispersión con linea de tendencia ecuación y R2")
Else
If independiente = 2 Then
MsgBox ("Debe ser grafica de columnas con barras de error representando desv. est.")
End If
End If

End Sub

Sub conversion()
     Dim grados As Integer, fahrenheit As Integer, kelvin As Integer, celsius As Integer, rankin As Integer
     MsgBox "Las opciones a elegir son:         1. De Fahrenheit a Kelvin.  2. De Fahrenheit a Celcius.  3. De Fahrenheit a Rankine"
     grados = InputBox("¿Que opcion Quieres?")
    If grados = 1 Then
     fahrenheit = InputBox("¿Cuantos grados Fahrenheit quieres convertir?")
     kelvin = ((fahrenheit - 32) / 1.8) + 273.15
  MsgBox "El resultado en grados Kelvin es " & kelvin
    Else
    If grados = 2 Then
      fahrenheit = InputBox("¿Cuantos grados Fahrenheit quieres convertir?")
      celsius = (fahrenheit - 32) / 1.8
      MsgBox "El resultado en grados Celcius es " & celsius
    Else
    If grados = 3 Then
      fahrenheit = InputBox("¿Cuantos grados Fahrenheit quieres convertir?")
      rankin = (fahrenheit - 32) + 491.67
      MsgBox "El resultado en grados Rankin es " & rankin
   
    End If
    End If
    End If
   
End Sub

jueves, 3 de mayo de 2018

Visual Basic

Hola chicos

Les pongo una sub rutina, primero revisen como esta desarrollada, luego cópienla en el editor de visual basic de una hoja de Excel. Agreguen una figura en la hoja de Excel y asignenle la Macro para que al pulsar sobre ella se corra la sub rutina.

Dim nombre As String
Dim base As Double
Dim altura As Double, Area As Double

Sub trianguloarea()
nombre = InputBox("¿Cual es tu nombre?")
MsgBox ("Hola ") & nombre & " Si quieres el area del triangulo pulsa aceptar"
base = InputBox("Anota la base del triangulo")
altura = InputBox("Ahora la altura")
Area = (base * altura) / 2
MsgBox ("el area del triangulo es ") & Area & " cm"

End Sub


Tengan en cuenta que:
  • Para declarar las variables pueden usar Private o Dim.
  • Pueden manejar 3 tipos de variables, Integer cuando la variable es un número entero, Double cuando es un número con decimales y String cuando la variable es texto como en el caso del nombre en la sub rutina que copiaron.
  • Estan manejando dos tipos de "cajas" InputBox es para ingresar el dato de una variable y MsgBox es para que se vea un comentario o un dato (salida).
  • Cuando ingresan un texto en el MsgBox, este debe ir entrecomillado y cuando alternan diferentes mensajes en un mismo MsgBox deben poner & entre ellos.
Ahora inventen al menos 3 sub rutinas para calcular IMC, o área de un cuadrado o transformar dolares a Pesos mexicanos o grados Celsius a grados Fahrenheit (o viceversa)