Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... ·...

72
Algoritmos Dise ˜ nando algoritmos ¿Qu ´ e es un Programa? Al interior de la m´ aquina Algoritmos y Programas Introducci ´ on a la Programaci´ on Andr ´ es Felipe Barco Santa Pontificia Universidad Javeriana Generado con L A T E X Febrero de 2010 Andr ´ es Felipe Barco Santa Algoritmos y Programas

Transcript of Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... ·...

Page 1: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Algoritmos y ProgramasIntroduccion a la Programacion

Andres Felipe Barco Santa

Pontificia Universidad JaverianaGenerado con LATEX

Febrero de 2010

Andres Felipe Barco Santa Algoritmos y Programas

Page 2: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Recorderis

Recorderis

Estado Una configuracion determinada del sistema en untiempo-espacio definido.

Andres Felipe Barco Santa Algoritmos y Programas

Page 3: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Recorderis

Recorderis

Estado Una configuracion determinada del sistema en untiempo-espacio definido.

Propiedades Los sistemas perduran en el tiempo; en cadaperiodo poseen un estado determinado.

Andres Felipe Barco Santa Algoritmos y Programas

Page 4: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Recorderis

Recorderis

Estado Una configuracion determinada del sistema en untiempo-espacio definido.

Propiedades Los sistemas perduran en el tiempo; en cadaperiodo poseen un estado determinado.

Comportamiento Los sistemas evolucionan, cambian susestados.

Andres Felipe Barco Santa Algoritmos y Programas

Page 5: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Recorderis

Recorderis

Estado Una configuracion determinada del sistema en untiempo-espacio definido.

Propiedades Los sistemas perduran en el tiempo; en cadaperiodo poseen un estado determinado.

Comportamiento Los sistemas evolucionan, cambian susestados.

Problema Un estado no deseado para el sistema.

Andres Felipe Barco Santa Algoritmos y Programas

Page 6: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Sentencias

A nivel computacional las acciones son llamadas sentencias .

Andres Felipe Barco Santa Algoritmos y Programas

Page 7: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Sentencias

A nivel computacional las acciones son llamadas sentencias .

Sentencia Orden sobre elementos, variables, del sistema.Esta compuesta de expresiones.

Andres Felipe Barco Santa Algoritmos y Programas

Page 8: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Sentencias

A nivel computacional las acciones son llamadas sentencias .

Sentencia Orden sobre elementos, variables, del sistema.Esta compuesta de expresiones.

Expresion Una operacion evaluable por el computador(sumar, restar, comparar, asignar...)

Andres Felipe Barco Santa Algoritmos y Programas

Page 9: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Definicion de algoritmo

Un algoritmo es una coleccion de instrucciones junto conun orden en el cual deben ser ejecutados.

Andres Felipe Barco Santa Algoritmos y Programas

Page 10: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Definicion de algoritmo

Un algoritmo es una coleccion de instrucciones junto conun orden en el cual deben ser ejecutados.

Un manifiesto que describe el paso a paso de determinadoproceso o accion.

Andres Felipe Barco Santa Algoritmos y Programas

Page 11: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

¿Como crear un algoritmo?

1 Definir el objetivo del algoritmo, su funcion.

Andres Felipe Barco Santa Algoritmos y Programas

Page 12: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

¿Como crear un algoritmo?

1 Definir el objetivo del algoritmo, su funcion.2 Definir un punto de partida (inicio) y un punto de llegada

(final).

Andres Felipe Barco Santa Algoritmos y Programas

Page 13: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

¿Como crear un algoritmo?

1 Definir el objetivo del algoritmo, su funcion.2 Definir un punto de partida (inicio) y un punto de llegada

(final).3 Definir los elementos de dicho algoritmo (cadenas,

enteros, estructuras).

Andres Felipe Barco Santa Algoritmos y Programas

Page 14: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

¿Como crear un algoritmo?

1 Definir el objetivo del algoritmo, su funcion.2 Definir un punto de partida (inicio) y un punto de llegada

(final).3 Definir los elementos de dicho algoritmo (cadenas,

enteros, estructuras).4 Definir una secuencia de acciones que lleven del inicio al

final.

Andres Felipe Barco Santa Algoritmos y Programas

Page 15: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

¿Como crear un algoritmo?

1 Definir el objetivo del algoritmo, su funcion.2 Definir un punto de partida (inicio) y un punto de llegada

