Está en la página 1de 172

Lenguajes de

Programación
Paul Vanegas1,2,3
1. Faculty of Chemistry Sciences, University of Cuenca, Cuenca, Ecuador
2. Department of Space and Population, University of Cuenca, Cuenca, Ecuador
3. Department of Applied Chemistry, University of Cuenca, Cuenca, Ecuador

paul.vanegas@ucuenca.edu.ec

1
Google Classroom

2cz5hrc
Lenguajes de Programación

Todos en este país deberían aprender a


programar una computadora …

porque te enseña a Pensar.

https://www.youtube.com/watch?v=DcSyPhLbrbw - Steve Jobs 3


Lenguajes de Programación

https://www.youtube.com/watch?v=DcSyPhLbrbw 4
Sílabo
Lenguajes de programación
La asignatura de lenguajes de programación es de carácter teórica-práctica
que permitirá a los estudiantes conocer los principales Lenguajes de
Programación y crear conocimiento básico para diseñar algoritmos
mediante pseudocódigo, diagramas de flujo y los fundamentos para
programación en Python (Matlab).

5
Sílabo
Lenguajes de programación
Esta asignatura permitirá que el estudiante tenga una lógica de pensamiento en
paradigmas de programación y de esta manera permitiendo que se seleccione un
lenguaje más apropiado para resolver un problema específico. El uso de un lenguaje de
programación y el análisis datos no solo es complementario sino indispensable en el
desarrollo profesional de la carrera del ingeniero industrial la asignatura contribuye al
perfil de egreso en los siguientes ítems: 5) diseña e implementa modelos de gestión
orientados a la optimización de los procesos. 6) construye modelos de simulación
basado en diferentes metodologías de la ingeniería industrial. 9) interpreta la
información basada en modelos matemáticos, físicos, químicos y su interrelación. 14)
identifica los impactos que generaría la implementación de proyectos.

6
Sílabo
Objetivo General
Implementar conocimientos sobre la historia y diferencias de los
principales lenguajes de programación y desarrollar algoritmos básicos
para resolver modelos matemáticos, físicos o químicos relacionadas con los
sistemas de producción industrial.

7
Sílabo
Objetivos Específicos
• Conocer la historia, evaluación y clasificación de diferentes lenguajes de
programación.
• Obtener un pensamiento computacional, generar diagramas de flujo y
algoritmos en la resolución de problemas.
• Desarrollar destrezas en el manejo de bases de datos para la obtención
de información mediante la programación en Matlab y Python

8
Sílabo
Resultados
• Conoce los principales lenguajes de programación, la historia de creación,
clasificación y la funcionalidad de los mismos.

• Identifica problemas y emplea algoritmos para la resolución de problemas


establecidos.
• Escribe códigos para resolver diferentes problemas básicos y manejar series de
datos mediante el uso de Python y Excel.
• Aplica las funciones de excel y genera macros específicos para la resolución
automatizada de problemas básicos de ingeniería y manejo de serie de datos.
• Resuelve automáticamente los problemas básicos específicos y manejo de serie de
datos mediante la programación en Matlab y Python.
9
Sílabo
Unidades

• Introducción y Generalidades
• Algoritmos
• Excel y Visual Basic
• Matlab
• Programación en Python

10
Sílabo
Recursos
• Internet ☺
• Computador
• Software: Excel, Python –Spyder, Anaconda-, Matlab**

11
Sílabo
Bibliografía:
• Gottfried, byron s.. (1984). Programación basic. México: mcgraw hill.Computador
• Winston, wayne l.. (2011). Investigación de operaciones aplicaciones y algoritmos. 4.
México: cengage learning
• Rice, john k.. And rice, john r.. (1973). Ciencia de la computación: problemas,
algoritmos, lenguajes, información y computadoras. México: interamericana.
• www.python.org
• Https://entrenamiento-python-basico.Readthedocs.Io/es/latest/
• ….

12
Sílabo
Practicidades:
▪ 4 sesiones de 2 horas CB C104

▪ Comunicación:
▪ 2 estudiantes como interfaz ( CHRISTOPHER, SALOMÉ)
▪ Correo
▪ Wup
▪ E-virtual, Classroom - google

▪ Sílabo: https://sgs.ucuenca.edu.ec/buscador/

▪ Celulares, atrasos, fechas de entrega, cero tolerancia plagio,


computadoras USO, ?
13
Sílabo
Evaluación:
• Pruebas 20 (2x10) – (17.10/12.12)
• Exámenes 50 (20+ 30)
• Trabajos 10 (2x5) ( ?)
• Talleres 20 (10 x n)
* Temas y rúbricas de calificación serán entregados oportunamente 14
Sílabo
Profesor: Paúl F. Vanegas Peña
Áreas de Investigación:

▪ Ingeniería de Ciclo de vida, gestión de residuos sólidos, Investigación de


Operaciones, Economía Circular

▪ Publicaciones:
https://scholar.google.com/citations?hl=es&user=2EyIR4kAAAAJ

15
Sílabo
Expectativas
Qué espera de la clase ? Qué espera del Profesor ?

Que está dispuesto a ofrecer ? Cómo le gustaría que se lleve a cabo


la clase ?

16
Sílabo
Expectativas

17
Sílabo
Expectativas

18
Sílabo
Expectativas

19
Sílabo
Expectativas

20
Programación e Ingeniería??
Ejemplos: Otros ??

https://3.docs.brightway.dev/

https://www.theagilityeffect.com/es/
article/la-inteligencia-artificial-ia-
https://github.com/bkuczenski/lca-tools clave-para-la-fabrica-del-futuro/

https://ifu.ethz.ch/the-institute/people/personen-
detail.MTQ0NTc2.TGlzdC8zODYyLDEwMjk4MzY2NTk=.html

21
Conceptos básicos de
Lenguajes de
programación

Bienvenidos al mundo de la programación. Aprenderemos sobre


informática, algoritmos, lenguajes de programación, arquitectura
de una computadora y paradigmas de programación.

by PAUL F. VANEGAS PEÑA


Informática básica

Informática Computadora Programa


Es la ciencia que estudia el Es una máquina digital y Un programa es un conjunto de
análisis y resolución de sincrónica, con cierta instrucciones, ejecutables sobre
problemas utilizando capacidad de cálculo una computadora, que permite
computadoras. numérico y lógico, cumplir una función específica
controlada por un programa
almacenado y
con posibilidad de
comunicación con el mundo
exterior.
Informática básica

Hardware y Código Estructuras de datos


software
La computadora es una Es el lenguaje que utilizamos
y algoritmos
máquina que requiere de un para escribir programas. Las estructuras de datos son

conjunto de instrucciones Existen muchos lenguajes herramientas que utilizamos

(software) para funcionar. de programación, como para organizar y almacenar

Mientras que el hardware se Java, Python y C++. Pero información. Los algoritmos son

refiere a los componentes todos siguen reglas las instrucciones que le damos a

físicos. similares. la computadora para manipular


esa información.
Introducción
Arquitectura de la Computadora

25
Arquitectura de una computadora

La placa madre Discos duros Tarjetas gráficas


