PROGRAMACIÓN DE COMPUTADORAS
EN INGENIERÍA
DR. ANGEL ULISES OROZCO VALENCIA
DEPARTAMENTO DE INVESTIGACIÓN EN POLÍMEROS Y MATERIALES
UNISON
GRUPO 01 (ING. QUÍMICA)
HORARIO 14:00-15:00
CONTENIDO DEL CURSO
1. INTRODUCCIÓN
*Programa y programación
*Lenguajes y paradigmas de programación
*Etapas en la programación
2. PROGRAMAS ELEMENTALES
*Elementos básicos de un programa
*Tipos de datos e instrucciones
*Algoritmo elemental
*Características de un algoritmo
*Pseudocódigo
*Flujo de control y codificación de un programa
*Elaboración de programas elementales
3. PROGRAMAS CON ESTRUCTURA SELECTIVA
*Datos lógicos
*Instrucciones selectivas
*Operadores relacionales y operaciones lógicas
*Programas de estructura selectiva simple y doble
*Operadores lógicos
*Programas con estructura selectiva anidada
*Programas con bloques de estructura selectiva no anidada
*Programas con estructura de alternativa múltiple
4. PROGRAMAS CON ESTRUCTURA ITERATIVA
*Instrucciones iterativas
*Programación de sumatorias
*Programación de series de potencias y funciones especiales
*Programas que involucran más de un proceso iterativo
6. ARREGLOS UNIDIMENSIONALES
*Variables subindicadas y lista de datos
*Programas que involucran lista de datos
*Programación de problemas que incluyen desde uno y más procesos iterativos
7. ARREGLOS MULTIDIMENSIONALES
*Procesos iterativos anidados
*Arreglos bidimensionales y programación de matrices
8. ELABORACIÓN DE SUBPROGRAMAS (FUNCIONES)
*Creación de Funciones
*Programas que llaman funciones
OBJETIVO GENERAL DEL CURSO:
* Proporcionar el conocimiento básico sobre la elaboración de
algoritmos computacionales y su aplicación a problemas
elementales con especial interés en la ingeniería.
OBJETIVOS PARTICULARES DEL CURSO:
*Utilizar la lógica de programación en la construcción de
programas.
*Conocer y aplicar las principales instrucciones (sentencias) y
reglas de sintaxis en la estructura de control de un programa.
*Desarrollar la programación estructurada para, posteriormente,
desarrollar la programación orientada a objetos.
VENTAJAS EN EL APRENDIZAJE DE LA PROGRAMACIÓN
* Mayor facilidad en el planteamiento de un problema, manejo y
descripción de datos.
* Versatilidad los diversos lenguajes de programación y su
funcionamiento.
* Mayor facilidad de aprendizaje en las materias con formación de
ingeniería (por ejemplo en los problemas físicos-matemáticos).
CRITERIOS DE EVALUACIÓN EN EL CURSO
* EXÁMENES (50%-70%)
(4 exámenes parciales)
* TAREAS A ENTREGAR EN EQUIPO (50%-30%)
(Se apreciará la originalidad)
* PARTICIPACIONES (5%-10%)
(Se tomará en cuenta para cada evaluación parcial)
PROGRAMAS A UTILIZAR
* GNU Octave
(Software libre) (Software comercial)
* Python 3.9
(Software libre)
1. INTRODUCCIÓN
PROGRAMA (Software)
Es el conjunto de instrucciones que indican a una computadora
las acciones a realizar. Las instrucciones controlan y coordinan
el hardware de una computadora.
1. INTRODUCCIÓN
Software de sistema
(Administran los recursos de la computadora.
Ejemplos: SO y Traductores de programas)
SOFTWARE
(PROGRAMAS)
Software de aplicación
(Realizan tareas específicas. Ejemplos: Matlab,
Word, lenguajes de programación como C++,
Java, Python, etc.)
1. INTRODUCCIÓN
La resolución de un problema con una
computadora se realiza escribiendo un programa
PROGRAMA “Conjunto de instrucciones”
PROGRAMACIÓN “Elaborar programas”
1. INTRODUCCIÓN
LENGUAJES DE PROGRAMACIÓN
Es el medio informático para la comunicación entre usuario-máquina.
Esto se realiza a través de la escritura de una serie de instrucciones
(ordenes con diversas palabras en lenguaje humano), donde estas deben
cumplir ciertas reglas de sintaxis y semántica para su posterior traducción
a un lenguaje máquina.
1. INTRODUCCIÓN
PROGRAMACIÓN
Escritura de un Programa. Traducción del Programa.
(Ordenes a la computadora) en Traducción a un lenguaje
un lenguaje de programación. máquina (0 1).
Código Fuente.
1. INTRODUCCIÓN
PARADIGMAS (ENFOQUES) DE PROGRAMACIÓN
Programación estructurada (Procedimental)
Construcción de un programa a través de
módulos (bloques) en forma descendente.
PARADIGMAS DE
PROGRAMACIÓN
Programación orientada a objetos (POO)
Construcción de un programa a través de
objetos (subprogramas definidos).
ENTRADA ENTRADA
(DATOS) (DATOS)
modulo 1 Objeto 1
módulo 2 Objeto 2 Objeto 3
módulo 3
Objeto 4
SALIDA
(DATOS) SALIDA
(DATOS)
1. INTRODUCCIÓN
ETAPAS EN LA PROGRAMACIÓN
1. ANÁLISIS DEL PROBLEMA
1. INTRODUCCIÓN
ETAPAS EN LA PROGRAMACIÓN
2. DESARROLLO DEL ALGORITMO
¿QUE ES UN ALGORITMO?
1. INTRODUCCIÓN
¿QUE ES UN ALGORITMO?
Serie de pasos a seguir a fin de resolver un problema.
ANTECEDENTE HISTÓRICO
La palabra algoritmo se deriva de la traducción al latín de la palabra Al-khowarizm,
nombre de un matemático persa que realizó escritos sobre tratados de aritmética y
algebra, contribuyó a la introducción del sistema de numeración hindú al mundo
árabe y, posteriormente, al occidente.
1. INTRODUCCIÓN
PROPIEDADES DE UN ALGORITMO
*Etapas ordenadas
*Definido y legible
*Finito (principio y fin)
TIPOS DE ALGORITMOS EN LA PROGRAMACIÓN
* Diagramas de flujo
* Pseudocódigo
1. INTRODUCCIÓN
SIMBOLOS DE UN DIAGRAMA DE FLUJO
ENTRADA/SALIDA
INICIO/FIN PROCESO
DE DATOS
Línea de flujo
OPCIÓN
SI
DECISIÓN
Conector
NO Conector
(otra página)
Algoritmo que INICIO
suma dos números
LEER DOS
Entrada de datos
NÚMEROS
SUMAR LOS
NÚMEROS
Proceso de datos
IMPRIMIR EL
Salida de datos
RESULTADO
FIN
INICIO
PSEUDOCÓDIGO:
LEER A y B
Start Inicio
Read: A y B Leer: A y B
S=A+B S=A+B S=A+B
Print: S Imprimir: S
End Fin
IMPRIMIR S
FIN
INICIO
PSEUDOCÓDIGO:
A,B
Start Inicio
Read: A y B Leer: A y B
S=A+B S=A+B S=A+B
Print: S Imprimir: S
End Fin
S
FIN
1. INTRODUCCIÓN
ETAPAS EN LA PROGRAMACIÓN
3. CODIFICACIÓN
ALGORITMO LENGUAJE DE PROGRAMACIÓN
(CÓDIGO FUENTE)
Código fuente: es el algoritmo escrito en un lenguaje de programación
1. INTRODUCCIÓN
EDITORES PARA LA ESCRITURA DE UN CODIGO FUENTE
*Editores de texto planos (de acuerdo al SO)
Bloc de notas VI TextEdit
(Windows) (Linux o Unix) (Mac OS X)
1. INTRODUCCIÓN
EDITORES PARA LA ESCRITURA DE UN CODIGO FUENTE
*Editores de texto especializados en código fuente
Notepad++ PSPad VIM
1. INTRODUCCIÓN
EDITORES PARA LA ESCRITURA DE UN CODIGO FUENTE
*Ambientes de Desarrollo Integrado (IDE)
(Integral Development Enviromental)
Son programas que facilitan la creación de programas (que realizan tareas), ya que
permiten escribir el código fuente (incluyen herramientas de apoyo), compilarlo y
ejecutarlo, además, los IDEs pueden incluir bibliotecas de datos para soportar la
creación de programas.
*ALGUNOS IDEs
CodeBlocks Dev-C++ Eclipse
(Fortran y C++) (C/C++) (Python y Java)
PyCharm Spyder
(Python) (Python)
1. INTRODUCCIÓN
ETAPAS EN LA PROGRAMACIÓN
4. TRADUCCIÓN Y EJECUCIÓN DEL PROGRAMA
COMPILADOR/INTÉRPRETE
CÓDIGO FUENTE CÓDIGO MÁQUINA
COMPILADOR: Traduce el código fuente en código máquina donde se genera un
archivo ejecutable (programa objeto o ejecutable) producto de la traducción completa.
INTÉRPRETE: Traduce el código fuente en código máquina donde el
programa se ejecuta al instante de cada línea a línea de la traducción.
Lenguaje máquina (1ra. Generación)
Escritura en código binario (0 1), o bien,
palabras nemotécnicas que simplifican el
código binario
Lenguaje ensamblador (2da. Generación)
LENGUAJES DE Escritura en código nemotécnico
PROGRAMACIÓN Ensamblador (traduce del código
nemotécnico a lenguaje máquina)
Lenguajes de alto nivel (3ra Generación)
Escritura en lenguaje humano
Traductor (traduce el lenguaje humano a
lenguaje máquina)
1. INTRODUCCIÓN
ETAPAS EN LA PROGRAMACIÓN
5. DEPURACIÓN Y VERIFICACIÓN
(Eliminar errores de programación, y que el programa cumpla su objetivo para el
cual fue creado)
6. MANTENIMIENTO Y ACTUALIZACIONES
(Perfeccionamiento del programa)