(final).3 Definir los elementos de dicho algoritmo (cadenas,

enteros, estructuras).4 Definir una secuencia de acciones que lleven del inicio al

final.5 Volver al paso 2 para corregir errores o realizar mejoras.

Andres Felipe Barco Santa Algoritmos y Programas

Page 16: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Ejemplo de algoritmo

Problema

El dıa de hoy me siento muy mal, tengo fiebre, dolor en elcuerpo y debilidad. Debo iniciar un proceso para determinarque tengo mal y darle solucion.

Andres Felipe Barco Santa Algoritmos y Programas

Page 17: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Ejemplo de algoritmo

Problema

El dıa de hoy me siento muy mal, tengo fiebre, dolor en elcuerpo y debilidad. Debo iniciar un proceso para determinarque tengo mal y darle solucion.

Objetivo: Conocer que enfermedad tengo, definirtratamiento

Andres Felipe Barco Santa Algoritmos y Programas

Page 18: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Ejemplo de algoritmo

Problema

El dıa de hoy me siento muy mal, tengo fiebre, dolor en elcuerpo y debilidad. Debo iniciar un proceso para determinarque tengo mal y darle solucion.

Objetivo: Conocer que enfermedad tengo, definirtratamiento

Estado inicial: En mi casa sin saber que tengo, con dolor ydesesperardo

Andres Felipe Barco Santa Algoritmos y Programas

Page 19: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Ejemplo de algoritmo

Problema

El dıa de hoy me siento muy mal, tengo fiebre, dolor en elcuerpo y debilidad. Debo iniciar un proceso para determinarque tengo mal y darle solucion.

Objetivo: Conocer que enfermedad tengo, definirtratamiento

Estado inicial: En mi casa sin saber que tengo, con dolor ydesesperardo

Estado final: Fuera del consultorio conociendo que tengo,con dolor y desesperado

Andres Felipe Barco Santa Algoritmos y Programas

Page 20: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Ejemplo de algoritmo

Problema

El dıa de hoy me siento muy mal, tengo fiebre, dolor en elcuerpo y debilidad. Debo iniciar un proceso para determinarque tengo mal y darle solucion.

Objetivo: Conocer que enfermedad tengo, definirtratamiento

Estado inicial: En mi casa sin saber que tengo, con dolor ydesesperardo

Estado final: Fuera del consultorio conociendo que tengo,con dolor y desesperado

Elementos: Dinero, transporte, cedula, carne EPS ysistema de salud colombiano

Andres Felipe Barco Santa Algoritmos y Programas

Page 21: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Cita medica - EPS1 Prepararme para salir de la casa (banarse, vestirse,

desayunar).

Andres Felipe Barco Santa Algoritmos y Programas

Page 22: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Cita medica - EPS1 Prepararme para salir de la casa (banarse, vestirse,

desayunar).2 Tomar un transporte (bus estandar, masivo, taxi, pie).

Andres Felipe Barco Santa Algoritmos y Programas

Page 23: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Cita medica - EPS1 Prepararme para salir de la casa (banarse, vestirse,

desayunar).2 Tomar un transporte (bus estandar, masivo, taxi, pie).3 Pedir turno y esperar(!) a que digan mi nombre.

Andres Felipe Barco Santa Algoritmos y Programas

Page 24: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Cita medica - EPS1 Prepararme para salir de la casa (banarse, vestirse,

desayunar).2 Tomar un transporte (bus estandar, masivo, taxi, pie).3 Pedir turno y esperar(!) a que digan mi nombre.4 Pasar cedula, carne y dinero(!).

Andres Felipe Barco Santa Algoritmos y Programas

Page 25: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Cita medica - EPS1 Prepararme para salir de la casa (banarse, vestirse,

desayunar).2 Tomar un transporte (bus estandar, masivo, taxi, pie).3 Pedir turno y esperar(!) a que digan mi nombre.4 Pasar cedula, carne y dinero(!).5 Esperar a que llamen del consultorio.

Andres Felipe Barco Santa Algoritmos y Programas

Page 26: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Cita medica - EPS1 Prepararme para salir de la casa (banarse, vestirse,

desayunar).2 Tomar un transporte (bus estandar, masivo, taxi, pie).3 Pedir turno y esperar(!) a que digan mi nombre.4 Pasar cedula, carne y dinero(!).5 Esperar a que llamen del consultorio.6 Entrar al consultorio.