Es el elemento central de la Almacenamiento de Diseñadas para mejorar la
computadora, donde se información en una calidad de imagen en
conectan los demás computadora. actividades gráficas, como
componentes. Contiene el videojuegos y diseño
procesador, los puertos de gráfico.
entrada/salida y los circuitos
que controlan el flujo de
Introducción
Conceptos
En general, las computadoras realizan cuatro operaciones:

• Recibir entradas: Aceptan información desde el mundo exterior.


• Procesar información: Llevan a cabo operaciones aritméticas o lógicas con la
información, y
Recibir
• Almacenar información: Almacenan información en la memoria. entradas
• Producir salidas: dan información al mundo exterior

Producir Procesar
salidas información

Almacenar
información

27
Introducción
Conceptos
Dato: Es una representación simbólica (numérica, alfabética, algorítmica etc.), un
atributo o una característica de una entidad. El dato no tiene valor semántico (sentido)
en sí mismo, pero si recibe un tratamiento (procesamiento) apropiado, se puede utilizar
en la realización de cálculos o toma de decisiones.

Información: La información es un conjunto organizado de datos procesados, que


constituyen un mensaje que cambia el estado de conocimiento del sujeto o sistema que
recibe dicho mensaje.

28
Introducción
Conceptos
Sistema Informático:
Un sistema se puede definir como un conjunto de elementos relacionados entre sí, y que
ordenadamente contribuyen a un determinado fin.
La computadora por sí sola no puede hacer ningún trabajo (?), sólo es un elemento capaz
de realizar la tarea que se le demande; por consiguiente para que pueda realizar un trabajo
es necesario que el hombre le dé instrucciones.

Para el procesamiento de información se necesita de la acción conjunta de tres elementos:


• un elemento físico (conjunto de componentes electrónicas, eléctricas o mecánicas),
• un elemento no físico (conjunto de instrucciones y datos que describen el trabajo a
realizar) y
• Un elemento coordinador (el hombre).
29
Introducción
Conceptos
Software: Se conoce como software al equipamiento lógico o soporte lógico de un
sistema informático, que comprende el conjunto de los componentes lógicos
necesarios que hacen posible la realización de tareas específicas, en contraposición
a los componentes físicos que son llamados hardware.
Componentes Lógicos: Los componentes lógicos incluyen, entre muchos otros, las
aplicaciones informáticas; tales como el procesador de texto, que permite al usuario
realizar todas las tareas concernientes a la edición de textos; el llamado software de
sistema, tal como el sistema operativo, que básicamente permite al resto de los
programas funcionar adecuadamente, facilitando también la interacción entre los
componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz
con el usuario.
30
¿Qué es programar?
1 Operaciones lógicas 2 Resolución de problemas
Programar es el proceso de crear Los programas son como
programas que puedan realizar solucionadores de problemas.
operaciones lógicas. Estas Cuando programamos, estamos
operaciones pueden ser desde construyendo herramientas que nos
sumas matemáticas hasta juegos ayudan a realizar tareas de manera
complejos. más eficiente.
Lenguajes de
3 4 Comunidad de programadores
programación
Programar es un proceso
Cada lenguaje de programación
colaborativo. Existe una gran
tiene su propia sintaxis, semántica
comunidad de programadores en
y estructuras de datos. Es
línea dispuesta a ayudar y
importante elegir el lenguaje
compartir conocimientos.
correcto para cada tarea.
Introducción
Conceptos
Lenguaje de Programación: es un lenguaje formal que ha sido diseñado
para expresar tareas de cómputo. Es decir, para escribir programas.

32
Lenguajes de Programación
Python Java

Popular por su fácil aprendizaje y Java es un lenguaje mayormente


legibilidad, Python es un lenguaje de utilizado para aplicaciones empresariales.
programación versátil utilizado en campos
como Ciencia de datos y Desarrollo Web.

C++ JavaScript

Utilizado principalmente en el desarrollo JavaScript es un lenguaje interpretado


de sistemas operativos, aplicaciones principalmente utilizado en la creación de
gráficas y juegos. sitios web dinámicos.
Ejemplos de programación en diferentes
lenguajes

Python Java C++


