PROGRAMACIÓN I
Edgar Salazar, Ph.D.
Los créditos de las imágenes usadas son dados a los autores correspondientes
QUÉ VAMOS A HACER HOY
• DEFINICIÓN DE DATO E INFORMACIÓN
• DEFINICIÓN Y PARTES DE UN ALGORITMO
• SISTEMAS NUMÉRICOS
• OPERADORES ARITMÉTICOS Y LÓGICOS
Programación I 2
CÓMO FUNCIONAN LAS COMPUTADORAS
Dispositivo de entrada da instrucciones que se almacenan en un buffer de entrada
El programa almacenado en la memoria central lee el buffer de entrada y lo transfiere al buffer de salida
PRESENTATION TITLE 3
CÓMO FUNCIONAN LAS COMPUTADORAS, EJEMPLO
Dispositivo de entrada da instrucciones que se almacenan en un buffer de entrada
El programa almacenado en la memoria central lee el buffer de entrada y lo transfiere al buffer de salida
PRESENTATION TITLE 4
LA UNIDAD DE CONTROL
Controla mediante circuitos lógicos la activación, comunicación y sincronización de los diferentes dispositivos
entrada, salida, la ALU y la memoria
PRESENTATION TITLE 5
LA UNIDAD ARITMÉTICA LÓGICA
Realiza operaciones aritméticas sobre números binarios
enteros
Entradas: Números enteros binarios
Opcode: Tipo de operación a ejecutar
Status output: zero, carry-out, negative
Statis input: Carry-in
PRESENTATION TITLE 6
LENGUAJE DE PROGRAMACIÓN
?
Lenguaje natural Lenguaje de Lenguaje de máquina
Programación 00010111010101011
PRESENTATION TITLE 7
LENGUAJE DE PROGRAMACIÓN
C++
Python
Java Assembly
Alto nivel Bajo nivel
Lenguaje natural Lenguaje de Lenguaje de máquina
Programación 00010111010101011
PRESENTATION TITLE 8
COMPILADORES VS INTÉRPRETES
Compilador
00010111010101011
.exe
PRESENTATION TITLE 9
COMPILADORES VS INTÉRPRETES
Compila y ejecuta
PRESENTATION TITLE 10
ALGORITMO
Orden de realización Si se repite, el resultado Tiene principio y fin
es el mismo
PRESENTATION TITLE 11
EJEMPLOS DE ALGORITMO
PRESENTATION TITLE 12
PARTES DE UN ALGORITMO
PRESENTATION TITLE 13
REPRESENTACIÓN DE UN ALGORITMO
PSEUDOCÓDIGO
• Algoritmo escrito en un
lenguaje genérico de
programación
• Es el primer borrador de
un programa
• start, end, stop, if-then-
else, while-end, repeat-
until, write
PRESENTATION TITLE 14
REPRESENTACIÓN DE UN ALGORITMO
DIGRAMA DE FLUJO
• Representación visual de
un algoritmo
• Símbolos predeterminados
PRESENTATION TITLE 15
RESOLUCIÓN DE UN ALGORITMO
• Diseño descendente:
Divide y vencerás.
• Refinamiento: añadir
procesos específicos
PRESENTATION TITLE 16
FASES PARA SOLUCIONAR UN PROBLEMA
ANÁLISIS DEL PROBLEMA DISEÑO DEL ALGORITMO PROGRAMACIÓN
• Entradas • Diseño descendente • Diagramas de Flujo
• Salidas • Programación modular • Pseudocódigo
• Métodos
• Restricciones
CODIFICACIÓN COMPILACIÓN Y EJECUCIÓN DOCUMENTACIÓN
• Descripciones de los pasos
• Traducir diagramas de flujo • Traducir el programa a lenguaje de
seguidos para la ejecución
a lenguaje máquina (compilación)
del algoritmo
• Generar un programa ejecutable a
• Interna: Comentarios en
través de un enlace
códigos.
• Externa: Diagramas de
flujo, pseudo-codigo
PRESENTATION TITLE 17
PROGRAMACIÓN MODULAR
PRESENTATION TITLE 18
PROGRAMACIÓN ESTRUCTURADA
Ficheros
Instrucciones
Funciones
PRESENTATION TITLE 19
DATOS LOCALES Y DATOS GLOBALES
DATOS LOCALES
• Accedidos sólo por una función
DATOS GLOBALES
• Accedidos por todas las funciones
PRESENTATION TITLE 20
POO, PROGRAMACIÓN ORIENTADA A OBJETOS
ENFOQUE
• POO está orientada a DATOS y no a
algoritmos
IDEA
• En un módulo, se encapsulan los Datos y las
funciones que actúan sobre esos datos
PROPIEDADES
• ABSTRACCIÓN
• ENCAPSULAMIENTO
• OCULTACIÓN
• HERENCIA
• POLIMORFISMO
PRESENTATION TITLE 21
POO, PROGRAMACIÓN ORIENTADA A OBJETOS
OBJETO
• Es un elemento con identidad propia con
comportamientos y características.
CLASE
• Los objetos con iguales características y
comportamientos se agrupan en CLASES.
PRESENTATION TITLE 22
POO, PROGRAMACIÓN ORIENTADA A OBJETOS
ABSTRACCIÓN ENCAPSULAMIENTO HERENCIA
• Definir los aspectos • Agrupar datos y • Definir nuevas clases
relevantes operaciones relacionados a partir de algunas ya
• Qué es (Clases) existentes con
• Qué hace comportamientos y
características
adicionales.
REUSABILIDAD POLIMORFISMO
• Clases depuradas • Una operación se
pueden ser realizadas ejecuta de diferente
por otros manera en cada clase.
programadores
PRESENTATION TITLE 23
POO, PROGRAMACIÓN ORIENTADA A OBJETOS
Atributos
Métodos
PRESENTATION TITLE 24
PSEUDOCÓDIGO Y
DIGRAMAS DE FLUJO
Edgar Salazar, Ph.D.
Los créditos de las imágenes usadas son dados a los autores correspondientes
OPERADORES
PRESENTATION TITLE 26
TIPOS DE DATOS
INTEGERS: 1,2 ,3
FLOATS: 1.22
DOUBLE: 1.222222
CHAR: ‘C’,’D’
STRING: ‘HOLA’
PRESENTATION TITLE 27
PRIMER EJEMPLO
Calcular el salario bruto y el
salario neto de un trabajador
“por horas” conociendo el
nombre, número de horas
trabajadas, impuestos a pagar y
salario neto.
PRESENTATION TITLE 28
PRIMER EJEMPLO
Calcular el salario bruto y el
salario neto de un trabajador
“por horas” conociendo el
nombre, número de horas
trabajadas, impuestos a pagar y
salario neto.
PRESENTATION TITLE 29
SEGUNDO EJEMPLO
PRESENTATION TITLE 30
Diferente
PRESENTATION TITLE 31
TERCER EJEMPLO
REALICE UN DIAGRAMA DE FLUJO Y UN PSEUDOCODIGO DE UN PROGRAMA QUE CALCULE LA
SUMA DE LOS NUMEROS PARES HASTA 100
PRESENTATION TITLE 32
TERCER EJEMPLO
PRESENTATION TITLE 33
CUARTO EJEMPLO
PRESENTATION TITLE 34
CUARTO EJEMPLO
PRESENTATION TITLE 35
QUINTO EJEMPLO
PRESENTATION TITLE 36
QUINTO EJEMPLO
PRESENTATION TITLE 37
SEXTO EJEMPLO
PRESENTATION TITLE 38
SEXTO EJEMPLO
PRESENTATION TITLE 39
TAREA DE CLASE
Realice un diagrama de flujo que encuentre el mínimo de un conjunto de números digitados por el usuario.
Realice un diagrama de flujo que encuentre el máximo de un conjunto de números digitados por el usuario.
Realice un diagrama de flujo que determine si un número es primo o no. (Recuerde que la operación módulo es
%)
PRESENTATION TITLE 40