Andres Felipe Barco Santa Algoritmos y Programas

Page 27: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Cita medica - EPS1 Prepararme para salir de la casa (banarse, vestirse,

desayunar).2 Tomar un transporte (bus estandar, masivo, taxi, pie).3 Pedir turno y esperar(!) a que digan mi nombre.4 Pasar cedula, carne y dinero(!).5 Esperar a que llamen del consultorio.6 Entrar al consultorio.7 Por cada sintoma; explicar al medico.

Andres Felipe Barco Santa Algoritmos y Programas

Page 28: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Cita medica - EPS1 Prepararme para salir de la casa (banarse, vestirse,

desayunar).2 Tomar un transporte (bus estandar, masivo, taxi, pie).3 Pedir turno y esperar(!) a que digan mi nombre.4 Pasar cedula, carne y dinero(!).5 Esperar a que llamen del consultorio.6 Entrar al consultorio.7 Por cada sintoma; explicar al medico.8 Obtener diagnostico.

Andres Felipe Barco Santa Algoritmos y Programas

Page 29: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

SentenciasDefinicion de algoritmo¿Como crear un algoritmo?Ejemplo de algoritmo

Cita medica - EPS1 Prepararme para salir de la casa (banarse, vestirse,

desayunar).2 Tomar un transporte (bus estandar, masivo, taxi, pie).3 Pedir turno y esperar(!) a que digan mi nombre.4 Pasar cedula, carne y dinero(!).5 Esperar a que llamen del consultorio.6 Entrar al consultorio.7 Por cada sintoma; explicar al medico.8 Obtener diagnostico.9 Gestionar para tratamiento medio (pagar, sacar

cesantıas(!), prestamo en banco(!)).

Andres Felipe Barco Santa Algoritmos y Programas

Page 30: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Diseno

Un algoritmo posee un diseno definido, esto es, estructuras,invariates, variables, funciones, etc.

Andres Felipe Barco Santa Algoritmos y Programas

Page 31: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Diseno

Un algoritmo posee un diseno definido, esto es, estructuras,invariates, variables, funciones, etc. Ademas, yfundamentalmente, posee una logica capaz de dar solucion alproblema.

Andres Felipe Barco Santa Algoritmos y Programas

Page 32: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Ayudas para disenar

Para disenar nuestros algortimos podemos hacer uso dealgunas herramientas ya conocidas. En orden ascendente deimportancia:

Andres Felipe Barco Santa Algoritmos y Programas

Page 33: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Ayudas para disenar

Para disenar nuestros algortimos podemos hacer uso dealgunas herramientas ya conocidas. En orden ascendente deimportancia:

Modelos de la realidad.

Andres Felipe Barco Santa Algoritmos y Programas

Page 34: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Ayudas para disenar

Para disenar nuestros algortimos podemos hacer uso dealgunas herramientas ya conocidas. En orden ascendente deimportancia:

Modelos de la realidad.

Imaginacion.

Andres Felipe Barco Santa Algoritmos y Programas

Page 35: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Ayudas para disenar

Para disenar nuestros algortimos podemos hacer uso dealgunas herramientas ya conocidas. En orden ascendente deimportancia:

Modelos de la realidad.

Imaginacion.

Matematicas.

Andres Felipe Barco Santa Algoritmos y Programas

Page 36: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Ayudas para disenar

Para disenar nuestros algortimos podemos hacer uso dealgunas herramientas ya conocidas. En orden ascendente deimportancia:

Modelos de la realidad.

Imaginacion.

Matematicas.

Dibujos, diagramas, imagenes, etc.

Andres Felipe Barco Santa Algoritmos y Programas

Page 37: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Ayudas para disenar

Para disenar nuestros algortimos podemos hacer uso dealgunas herramientas ya conocidas. En orden ascendente deimportancia:

Modelos de la realidad.

Imaginacion.

Matematicas.

Dibujos, diagramas, imagenes, etc.

Pseudocodigo.

Andres Felipe Barco Santa Algoritmos y Programas

Page 38: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Pseudocodigo

Lenguaje informal

El pseudocodigo es una coleccion de instrucciones con la cualdefinimos un procedimiento o accion. Su principalcaracterıstica es que el lenguaje en el que esta definido seacerca mas al humano que al de la maquina.