#include <iostream>
print("¡Hola, mundo!") System.out.println("¡Hola,
int main()
mundo!");
{
std::cout << "¡Hola,
mundo!";
return 0;
}
Modelamiento y Abstracción

Modelamiento Abstracción

Modelar es el proceso de crear un modelo de La abstracción es la capacidad de ignorar los


una situación o problema. Los modelos son detalles innecesarios y centrarnos en las
herramientas visuales que nos ayudan a propiedades importantes. Por ejemplo, al
entender problemas complejos y a diseñar programar, debemos abstraer los detalles del
soluciones. hardware de nuestra computadora.
Introducción
Conceptos – Modelización de Problemas
Abstracción: El proceso de análisis del mundo real para interpretar los aspectos
esenciales de un problema y expresarlo en términos precisos.

-El mundo real es naturalmente complejo y en muchas ocasiones los problemas a


resolver resultan difíciles de sintetizar-

Ejemplo:
Un estudiante necesita ir de Cuenca a Loja, para ello dispone de $12. Si gasta todo
el dinero en el pasaje en bus, no tendrá para la alimentación. Si jala dedo podrá
almorzar y merendar pues ahorra el pasaje.
Formule el modelo para representar este problema.
36
Modelización de Problemas

Modelización: Abstraer un problema del mundo real


y simplificar su expresión, tratando de encontrar los
aspectos principales de se pueden resolver
(requerimientos), los datos que se han de procesar
y el contexto del problema.

Ejemplo: Se pide a un estudiante que piense en un


número del 1 al 10 y lo escriba en un papel. Otro
estudiante intenta adivinar el número, si lo adivina
se obtendrá un premio, si no adivina debe volver a
intentarlo.
Introducción
Conceptos – Modelización de Problemas
Precondición: Información que se conoce como verdadera antes de iniciar el
programa.
Ejemplo: número del 1 al 10

Postcondición: Información que debiera ser verdadera al concluir un programa, si se


cumple adecuadamente el requerimiento pedido.

Ejemplo: Si adivina el número obtendrá un premio, si no adivina deberá volver a


intentarlo.

38
Introducción
Conceptos – Modelización de Problemas
Especificación: El proceso de analizar los problemas del mundo real y determinar en
forma clara y concreta el objetivo que se desea.

• Especificar un problema significa establecer en forma unívoca el contexto, las


precondiciones y el resultado esperado, del cual se derivan las pos condiciones.

• La especificación es fundamental para convertir el problema real en un modelo


que permita la utilización de computadoras en su solución. Para esto la escritura
de un programa que represente una solución ejecutable constituye el eje
fundamental de la ciencia de la computación.

39
Introducción
Conceptos – Modelización de Problemas

Lenguaje de programación: El conjunto de instrucciones permitidas y definidas por sus


reglas sintácticas y su valor semántico, para la expresión de soluciones a problemas.

Un modelo puede ser representado mediante un conjunto de instrucciones.


Si este conjunto de instrucciones se definen por medio de una sintaxis específica y tiene
un valor semántico , entonces el modelo puede ser representado mediante la escritura
de un programa en un lenguaje de programación.

40
Introducción
Conceptos – Modelización de Problemas

41
Introducción
Conceptos – Etapas de la resolución de un
problema con computadora
• Análisis del problema
• Diseño de la solución
• Especificación de algoritmos
• Escritura del programa
• Verificación

42
Introducción
Conceptos – Modelización de Problemas
Contexto: El contexto del problema real es importante para analizar y diseñar la solución.
El contexto impone restricciones que son importantes para la elaboración de la solución.

Descomposición en Módulos: Permite abordar problemas de gran tamaño. Para esto


divide el problema en pequeños sub-problemas que pueden ser más fácilmente
manejados.

43
Introducción
Conceptos – Modelización de Problemas
Partes del programa
• Entrada: Dato , Variable
• Proceso: Algoritmo
• Salida: Información, ej. Pantalla

Entrada Salida
Datos Proceso Información

Retroalimentación
44
Introducción
Conceptos – Algoritmos
Algoritmo: Serie finita de pasos ordenados para resolver un problema (proviene del
matemático árabe Al’Khwarizmi- padre del álgebra).

Es la especificación rigurosa de la secuencia de pasos (instrucciones) a realizar sobre


un autómata para alcanzar un resultado deseado en un tiempo finito.

Es una secuencia finita de pasos que permiten resolver un problema

45
Qué son los
algoritmos Estructuras de datos
1
Los algoritmos solo pueden manipular
datos que estén organizados en una
Ordenamiento 2
estructura de datos. Comprendiendo
Los algoritmos nos permiten
las estructuras de datos adecuadas
organizar grandes cantidades de
podemos manejar información de
información de manera rápida y
forma más eficiente.
eficiente. Podemos ordenar texto,
números, imágenes y otros tipos de 3 Búsqueda
datos.
Los algoritmos nos permiten buscar
un elemento de datos específico en
una estructura de datos. Desde
encontrar un archivo en nuestra
computadora hasta buscar
información en una base de datos.
Introducción
Ejercicio – Algoritmos
Algoritmo para preparar un café

47
Introducción
Ejercicio – Algoritmos
Algoritmo para preparar un café

1. Lavar tasa
2. Sacar la cafetera
3. Agregar café al recipiente de la cafetera
4. Agregar agua a la cafetera
5. Encender la cafetera
6. Servir el café en la tasa

48
Introducción
Conceptos – Características de un Algoritmo
Entrada: definir lo que necesita el algoritmo
Salida: definir lo que produce
No ambiguo: explícito, siempre sabe qué comando ejecutar
Finito: El algoritmo termina en un número finito de pasos
Correcto: Hace lo que se supone que debe hacer. La solución es correcta
Efectividad: Cada instrucción se completa en tiempo finito
General: Debe ser lo suficientemente general como para contemplar todos los casos de
entrada

49
Introducción
Conceptos – Algoritmos

50
Introducción
Ejercicio – Algoritmos
Algoritmo para cambiar la llanta de un vehículo considerando que tiene solo 2
tuercas.

Entrada: Llanta de repuesto, gata, llave de tuercas


Salida: Llanta cambiada
Proceso:

51
Introducción
Ejercicio– Algoritmos
Inicio
1 Ubicar la gata debajo del carro
2 Accionar la gata
3 Tomar la llave de tuercas
4 Colocar la llave de tuerca sobre la tuerca 1
5 Girar hasta aflojarla y retirar
6 Colocar la llave de tuerca sobre la tuerca 2
7 Girar hasta aflojarla y retirar
8 Retirar la llanta pinchada
9 Tomar la llanta de repuesto y ubicarla en el lugar
10 Tomar la tuerca 1 y colocarla
11 Tomar la llave de tuercas y ajustarla
12 Tomar la tuerca 2 y colocarla
13 Tomar la llave de tuercas y ajustarla
14 Bajar y sacar la gata
15 Llanta cambiada
Fin

52
Introducción
Ejercicios – Algoritmos

a) Algoritmo para calcular la pendiente de una recta.

b) Algoritmo para resolver la fórmula de una ecuación de segundo grado.

53
Introducción
Conceptos – Algoritmos
Entrada: x1; y1; x2; y2
Salida: m

Proceso:
Inicio
1 Leer la coordenada x1
2 Leer la coordenada y1
3 Leer la coordenada x2
4 Leer la coordenada y2
5 Calcular y2 - y1
6 Calcular x2 - x1 (comprobar diferente 0)
7 Dividir el resultado de y/x
8 Mostrar el resultado de dividir y/x
Fin
54
Introducción
Conceptos – Variables
Variable: Es una estructura de datos que puede cambiar su valor según la situación
deseada.

Nombre de Variable:
• Se puede usar números y letras pero siempre comienza con una letra.
• Se puede utilizar mayúsculas y minúsculas, por convención se suele usar
minúsculas.
• En algunos lenguajes es válido el guión bajo.
• En la mayoría de lenguajes está totalmente prohibido el uso de tildes.

55
Introducción
Conceptos – Variables
Definición de la variable índice con un valor numérico de 5

56
Introducción
Conceptos – Variables

57
Introducción
Conceptos – Variables - Ejemplo
Entrada: x1; y1; x2; y2
Salida: m
Proceso:
Inicio
1 Leer la coordenada x1 Leer x1 = valor entero
2 Leer la coordenada y1 Leer y1 = valor entero
3 Leer la coordenada x2 Leer x2 = valor entero
4 Leer la coordenada y2 Leer y2 = valor entero
5 Calcular y2 - y1 r1 = y2 - y1
6 Calcular x2 - x1 r2 = x2 - x1
7 Dividir el resultado de y/x m = r1/r2
8 Mostrar el resultado de dividir y/x Mostrar m
Fin

58
Introducción
Conceptos – Variables

59
Introducción
Conceptos – Variables - Ejercicios

• Escribir un algoritmo para calcular el área y el perímetro de un triángulo

• Escribir un algoritmo para calcular el área de un círculo

60
Entradas:
lado1, lado2, lado3

Salidas: area, perimetro

// Ingresar las longitudes de los tres lados del triángulo


lado1 = ingresar valor de lado 1 >0
lado2 = ingresar valor de lado 2 > 0
lado3 = ingresar valor de lado 3 >0

// Calcular el semiperímetro
semiperimetro = (lado1 + lado2 + lado3) / 2

// Calcular el área utilizando la fórmula de Herón


area = sqrt(semiperimetro * (semiperimetro - lado1) * (semiperimetro - lado2) * (semiperimetro - lado3))

// Calcular el perímetro sumando las longitudes de los tres lados


perimetro = lado1 + lado2 + lado3

// Imprimir los resultados


imprimir "El área del triángulo es: " + area
imprimir "El perímetro del triángulo es: " + perimetro
Introducción
Conceptos – Diagrama de Flujo
Un algoritmo se puede representar mediante diagramas de flujo o pseudocódigo.

Diagrama de Flujo
Pseudocódigo

Inicio
Leer A
Leer B
Suma = A+B
Mostrar Suma
Fin

62
Introducción
Conceptos – Diagrama de Flujo

