0% encontró este documento útil (0 votos)
11 vistas40 páginas

Fundamentos de Programación I

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas40 páginas

Fundamentos de Programación I

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

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

También podría gustarte