Andres Felipe Barco Santa Algoritmos y Programas

Page 39: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Pseudocodigo

Lenguaje informal

El pseudocodigo es una coleccion de instrucciones con la cualdefinimos un procedimiento o accion. Su principalcaracterıstica es que el lenguaje en el que esta definido seacerca mas al humano que al de la maquina.

¡¡¡ Ya hemos realizado nuestro primer algoritmo y primerpseudocodigo en clase !!!

Andres Felipe Barco Santa Algoritmos y Programas

Page 40: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Vestirse en pseudocodigo

Elementos = ropa interior, pantalones o falda, correa, medias,zapatos, camiseta

Andres Felipe Barco Santa Algoritmos y Programas

Page 41: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Vestirse en pseudocodigo

Elementos = ropa interior, pantalones o falda, correa, medias,zapatos, camiseta# # Inicio secuencia logica

Andres Felipe Barco Santa Algoritmos y Programas

Page 42: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Vestirse en pseudocodigo

Elementos = ropa interior, pantalones o falda, correa, medias,zapatos, camiseta# # Inicio secuencia logicaPor cada elemento en Elementos haga:

Andres Felipe Barco Santa Algoritmos y Programas

Page 43: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Vestirse en pseudocodigo

Elementos = ropa interior, pantalones o falda, correa, medias,zapatos, camiseta# # Inicio secuencia logicaPor cada elemento en Elementos haga:Ponerselo

Andres Felipe Barco Santa Algoritmos y Programas

Page 44: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Vestirse en pseudocodigo

Elementos = ropa interior, pantalones o falda, correa, medias,zapatos, camiseta# # Inicio secuencia logicaPor cada elemento en Elementos haga:PonerseloSi no hay mas elementos:

Andres Felipe Barco Santa Algoritmos y Programas

Page 45: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

DisenoAyudas para disenarPseudocodigoVestirse en pseudocodigo

Vestirse en pseudocodigo

Elementos = ropa interior, pantalones o falda, correa, medias,zapatos, camiseta# # Inicio secuencia logicaPor cada elemento en Elementos haga:PonerseloSi no hay mas elementos:Terminar proceso.# # Final secuencia logica

Andres Felipe Barco Santa Algoritmos y Programas

Page 46: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Los programas¿Como crear un programa?

Los programas

Un programa es la coleccion de algoritmos que trabajan enconjunto para resolver determinado problema.

Andres Felipe Barco Santa Algoritmos y Programas

Page 47: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Los programas¿Como crear un programa?

Los programas

Un programa es la coleccion de algoritmos que trabajan enconjunto para resolver determinado problema.

Esta coleccion de algoritmos no se define informalmente,por el contrario debe hacerse uso de un lenguaje formalpara expresar los componentes y secuencia logica delprograma.

Andres Felipe Barco Santa Algoritmos y Programas

Page 48: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Los programas¿Como crear un programa?

¿Como crear un programa?

Primero creamos el o los algoritmos (pseudocodigo).

Andres Felipe Barco Santa Algoritmos y Programas

Page 49: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Los programas¿Como crear un programa?

¿Como crear un programa?

Primero creamos el o los algoritmos (pseudocodigo).

Seleccionamos un lenguaje formal para implementarlo(Python).

Andres Felipe Barco Santa Algoritmos y Programas

Page 50: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Los programas¿Como crear un programa?

¿Como crear un programa?

Primero creamos el o los algoritmos (pseudocodigo).

Seleccionamos un lenguaje formal para implementarlo(Python).

Codificamos nuestro algoritmo con la sintaxis ysemantica del lenguaje.

Andres Felipe Barco Santa Algoritmos y Programas

Page 51: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Los programas¿Como crear un programa?

¿Como crear un programa?

Primero creamos el o los algoritmos (pseudocodigo).

Seleccionamos un lenguaje formal para implementarlo(Python).

Codificamos nuestro algoritmo con la sintaxis ysemantica del lenguaje.

Fuente El resultado final sera el codigo fuente (sourcecode) de nuestro programa. En este punto eltrabajo del programador finaliza para dar paso altrabajo del computador.

Andres Felipe Barco Santa Algoritmos y Programas

Page 52: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Programacion secuencial

Un algoritmo tiene un orden secuencial explıcito definido por elprogramador. EL computador ejecutara una orden despues deotra.