Es una descripción gráfica de un algoritmo para la resolución de un problema.

Los diagramas de flujo de datos están conformados por figuras conectadas por flechas.

Para ejecutar un proceso descrito por un diagrama de flujo de datos se comienza por el
INICIO y se siguen las flechas de figura a figura, ejecutándose las acciones indicadas por
cada figura. El tipo de figura indica el tipo de paso que representa.

63
Introducción
Conceptos – Diagrama de Flujo

https://lucid.app/documents#/dashboard?folder_id=home 64
Introducción
Conceptos – Diagrama de Flujo
Inicio
1 Leer la coordenada x1 Leer x1 = valor entero
2 Leer la coordenada y1 Leer y1 = valor entero
3 Leer la coordenada x2 Leer x2 = valor entero
4 Leer la coordenada y2 Leer y2 = valor entero
5 Calcular y2 - y1 r1 = y2 - y1
6 Calcular x2 - x1 r2 = x2 - x1
7 Dividir el resultado de y/x m = r1/r2
8 Mostrar el resultado de dividir y/x Mostrar m
Fin

https://lucid.app/documents#/dashboard?folder_id=home 65
Introducción
Conceptos – Pseudocódigo
El pseudocódigo (o falso lenguaje) es una descripción de alto nivel compacta e
informal de un algoritmo.

• Utiliza las convenciones estructurales de un lenguaje de programación real


• Diseñado para la lectura humana en lugar de la lectura mediante máquina
• Es una forma de representación sencilla de utilizar y de manipular.
• Facilita el paso del programa al lenguaje de programación
• Es independiente del lenguaje de programación que se vaya a utilizar
• Es un método que facilita la programación y solución al algoritmo del programa

66
Introducción
Conceptos – Pseudocódigo

67
Introducción
Conceptos – Pseudocódigo
Inicio
Leer x1 = valor entero
Leer y1 = valor entero
Leer x2 = valor entero
Leer y2 = valor entero
r1 = y2 - y1
r2 = x2 - x1
m = r1/r2
Mostrar m
Fin
68
Introducción
Conceptos – Ejercicios
Desarrollar el diagrama de flujo y pseudocódigo para los siguientes
problemas:

• Calcular de un triángulo el perímetro y el área, y mostrar el resultado.

• Se lee distintas cantidades de arroz, azúcar y fréjol. Calcular el valor total


si se conoce que la libra de arroz tiene un costo de $3, la libra de azúcar
$4 dólares y la libra de fréjol $8 dólares. El IVA es del 12 por ciento

69
Introducción
Conceptos – Prueba de Escritorio

La prueba de escritorio es una herramienta útil para entender qué hace un determinado
algoritmo y verificar si el algoritmo cumple con la especificación para lo cual fue pensado.

La prueba de escritorio se puede considerar una ejecución a mano del algoritmo, por lo
tanto debe llevar el registro de los valores que va tomando cada una de las variables
involucradas en el mismo.

La prueba de escritorio se puede realizar por medio de una matriz cuyas columnas
representan a todas las variables involucradas en el proceso.

70
Introducción
Conceptos – Prueba de Escritorio
Consejos para la prueba de escritorio

• Incluir todas las variable en la matriz de prueba


• Seguir el flujo del programa estrictamente
• Escoger diferentes datos de entrada para validar todas las opciones del algoritmo

71
Introducción
Conceptos – Prueba de Escritorio

72
Introducción
Conceptos – Taller algoritmos
1. Un profesor prepara tres cuestionarios para una evaluación final: A, B y C. Se sabe que se tarda 5 minutos en
revisar el cuestionario A, 8 en revisar el cuestionario B y 6 en el C. La cantidad de exámenes de cada tipo se entran
por teclado. ¿Cuántas horas y cuántos minutos se tardará en revisar todas las evaluaciones?

2. Dados dos números ¿cuál es mayor? y ¿cuál es menor?

3. Una empresa desea calcular los nuevos salarios de sus empleados de la siguiente forma: quienes ganan hasta
$500 tendrán un incremento del 10%, quienes devengan más de $ 500 y hasta 800 recibirán un aumento del 8% y
los demás del 5%. ¿Cuál será el valor del aumento? ¿Cuál será el valor del nuevo sueldo?

4. Una distribuidora de motocicletas tiene una promoción de fin de año que consiste en los siguiente. Las motos
marca HONDA tienen un descuento del 5%, las de marca Yamaha del 8% y las Suzuki el 10%, las de otras marcas el
2%

5. Encontrar el promedio, el mayor y el menor de varios números positivos.


73
Introducción
Conceptos – Estructura Secuencial
La estructura de control más simple está representada por una sucesión de operaciones en la que el orden
de ejecución coincide con el orden físico de aparición de las instrucciones.

76
Introducción
Conceptos – Estructura Decisión
En un algoritmo representativo de un problema real es prácticamente imposible que las instrucciones
sean secuenciales puras. Es necesario tomar decisiones en función de los datos del problema.

77
Introducción
Conceptos – Estructura Decisión

Las sentencias condicionales permiten variar el flujo de la ejecución de un programa. El


flujo dependerá del valor de una instrucción:

If (Simple: si la expresión es cierta toma un valor específico)

If ..... else (Doble: si la expresión es cierta/falsa o toma/no toma un valor específico)

If ...... elif ..... else (Múltiple: si la expresión toma un valor u otro, u otro o ninguno de los
considerados)

78
Introducción
Conceptos – Estructura Decisión

La evaluación de la condición implica obtener un valor único verdadero o falso como


resultado de la evaluación. Por ejemplo:

a = 5, if a > 10, el resultado de evaluar esta instrucción es falsa

a = 5, if a < 10, el resultado de evaluar esta instrucción es verdadero

79
Introducción
Conceptos – Estructura Decisión
¿Qué es una sentencia ?

Puede ser una única instrucción o un grupo de instrucciones, pero en este segundo
caso éstas deben formar un bloque, es decir, deben estar identadas respecto a la
línea anterior.

80
Introducción
Conceptos – Estructura Decisión

81
Introducción
Conceptos – Estructura Decisión
Una condición se puede crear utilizando los operadores de comparación.

• =, es igual que

• ! =, es distinto de

• <, es menor que

• <=, es menor o igual que

• >, es mayor que

• >=, es mayor o igual que


82
Introducción
Conceptos – Estructura Repetición
En la solución de algunos problemas es necesario ejecutar repetidas veces
una instrucción o un conjunto de instrucciones. En algunos casos, el número
de repeticiones se conoce con anterioridad, mientras que en otras depende
de cálculos o estados de variables que se dan dentro de la solución del
problema.

Para solucionar este tipo de problemas se utiliza un tipo de estructuras a las


que se conocen como estructuras de repetición, bucles o ciclos.

83
Introducción
Conceptos – Estructura Repetición
Ciclo Mientras (While):

Este ciclo consiste en un conjunto de instrucciones que se repiten mientras


se cumpla una condición. De igual manera que en los condicionales, la
condición es evaluada y retorna un valor lógico, que puede ser verdadero o
falso. En el caso del ciclo mientras las instrucciones contenidas en la
estructura de repetición se ejecutarán solamente si al evaluar la condición
se genera un valor verdadero; es decir, si la condición se cumple; en caso
contrario, se ejecutará la instrucción que aparece después de Fin Mientras
(While).

