Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INGENIEROS
Unidad 1 – Programación
en VBA
COMPETENCIA GENÉRICA:
PENSAMIENTO CRÍTICO - Nivel de
logro 1.
Capacidad para conceptualizar, aplicar,
analizar y/o evaluar activa y
hábilmente, información recogida de, o
generada por, la observación,
experiencia, reflexión o razonamiento,
orientado hacia el desarrollo de una
creencia o acción.
1. INTRODUCCIÓN
SO effective 2017-18 and 2018-19 Cycles New Language
Approved by the EAD October 20, 2017
Applicable beginning in the 2019-20 cycle
Criterion 3. Student Outcomes Criterion 3. Student Outcomes
The program must have documented student outcomes that The program must have documented student outcomes that support the program educational objectives.
prepare graduates to attain the program educational objectives. Attainment of these outcomes prepares graduates to enter the professional practice of engineering. Student
Student outcomes are outcomes (a) through (k) plus any outcomes are outcomes (1) through (7), plus any additional outcomes that may be articulated by the program.
additional outcomes that may be articulated by the program.
(a) Aplica los conocimientos en matemáticas, ciencias e 1. an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering,
ingeniería science, and mathematics.
(e) Identifica, formula y resuelve problemas de ingeniería 1. Identifica, formula y resuelve problemas complejos de ingeniería mediante la aplicación de los principios de
ingeniería, ciencias y matemáticas
(b) Diseña y conduce experimentos, analiza e interpreta datos 6. an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering
judgment to draw conclusions.
6. Desarrolla y conduce experimentos, analiza e interpreta datos, y usa criterios de ingeniería para sacar
conclusiones.
(c) Diseña sistemas productivos, componentes o procesos para 2. an ability to apply engineering design to produce solutions that meet specified needs with consideration of
satisfacer necesidades, considerando restricciones y limitaciones public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors.
tales como económico, medioambiente, social, política, ético, 2. Aplica diseños de ingeniería para producir soluciones que satisfagan necesidades específicas teniendo en
seguridad y salud, manufactura y sostenibilidad. cuenta la salud pública, la seguridad y el bienestar, así como los factores globales, culturales, sociales,
ambientales y económicos.
(d) Se integra en equipos multidisciplinarios 5. an ability to function effectively on a team whose members together provide leadership, create a collaborative
and inclusive environment, establish goals, plan tasks, and meet objectives.
5. Se integra de manera efectiva en un equipo cuyos miembros proveen liderazgo, crean un
entorno colaborativo e inclusivo, establecen objetivos, planifican tareas y cumplen objetivos.
(f) Desarrolla sus actividades con responsabilidad ética y 4. an ability to recognize ethical and professional responsibilities in engineering situations and make informed
profesional. judgments, which must consider the impact of engineering solutions in global, economic, environmental, and
societal contexts.
(h) Investiga el Impacto de soluciones de ingeniería dentro de un
4. Reconoce la responsabilidad ética y profesional en situaciones de ingeniería y hace juicios informados, que
contexto global, económico, ambiental y social
deben considerar el impacto de soluciones de ingeniería en contextos globales, económicos, ambientales y
(j) Conoce temas contemporáneos que le permitan mayor dominio
sociales.
en el campo profesional
(g) Se comunica de manera clara y efectiva utilizando el lenguaje 3. an ability to communicate effectively with a range of audiences.
1. INTRODUCCIÓN
Competencias a contribuir el curso de Software para
Ingeniería
b IGV
a NOMBRE
c
DIM nombre de variable as TIPO
1. INTRODUCCIÓN
Otros comandos (VBA)
esta es una anotación También se puede utilizar el apostrofe ‘
Obtener A= (1,1) DESDE ALGUNA CELDA EXCEL, también puede
indicar un rango y la hoja específica
información o
leer valores A = [A1]
A=
O mediante una ventana de diálogo
Mostrar,
regresar
(1,1) = A Mostrar en una CELDA EXCEL, también puede
información
[A1] = A indicar un rango y la hoja específica
➢ Función Ucase()
Convierte un texto a mayúsculas
ucase(“juan”) # devuelve el valor de JUAN
➢ Función Lcase()
Convierte un texto a mayúsculas
ucase(“JOSÉ”) # devuelve el valor de josé
1. INTRODUCCIÓN
Operadores matemáticos
Las operaciones matemáticas se realizan en orden de precedencia de los operadores
matemáticos (jerarquía algebraica):
➢ Potenciación
➢ Multiplicación y división
➢ División entera
➢ Suma y resta
1. INTRODUCCIÓN
Ejemplos
➢ Ejemplo 1
Elabore un programa que permita ingresar 2 números y calcule: la suma, el promedio, la resta, el producto, división, división
entera. Léalo desde las celdas y devuelva en celdas.
1. INTRODUCCIÓN
Ejemplos
➢ Ejemplo 2
Evalué la siguiente función en un punto X que le ingresen: f(x) = 4x^3 – 3x^(5/2) + x + 9
➢ MsgBox()
MsgBox ("El promedio es " & edad)
1. INTRODUCCIÓN
Ejemplos
➢ Ejemplo 3
Elabore una aplicación que ingrese el nombre de un alumno y la nota e indique si aprobó o no
2. ESTRUCTURAS SELECTIVAS
Y REPETITIVAS
2. ESTRUCTURAS SELECTIVAS Y REPETITIVAS
Sentencias Selectivas o condicionales
https://docs.microsoft.com/en-us/office/vba/api/overview/excel
’ Single-line syntax:
If condition Then [ statements ] [ Else [ elsestatements ] ] # If A > 10 Then A = A + 1 : B = B + A : C = C + B
2. ESTRUCTURAS SELECTIVAS Y REPETITIVAS
Ejemplos
➢ Ejemplo 4
Elabore una macro que ingrese la nota promedio de un alumno y muestre los siguientes mensajes: [0,13[ Malo, [13,16[
Regular, [16, 20] Bueno
2. ESTRUCTURAS SELECTIVAS Y REPETITIVAS
Ejemplos
➢ Ejemplo 4
2. ESTRUCTURAS SELECTIVAS Y REPETITIVAS
Sentencias Selectivas - condicionales múltiples
https://docs.microsoft.com/en-us/office/vba/api/overview/excel
➢ For – Next
Puede utilizar instrucciones For ... Next para repetir un bloque de declaraciones un número específico de veces. Para
bucles, utilice una variable de contador cuyo valor aumente o disminuya con cada repetición del bucle.
El siguiente procedimiento hace que la computadora Con la palabra clave Step, puede aumentar o disminuir la
emita 50 pitidos. La instrucción For especifica la variable de contador según el valor que especifique. En el
variable de contador y sus valores inicial y final. La siguiente ejemplo, la variable de contador j se incrementa
siguiente instrucción incrementa la variable de en 2 cada vez que se repite el ciclo. Cuando finaliza el ciclo,
contador en 1. el total es la suma de 2, 4, 6, 8 y 10.
Sub TwosTotal()
Sub Beeps()
For j = 2 To 10 Step 2
For x = 1 To 50
total = total + j
Beep
Next j
Next x
MsgBox "The total is " & total
End Sub
End Sub
2. ESTRUCTURAS SELECTIVAS Y REPETITIVAS
Ejemplos
Sub Macro6()
➢ Ejemplo 6 Dim Nota As Integer, R As String
Elabore una macro que ingrese la nota promedio de un ' Ingreso y validación de datos
alumno y muestre los siguientes mensajes: [0,13[ Malo, Do
Nota = Int(val(InputBox("Ingrese la nota del alumno [0,20]")))
[13,16[ Regular, [16, 20] Bueno, empleando condicionales
if nota<0 or nota>20 then msgbox(“Dato errado”)
múltiples y validando la nota entre 0 y 20 de lo contrario Loop Until Nota >= 0 And Nota <= 20
que lo solicite nuevamente [C3] = Nota
‘ Proceso
Select Case Nota
Case 0 To 12
R = "Malo"
Case 13 To 15
R = "Regular"
Case 16 To 20
R = "Bueno"
End Select
[C5] = R
End Sub
2. ESTRUCTURAS SELECTIVAS Y REPETITIVAS Sub Macro7()
Dim NE As Integer, C As Integer, Nom As String
Ejemplos Dim Sueldo As Single, S As Single, Prom As Single
' Lectura del numero de empleados
➢ Ejemplo 7 Do
Elabore una macro que solicite el ingrese de los NE = Val(InputBox("Ingrese el numero de empleados a procesar : "))
nombres y sueldos de N empleados y luego If NE <= 0 Then MsgBox "El valor debe ser >0", vbCritical
determine el sueldo promedio. Loop Until NE > 0
[C3] = NE
' Procesar datos de los NE empleados
C = 0: S = 0
Do
C = C + 1: Cells(5 + C, 1) = C
Do
Nom = InputBox("Nombre del empleado " & C)
If Nom = "" Then MsgBox "Debe ingresar un nombre!", vbCritical
Loop Until Nom <> ""
Cells(5 + C, 2) = Nom
Do
Sueldo = Val(InputBox("Ingrese el sueldo de " & Nom))
If Sueldo < 0 Then MsgBox "El sueldo de ser >0", vbCritical
Loop Until Sueldo > 0
Cells(5 + C, 3) = Sueldo
S = S + Sueldo
Loop Until C = NE
Prom = S / NE: [C15] = Prom
3. ALMACENAMIENTO DE
DATOS
3. ALMACENAMIENTO DE DATOS
Arreglo que permite almacenar datos en Arreglo que permite almacenar datos en mas
VECTOR una dimensión MATRIZ de una dimensión
DIM nombre del vector ( índice ) As TIPO DIM nombre de la matriz ( i, j ) As TIPO
23 40 12 45 36 02 36
j→
0 1 2 3 4 5 6
i 23 48 12 45
→
(0,0) (0,1) (0,2) (0,3)
57 64 22 26
DIM código( 1 to 7 ) As integer
(1,0) (1,1) (1,2) (1,3)
23 40 12 45 36 02 36 62 46 45 24
1 2 3 4 5 6 7 (2,0) (2,1) (2,2) (2,3)
3. ALMACENAMIENTO DE DATOS
Ejemplos
➢ Ejemplo 8
Cree un pseudocódigo que permita ingresar n números (sin restricción) y luego, los muestre en el orden inverso a cómo se
ingresaron inicialmente. También, escriba el código en VBA.
Inicio Vector
V(50000) Real, VV(50000) Real Vector V
Repetir VV
Ingresar n 20 -2
Si n <= 0 entonces Mostrar ”Ingrese número mayor a cero”
Hasta n > 0 -5 11
Para i = 1 hasta n
Ingresar V(i) 0 7
Siguiente i
Para i=n hasta 1 Paso -1
48 48
VV(n - i + 1) = V(i) 7 0
Mostrar VV (n - i + 1)
Siguiente i 11 -5
Fin
-2 20
3. ALMACENAMIENTO DE DATOS
Ejemplos
➢ Ejemplo 8
Cree un pseudocódigo que permita ingresar n números (sin restricción) y luego, los muestre en el orden inverso a cómo se
ingresaron inicialmente. También, escriba el código en VBA.
Dim V(1 To 5000), VV(1 To 5000) As Single
Dim i, N As Integer
Do
N = Val(InputBox("Ingrese el numero de elementos"))
[d3] = N
If N <= 0 Then MsgBox ("Ingrese número mayo a cero")
Loop Until N > 0
For i = 1 To N
V(i) = Val(InputBox("Ingrese el dato del elemento: " & i))
Como ejercicio adicional, Cells(5 + i, 2) = V(i)
Next i
codifique el botón Borrar For i = N To 1 Step -1
VV(N - i + 1) = V(i)
Cells(N - i + 1 + 5, 4) = VV(N + 1 - i)
Next i