Andres Felipe Barco Santa Algoritmos y Programas

Page 53: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Programacion secuencial

Un algoritmo tiene un orden secuencial explıcito definido por elprogramador. EL computador ejecutara una orden despues deotra.

Ejemplo: La ecuacion cadratica esta definida por:

x =�b�

pb2�4ac

2a

Andres Felipe Barco Santa Algoritmos y Programas

Page 54: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Programacion secuencial

Andres Felipe Barco Santa Algoritmos y Programas

Page 55: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Programacion secuencial

Figura: Programa, memoria y procesador

Andres Felipe Barco Santa Algoritmos y Programas

Page 56: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Programacion secuencial

Figura: Programa, memoria y procesador

Andres Felipe Barco Santa Algoritmos y Programas

Page 57: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Programacion secuencial

Figura: Programa, memoria y procesador

Andres Felipe Barco Santa Algoritmos y Programas

Page 58: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Programacion secuencial

Figura: Programa, memoria y procesador

Andres Felipe Barco Santa Algoritmos y Programas

Page 59: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Programacion secuencial

Figura: Programa, memoria y procesador

Andres Felipe Barco Santa Algoritmos y Programas

Page 60: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Programacion secuencial

Figura: Programa, memoria y procesador

Andres Felipe Barco Santa Algoritmos y Programas

Page 61: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Programacion secuencial

Figura: Programa, memoria y procesador

Andres Felipe Barco Santa Algoritmos y Programas

Page 62: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Programacion secuencial

Figura: Programa, memoria y procesador

Andres Felipe Barco Santa Algoritmos y Programas

Page 63: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Programacion secuencial

Figura: Programa, memoria y procesador

Andres Felipe Barco Santa Algoritmos y Programas

Page 64: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Programacion secuencial

Figura: Programa, memoria y procesador

Andres Felipe Barco Santa Algoritmos y Programas

Page 65: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Programacion secuencial

Figura: Programa, memoria y procesador

Andres Felipe Barco Santa Algoritmos y Programas

Page 66: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Sintaxis y Semantica

Sintaxis La estructura de un programa.

Andres Felipe Barco Santa Algoritmos y Programas

Page 67: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Sintaxis y Semantica

Sintaxis La estructura de un programa.

Semantica El significado de un programa.

Andres Felipe Barco Santa Algoritmos y Programas

Page 68: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Sintaxis y Semantica

Sintaxis La estructura de un programa.

Semantica El significado de un programa.

x = (�b + math:sqrt(b � �2� 4 � a � c))=(2 � a)

Andres Felipe Barco Santa Algoritmos y Programas

Page 69: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Sintaxis y Semantica

Sintaxis La estructura de un programa.

Semantica El significado de un programa.

x = (�b + math:sqrt(b � �2� 4 � a � c))=(2 � a)

La sintaxis son los operadores igual, suma ymultiplicacion. Ademas el orden en el que estanconfigurados los elementos.

Andres Felipe Barco Santa Algoritmos y Programas

Page 70: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Sintaxis y Semantica

Sintaxis La estructura de un programa.

Semantica El significado de un programa.

x = (�b + math:sqrt(b � �2� 4 � a � c))=(2 � a)

La sintaxis son los operadores igual, suma ymultiplicacion. Ademas el orden en el que estanconfigurados los elementos.

La semantica es el significado de la expresion:

Andres Felipe Barco Santa Algoritmos y Programas

Page 71: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Sintaxis y Semantica

Sintaxis La estructura de un programa.

Semantica El significado de un programa.

x = (�b + math:sqrt(b � �2� 4 � a � c))=(2 � a)

La sintaxis son los operadores igual, suma ymultiplicacion. Ademas el orden en el que estanconfigurados los elementos.

La semantica es el significado de la expresion: el valor dex sera una de las raizes de la ecuacion cuadratica.

Andres Felipe Barco Santa Algoritmos y Programas

Page 72: Algoritmos y Programas - Javeriana Calicic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=... · 2011. 1. 24. · Algoritmos Disenando algoritmos˜ ¿Qu´e es un Programa? Al interior

AlgoritmosDisenando algoritmos

¿Que es un Programa?Al interior de la maquina

Programacion secuencialSintaxis y Semantica

Fin de la Clase

Nos vemos en la proxima!!!

Andres Felipe Barco Santa Algoritmos y Programas