84
Estructura Repetición

Algoritmo(diagrama de flujo)
para encontrar el factorial de un
número: n!

85
Estructura Repetición
Algoritmo para encontrar el factorial de un número: n!

01 INICIO
02 Define las variables total, contador, numero
03 Despliega en la pantalla "Captura el número a determinar su factorial:"
04 Captura numero
05 Si numero igual a cero despliega "El factorial es igual a 1", ir a la línea final 14
06 Asigna 1 a total
07 Asigna a contador el valor de numero
08 Asigna a total el producto de total por contador
09 Asigna a contador la resta de contador menos 1
10 Si contador es igual a cero, ir la linea 12
11 Ir a linea 08
12 Despliega en la pantalla "El factorial del número: ", numero
13 Despliega en la pantalla "Es igual a:", total
14 TERMINO

86
Estructura Repetición
Algoritmo para encontrar el factorial de un número: n!

87
Estructura Repetición

Implementar un algoritmo que sume


todos los números pares entre 2 y n. El
valor de n se pedirá al principio

88
Introducción

*Identificar las estructuras vistas en clase.


Taller https://www.youtube.com/watch?v=0iA6IqojzP8 * En parejas
:
90
Introducción
Conceptos – Diagramas Nassi Schneiderman (N-S)

El diagrama N-S o también conocido como diagrama de Chapin es una técnica de especificación
de algoritmos que combina la descripción textual, propia del pseudocódigo, con la representación
gráfica del diagrama de flujo.

El diagrama N-S cuenta con un conjunto limitado de símbolos para representar los pasos del
algoritmo, por ello se apoya en expresiones del lenguaje natural; sin embargo, dado que el
lenguaje natural es muy extenso y se presta para la ambigüedad, solo se utiliza un conjunto de
palabras, a las que se denomina palabras reservadas.

91
Introducción
Conceptos – Diagramas Nassi Schneiderman (N-S)
Las palabras reservados más utilizadas son:

Inicio Fin Leer Escribir

Mientras Repita Hasta Para

Incrementar Decrementar Hacer Función

Entero Real Carácter Cadena

Lógico Retornar

92
Introducción
Conceptos – Diagramas Nassi Schneiderman (N-S)
Instrucciones

93
Introducción
Conceptos – Diagramas Nassi Schneiderman (N-S)
Decisión

94
Introducción
Conceptos – Diagramas Nassi Schneiderman (N-S)
Alternativa simple

95
Introducción
Conceptos – Diagramas Nassi Schneiderman (N-S)
Alternativa doble

96
Introducción
Conceptos – Diagramas Nassi Schneiderman (N-S)
Alternativa múltiple

97
Introducción
Conceptos – Diagramas Nassi Schneiderman (N-S)
Repetición

98
Introducción
Conceptos – Diagramas Nassi Schneiderman (N-S)
Alternativa anidada

99
Introducción
Conceptos – Diagramas Nassi Schneiderman (N-S)
Ejemplo

100
Introducción
Conceptos – Diagramas Nassi Schneiderman (N-S)
Taller: Realizar los diagramas N S, de los ejercicios propuestos en
clase.

Fecha de entrega: 24.10 Classroom 17h00

101
Trabajo de Investigación

Grupos de 2 -3 personas:
• Implementar el juego de Pacman en Scratch
• Elaborar un informe que contenga:
• Los retos encontrados
• Una explicación de las instrucciones más relevantes
• Reporte de las estructuras de programación implementadas
• Posibilidades de mejora del programa elaborado

Fecha de entrega: 07/11

102
Introducción
Alfabeto de la Computadora
Una computadora es un ordenador digital, es decir que puede reconocer solamente datos de tipo
discreto, o lo que es lo mismo, que adquieren estados perfectamente definidos. Cómo funcionan en
base al suministro eléctrico, son dos los estados básicos que reconoce NO hay tensión o HAY
tensión, y se representan con los símbolos 0 y 1. La computadora reconoce un sistema de
numeración denominado Sistema Binario de sólo 2 símbolos o dígitos distintos. A cada uno de estos
dígitos se lo denomina BIT (Binary digIT o Dígito de Información Binaria) y representa la mínima
unidad de información que puede manejar una computadora. Para lograr mayor practicidad, la
información que maneja la computadora está representada por cadenas de bits que son potencias de 2
particularmente la más usada es la cadena de 8 Bits que recibe el nombre de BYTE.

103
Introducción

104
Introducción
Conceptos – Variables

Tipo de dato: Es una restricción impuesta para la interpretación / manipulación/


representación de datos.

Al definir un tipo de dato se indica la clase de valores que pueden tomar sus
elementos e implícitamente las operaciones que se pueden realizar.

105
Introducción
Conceptos – Variables
Datos simples

Numéricos Lógicos Caracteres

Enteros

Reales

106
Introducción
Conceptos – Variables
Datos Numéricos: Conjunto de valores numéricos que pueden
representarse en dos formas: Enteros y Reales.

Enteros: …, -3; -2;-1; 0; 1; 2; 3; ...


Reales, representa números decimales: 5,4;-2; 3,7; -3,4353; …

107
Introducción
Conceptos – Variables
El tipo de dato lógico, también llamado booleano, en honor al
matemático británico George Boole, es un dato que puede tomar un
valor entre:

verdadero (true)
falso (false)

108
Introducción
Conceptos – Variables
El tipo de dato carácter, está establecido y normalizado por un estándar llamado ASCII
(American Standard Code for Information Interchange), el cual establece cuales son los
elementos y el orden de precedencia entre los mismos. Los elementos son las letras,
números y símbolos especiales disponibles en el teclado de la computadora y algunos
otros elementos gráficos. ASCII no es el único, pero es el más utilizado
internacionalmente.
Letras minúsculas: ’a’, ’b’, ’c’, ............,’y’, ’z’
Letras mayúsculas: ’A’, ’B’, .......’Y’, ’Z’
Dígitos: ’0’,’1’,..........’8’, ’9’
Caracteres especiales: ’ !’, ’@’, .........’ %’

109
EXCEL

110
EXCEL

111
EXCEL: Formulas

112
EXCEL: Formulas

113
EXCEL: FUNCIONES LOGICAS
CONDICIONALES
Puede utilizar las funciones Y y O para crear que den como resultado un valor lógico; es decir,
Verdadero o Falso. Tales fórmulas prueban si una serie de condiciones se evalúan como
VERDADERO o FALSO. Además, puede utilizar la fórmula condicional SI que comprueba si un cálculo
se evalúa como VERDADERO o FALSO. Entonces, puede indicar a SI que devuelva un valor (texto,
número o valor lógico) si el cálculo es VERDADERO u otro valor si es FALSO

SI:
El resultado de una fórmula condicional se determina mediante el estado de una
condición específica o la respuesta a una pregunta lógica. Una función SI configura una
instrucción condicional para probar datos. Dicha fórmula devuelve un valor si la condición
especificada es verdadera y otro valor si es falsa. La función SI requiere la siguiente
sintaxis: SI(Prueba lógica, Valor_si_verdadero, Valor_si_falso)

114
EXCEL: FUNCIONES LOGICAS
CONDICIONALES
Puede utilizar las funciones Y y O para crear que den como resultado un valor lógico; es decir,
Verdadero o Falso. Tales fórmulas prueban si una serie de condiciones se evalúan como
VERDADERO o FALSO. Además, puede utilizar la fórmula condicional SI que comprueba si un cálculo
se evalúa como VERDADERO o FALSO. Entonces, puede indicar a SI que devuelva un valor (texto,
número o valor lógico) si el cálculo es VERDADERO u otro valor si es FALSO
Y: La función Y devuelve VERDADERO si todos sus argumentos son verdaderos y
FALSO si uno o varios argumentos son falsos. La sintaxis es Y(ValorLógico1,
ValorLógico2, ...)

O: Mientras que todos los argumentos de una función Y deben ser Verdaderos para que la
función devuelva un valor VERDADERO, solo uno de los argumentos de la función O
debe ser Verdadero para que la función devuelva un valor VERDADERO. La sintaxis de
una fórmula O es similar a la de una fórmula Y. Con esta fórmula, los argumentos deben
evaluar en valores lógicos como VERDADERO o FALSO o las referencias que contienen
valores lógicos.
https://www.youtube.com/watch?v=VR2BNNKBhV0&feature=emb_logo 115
EXCEL: FUNCIONES LOGICAS
CONDICIONALES
SUMAR.SI

La función SUMAR.SI solo calcula el total de aquellas celdas que cumplen un determinado criterio
o condición. La sintaxis de la función SUMAR.SI es SUMAR.SI(Rango, Criterio, Rango_ suma).
Los valores que utiliza una función para realizar operaciones o cálculos en una fórmula se
denominan argumentos. Por lo tanto, los argumentos de la función SUMAR.SI son Rango,
Criterio y Rango_suma, que, cuando se utilizan juntos, crean una fórmula condicional en la que se
suman solo aquellas celdas que cumplen un criterio establecido

https://docs.google.com/spreadsheets/d/1HNlDRnLRLirR5cRq4gaZphNoOrEYCSS_mA6MTaWArt
w/edit?usp=sharing

116
EXCEL: FUNCIONES LOGICAS
CONDICIONALES
CONTAR.SI

La función CONTAR.SI cuenta la cantidad de celdas de un rango dado que cumplen una
condición específica. La sintaxis de la función CONTAR.SI es CONTAR.SI(Rango, Criterio). El
Rango es el rango de celdas que la fórmula contará, y los Criterio son las condiciones que deben
cumplirse para que se puedan contar las celdas. La condición puede ser una entrada de número,
expresión .

https://docs.google.com/spreadsheets/d/1HNlDRnLRLirR5cRq4gaZphNoOrEYCSS_mA6MTaWArt
w/edit?usp=sharing

117
EXCEL: FUNCIONES LOGICAS
CONDICIONALES
SUMAR.SI.CONJUNTO

La función SUMAR.SI.CONJUNTO suma celdas en un rango que cumplen varios criterios. Es


importante señalar que el orden de los argumentos de esta función no sigue el mismo orden que
en SUMAR.SI. En una fórmula SUMAR.SI, el argumento Rango_suma es el tercer argumento,
mientras que en SUMAR.SI.CONJUNTO es el primer argumento.

https://docs.google.com/spreadsheets/d/1HNlDRnLRLirR5cRq4gaZphNoOrEYCSS_mA6MTaWArt
w/edit?usp=sharing

118
EXCEL: FUNCIONES LOGICAS
CONDICIONALES
SUMAR.SI.CONJUNTO

La función SUMAR.SI.CONJUNTO suma celdas en un rango que cumplen varios criterios. Es


importante señalar que el orden de los argumentos de esta función no sigue el mismo orden que
en SUMAR.SI. En una fórmula SUMAR.SI, el argumento Rango_suma es el tercer argumento,
mientras que en SUMAR.SI.CONJUNTO es el primer argumento.

Sumar bono de: >20, hombres, casados, riesgo alto

https://docs.google.com/spreadsheets/d/1HNlDRnLRLirR5cRq4gaZphNoOrEYCSS_mA6MTaWArt
w/edit?usp=sharing

119
EXCEL: FUNCIONES LOGICAS
CONDICIONALES
CONTAR.SI.CONJUNTO

La fórmula CONTAR.SI.CONJUNTO cuenta la cantidad de celdas de un rango que cumplen


varios criterios. La sintaxis es CONTAR.SI.CONJUNTO(Rango_criterios1, Criterio1, Rango_
criterios2, Criterio2, ...). Puede crear hasta 127 rangos y criterios.

contamos <20 mujeres, solteras, riesgo bajo


Sumar bono de: >20, hombres, casados, riesgo alto
https://docs.google.com/spreadsheets/d/1HNlDRnLRLirR5cRq4gaZphNoOrEYCSS_mA6MTaWArt
w/edit?usp=sharing

120
EXCEL: FUNCIONES LOGICAS
CONDICIONALES
Índice

Devuelve el contenido de una celda, especificado por los índices de número de fila y de columna.

INDICE(referencia; [fila]; [columna])

https://docs.google.com/spreadsheets/d/1HNlDRnLRLirR5cRq4gaZphNoOrEYCSS_mA6MTaWArt
w/edit?usp=sharing

121
EXCEL: FUNCIONES LOGICAS
CONDICIONALES
Coincidir

Ofrece la posición relativa de un elemento en un intervalo que coincide con un valor especificado

COINCIDIR(valor_búsqueda; intervalo; tipo_búsqueda)

https://docs.google.com/spreadsheets/d/1HNlDRnLRLirR5cRq4gaZphNoOrEYCSS_mA6MTaWArt
w/edit?usp=sharing

122
EXCEL: FECHA
NSHORA

Convierte la hora, los minutos y los segundos en un valor de tiempo.

TIME(hora; minuto; segundos)


hora: Componente de hora del valor de tiempo.
minuto: Componente de minutos del valor de tiempo.
segundos: Componente de segundos del valor de tiempo.

123
EXCEL: FECHA
FECHA

Convierte un año, un mes y un día en una fecha.

FECHA(año; mes; día)


año: año de la fecha.
mes: mes de la fecha.
día: día de la fecha.

124
EXCEL: BUSCAR DATOS
Cuando las hojas de cálculo contienen listas de datos largas y, en ocasiones, engorrosas, se necesita
una forma de buscar rápidamente información específica dentro de dichas listas. Las funciones de
búsqueda son una forma eficaz de buscar e insertar un valor en una celda cuando el valor buscado
está almacenado en otro lugar de la hoja de cálculo o incluso en otro libro. BUSCARV y BUSCARH
son dos funciones de búsqueda que devuelve el contenido de la celda encontrada.

125
EXCEL: BUSCAR DATOS
Ejercicio:
https://docs.google.com/spreadsheets/d/1-V6ima6-vyB2W0x2q5BBleYC8JVzKH8FCOAnFq4LDlA/edit?usp=sharing

126
EXCEL: BUSCAR DATOS
BUSCARH: La “H” de BUSCARH significa horizontal. BUSCARH busca un valor en la fila superior de
una tabla o una matriz horizontalmente y luego devuelve un valor en la misma columna desde una fila
especificada en la tabla o matriz. Utilice BUSCARH cuando los valores de comparación se ubican en
una fila en la parte superior de una tabla de datos y quiere buscar en una fila especificada

127
EXCEL: CSV
Importar datos

Los archivos CSV (del inglés comma-separated values) son un tipo de documento en formato
abierto sencillo para representar datos en forma de tabla, en las que las columnas se separan por
comas (o punto y coma en donde la coma es el separador decimal como en Chile, Perú,
Argentina, España, Brasil, entre otros) y las filas por saltos de línea.
El formato CSV es muy sencillo y no indica un juego de caracteres concreto, ni cómo van situados
los bytes, ni el formato para el salto de línea. Estos puntos deben indicarse muchas veces al abrir
el archivo, por ejemplo, con una hoja de cálculo.

128
EXCEL: Solver
Problemas de optimización: Giapetto

129
EXCEL: Solver
Problemas de optimización: Giapetto

Soldados Trenes
Precio de venta $27 $21
Materiales $10 $9
Mano de obra $14 $10
Acabados 2h 1h
Carpintería 1h 1h
Se pueden vender por semana 40 ∞
Por semana: 100 horas para terminados, y 80 horas para carpintería
130
EXCEL: Solver
Problemas de optimización: Giapetto

Variables de decisión:

X1 = Número de soldados producidos cada semana

X2 = Número de trenes producidos cada semana

131
EXCEL: Solver
Problemas de optimización: Giapetto

Función Objetivo:

Maximizar ganancia:
Ingresos semanales = 27 x1 + 21 x2
Costos semanales materiales = 10 x1 + 9 x2
Otros costos variables = 14 x1 + 10 x2

entonces : max (3 x1 + 2 x2)

132
EXCEL: Solver
Problemas de optimización: Giapetto

Restricciones:
• No más de 100 h de terminados
2 x1 + x2 ≤ 100
• No más de 80 h de carpintería
x1 + x2 ≤ 80
• Máximo 40 soldados deben ser producidos
x1 ≤ 40

133
EXCEL: Solver
Problemas de optimización: Giapetto

Modelo LP:
max: z = 3x1 + 2x2 (1)

s.t.
2 x1 + x2 ≤ 100 (2)
x1 + x2 ≤ 80 (3)
x1 ≤ 40
(4)
x1 ≥ 0
(5)
x2 ≥ 0 (6)
134
EXCEL: Solver
Problemas de optimización: Giapetto

135
EXCEL: Solver
Problemas de optimización: Giapetto

136
EXCEL: Solver
Problemas de optimización: Giapetto

https://www.youtube.com/watch?v=pDJxCG76BaM

137
EXCEL: Solver

138
EXCEL: Solver

139
EXCEL: Solver
Problemas de optimización

“Dorian Autos” fabrica autos y camionetas de lujo. La compañía cree que sus más probables clientes
son mujeres y hombres de altos ingresos. Para llegar a estos grupos, Dorian Autos se ha embarcado
en una ambiciosa campaña de publicidad televisiva y ha decidido comprar lugares comerciales de 1
minuto en dos tipos de programas: espectáculos de comedia y juegos de fútbol.
Cada comercial de comedia es visto por 7 millones de mujeres de altos ingresos y 2 millones de
hombres de ingresos altos. Cada anuncio de fútbol es visto por 2 millones de mujeres de altos
ingresos y 12 millones de hombres de altos ingresos. Un anuncio de comedia de 1 minuto cuesta $
50,000 y un anuncio de futbol de 1 minuto cuesta $ 100,000. A Dorian le gustaría que los comerciales
sean vistos por al menos 28 millones de mujeres de altos ingresos y 24 millones de hombres de altos
ingresos. Plantee el modelo para determinar cómo Dorian Autos puede cumplir con sus requisitos de
publicidad a un costo mínimo.

140
EXCEL: Solver
Problemas de optimización

Variables de decisión
Número de anuncios de comedia: x
Número de anuncios de fútbol: y

Función Objetivo:
Min z= 50.000x + 100.000y

Restricciones:
7x + 2y >= 28 Número de mujeres de altos ingresos que deben ver los comerciales
2x + 12y >= 24 Número de hombres de altos ingresos que deben ver los comerciales
x, y >= 0

141
Una empresa va a lanzar al mercado un nuevo producto. Los planes de promoción para el próximo mes están
en marcha. Los medios alternativos para realizar la publicidad así como los costos y la audiencia estimada por
unidad de publicidad se muestran en la tabla inferior. Para lograr un uso balanceado de los medios, la
publicidad en radio debe ser igual al 50% de unidades de publicidad autorizadas. Además la cantidad de
unidades solicitadas en televisión debe ser al menos 10% del total autorizado. El presupuesto total para
promociones se ha limitado a $ 18.500 Se necesita determinar el plan óptimo para maximizar la audiencia total
o cantidad de personas que vean la publicidad.

Televisión Radio Prensa

Audiencia por unidad de publicidad 100 000 18 000 40 000

Costo por unidad de publicidad $2000 $300 $600


Se dispone de 120 refrescos de cola con cafeína y de 180 refrescos de cola sin
cafeína. Los refrescos se venden en paquetes de dos tipos. Los paquetes de tipo A
contienen tres refrescos con cafeína y tres sin cafeína, y los de tipo B contienen dos
con cafeína y cuatro sin cafeína. El vendedor gana 6 euros por cada paquete que
venda de tipo A y 5 euros por cada uno que vende de tipo B. Calcular de forma
razonada cuántos paquetes de cada tipo debe vender para maximizar los beneficios y
calcular éste.
Se pretende cultivar en un terreno dos tipos de olivos: A y B. No se puede cultivar más de 8 has. con
olivos de tipo A, ni más de 10 has. con olivos del tipo B. Cada hectárea de olivos de tipo A necesita 4 m3
de agua anuales y cada una de tipo B, 3 m3. Se dispone anualmente de 44 m3 de agua. Cada hectárea
de tipo A requiere una inversión de 500 € y cada una de tipo B, 225 €. Se dispone de 4500 € para realizar
dicha inversión. Si cada hectárea de olivar de tipo A y B producen, respectivamente, 500 y 300 litros
anuales de aceite:

a) Obtener razonadamente las hectáreas de cada tipo de olivo que se deben plantar para maximizar la
producción de aceite.
b) Obtener la producción máxima
EXCEL: MACROS (VBA)

153
Visual Basic for Applications (VBA)
• Visual Basic para Aplicaciones (VBA) es un lenguaje de programación
común para todas las aplicaciones del paquete Microsoft Office.
• Excel cuenta con más de 330 funciones estándar, sin embargo suele
suceder que a veces la función que se necesita no existe. Para generar
funciones que hagan exactamente lo que uno requiere, se pueden utilizar
macroinstrucciones, llamadas Macro o “Rutina”.
• Una macro o 'rutina' es un conjunto de instrucciones en lenguaje de
programación, que en el caso de Excel se conoce como VBA (Visual
Basic for Applications).
• Estas instrucciones nos permiten ejecutar ciertas tareas que no se
pueden realizar con las herramientas de la hoja. También nos permiten
automatizar tareas que sí podemos hacerlas manualmente, pero por ser
repetitivas nos valemos de un código o macro.
EXCEL: MACROS (VBA)
• Cada libro abierto en Excel tiene asociado un PROYECTO que contiene
todos los módulos de código VBA agrupados en categorías.
• Los MÓDULOS contienen las macros grabadas y sus propios
procedimientos y funciones escritas en VBA. Los módulos se pueden
exportar como archivos independientes para luego ser importados en
otros libros.
• Los procedimientos son subprogramas escritos en VBA. Cada macro
grabada genera un procedimiento con el mismo nombre de la macro. De
la misma manera, puede crear procedimientos usando la instrucción
Sub. Son los disparadores de una macro
• Las funciones son procedimientos que devuelven un valor. Para crear una
función, se debe utilizar la instrucción Function.
EXCEL: MACROS (VBA)
• Hay dos maneras de crear un procedimiento VBA:
1. Generar automáticamente el código a partir de la grabación de
macros.
2. Escribir directamente el código del procedimiento en el Editor de
Visual Basic.
• La primera es más sencilla, pero mucho más limitada que la segunda.
Los procedimientos generados automáticamente solo permiten
automatizar acciones repetitivas realizadas con Excel.
• Para las operaciones específicas, como algoritmos de cálculo o cualquier
otra operación que haga el uso de estructuras repetitivas o condicionales,
debe crear sus propios procedimientos en el editor de VBA.
EXCEL: MACROS (VBA)
• En Excel tenemos dos opciones, para acceder a él tenemos dos opciones; en la
cinta de Programador – Visual Basic, o mediante el teclado Alt + F11. Se debe
activar la ficha de programador en las Opciones de Excel.
EXCEL: MACROS (VBA)
Los botones correspondiente
a los complementos permiten:
• Descargar complementos
de Office
• Seleccionar macros
grabadas como
complementos.
• Seleccionar complementos
COM (librerías de
funciones complementarias)
EXCEL: MACROS (VBA)
El editor contiene 3 ventanas
principales:

La Ventana Proyecto (parte


izquierda superior),

La Ventana de Código (parte


derecha) y,

La Ventana Propiedades (parte


izquierda inferior).

https://www.youtube.com/watch?v=PvebpkrMG4o
EXCEL: MACROS (VBA)
Taller

Identificar 3 atributos y 3 métodos en la macro grabada

métodos: delete , autofiil,

atributos: themecoloraccentfor=2, tinansshade=0, pattern=xlsolid


Visual Basic for Applications (VBA)
• Los procedimientos son subprogramas que permiten descomponer una
tarea de programación compleja en un conjunto de tareas más breves y
simples. Permiten organizar el código dentro de módulos para obtener un
código de mantenimiento más simple y fácilmente reutilizable.

• En VBA Excel, se distinguen dos tipos principales de procedimientos:


Sub, Function.
• El alcance de un procedimiento determina la extensión de su uso,
principalmente se utilizan dos Private y Public:
○ Public - se puede llamar desde todos los módulos de todos los proyectos de Excel.
Private - solamente se puede llamar desde un procedimiento dentro del mismo módulo.
○ Si no se indica Public o Private o Friend, los procedimientos son públicos por defecto
EXCEL: MACROS (VBA)
• Una variable es un espacio en la memoria del ordenador que se usa para
guardar datos, es una especie de contenedor donde guardaremos datos
temporalmente para poder acceder a ellos. Dependiendo del tipo de
datos, la variable será de un tipo u otro.
EXCEL: MACROS (VBA)
• Para crear una variable primero hay que Dimensionarla, es decir darle la forma
que va a tener. Esto se hace mediante la instrucción Dim;
• Dim Nombre_Variable As Tipo_Variable

Las variables que se declaren a nivel de módulo (en


la sección de declaraciones) podrán ser utilizadas
por todos los procedimientos y funciones de este
módulo. Estas variables (a nivel de módulo) se
pueden declarar como públicas o privadas
(utilizando las palabras clave Public o Private en vez
de Dim). Una variable pública podrá ser también
utilizada en otros módulos o formularios, una
variable privada sólo podrá ser utilizada en el
módulo donde ha sido declarada.
Operadores básicos

Devuelve el valor del restante


que en este caso es Dos
Macros: VBA

https://www.youtube.com/watch?v=eX2WeA_8KnU

1: Function (15)

2: Sub, Objetos (30)


Interactuar con Excel
Formatos, copiar info,
Estructura Selectiva (de decisión)
Estructura Selectiva
• Las estructuras de decisión, llamadas también alternativas o
condicionales, permiten tras una evaluación, optar por uno u otro bloque
de código.
• Utilizar el sangrado (Indentación) ayuda a entender mejor el código ver
inicio y final de una instrucción determinada (mover derecha)
• El comando utilizado casi en todos los lenguajes de programación para
referir a una pregunta lógica en el comando “if” y/o “==“. La primera se
refiere a la pregunta SI mientras que el segundo es una pregunta de
igualdad (K==7, K esta igual a 7?).
• En Visual Basic for Applications (VBA) la sintaxis de las instrucciones if
son: If …Then … ElseIf …. Else. Muy frecuentemente esta serie de
instrucciones están acompañado de; Or – O y And – Y (menos Frecuente
con Not – NO).
Estructura Selectiva

• La instrucción If…Then permite escoger entre 2 o más posibilidades. Esta


instrucción ejecuta condicionalmente un grupo de instrucciones, dependiendo del
valor (verdadero/falso) resultante de una expresión.

• Su sintaxis es: If expresión Then instrucciones1 [Else instrucciones2].


Expresión: Expresión qué se evalúa. Su resultado puede ser verdadero o falso.
Instucciones1: Instrucciones que se ejecutan si el resultado de expresión es verdadero.
Instrucciones2: Instrucciones que se ejecutan si expresión resulta ser falsa. (Else es
opcional).
Estructura Selectiva

Algoritmo que lee un número ( )) y


Numero = InputBox ("Ingrese el numero", "Valor a Analizar"

verifique si es mayor a 10, menor a 10 o igual a 10.


Estructura Selectiva
Private Sub BBB()

Dim Numero2 As Variant

Numero2 = InputBox("Ingrese el numero", "Valor a Analizar")

If Numero2 > 10 Then

MsgBox ("El valor ingresado es mayor que 10 y es igual a " & Numero2)

ElseIf Numero2 < 10 Then


MsgBox ("El valor ingresado es menor que 10 y es igual a" & Numero2)

Else
MsgBox ("El valor ingresado es igual a 10")

End If

End Sub
Estructura Repetitiva (Bucles)
Bucle For
• El bucle For…Next nos permite ejecutar una serie de instrucciones un
número determinado de veces. Su sintaxis es:
Estructura Repetitiva (Bucles)

Algoritmo que con un bucle sume los


números del 1 al 100.

También podría gustarte