Post on 29-Jun-2015
description
IntroducciónProgramación
¿Qué es un estado?
Un sistema no es estático, es dinámico [cambia con el tiempo]. Los cambios se
describen a través de un estado.
Estado: una descripción total y única del sistema en un instante de tiempo dado,
definido por la valuación de todas sus variables.
- Estado inicial: condiciones iniciales del sistema [entradas].
- Estado final: condiciones finales [a lo que se debe llegar: salidas].
- Estados intermedios: todos los posibles estados que transcurren entre el inicial y final.
IntroducciónProgramación
Cambio de estado
Para que un sistema pase [evolucione] de un estado k a un estado k+1 debe
suceder un evento.
Evento: acción que hace que las observaciones [lo que vemos en las variables]
cambien. Los eventos pueden ser:
- Ordenes
- Operaciones
- Acciones
- Expresiones
IntroducciónProgramación
¿Qué es un problema?
Cuando se tiene un sistema cuyo estado actual no es el deseado, se dice que se tiene un problema.
La solución a un problema es una serie de pasos [realización de operaciones] que llevan del estado en que están las cosas en el sistema, al estado que se desea.
Esta serie de pasos [operaciones] se conoce como un algoritmo.
IntroducciónProgramación
¿Qué es un algoritmo?
Conjunto ordenado de pasos que llevan un sistema de un estado a otro. Los pasos que se realizan en un algoritmo efectúan operaciones que modifican las variables del sistema y, por ende, el estado del mismo.
Las operaciones son acciones que pueden efectuarse dentro del sistema y son definidas en el momento de creación del sistema.
Computacionalmente hablando, un algoritmo se convierte en un programa, es decir, un conjunto de operaciones que resuelven un problema determinado usando un lenguaje de programación [Python].
IntroducciónProgramación
Ejemplo
Problema a resolver: Se debe llevar el robot a un estado deseado.
¿Cómo llegar del estado inicial al final?
Estado inicial Estado final
IntroducciónProgramación
Ejemplo
Estado inicial
Variables:
posición = (5,6)
orientación = este
Constantes:
Tablero: 8x8
Bloques:
2: (5,4)
3: (8,8)
1: (1,3)
…
Celda azul: (5,2)
X Y
N
E
O
S
IntroducciónProgramación
Ejemplo
Estado intermedio (paso 1): girar a la derecha
Variables:
posición = (5,6)
orientación = sur
Constantes:
Tablero: 8x8
Bloques:
2: (5,4)
3: (8,8)
1: (1,3)
…
Celda azul: (5,2)
N
E
O
S
1 2
3 4
5 6
7 8
1 2
3 4
5 6
7 8
IntroducciónProgramación
Ejemplo
Estado intermedio (paso 2): moverse una casilla
Variables:
posición = (4,6)
orientación = sur
Constantes:
Tablero: 8x8
Bloques:
2: (5,4)
3: (8,8)
1: (1,3)
…
Celda azul: (5,2)
N
E
O
S
IntroducciónProgramación
Ejemplo
Estado intermedio (paso 3): girar a la izquierda
Variables:
posición = (4,6)
orientación = este
Constantes:
Tablero: 8x8
Bloques:
2: (5,4)
3: (8,8)
1: (1,3)
…
Celda azul: (5,2)
N
E
O
S
IntroducciónProgramación
Ejemplo
Estado intermedio (paso 4): moverse una casilla
Variables:
posición = (4,5)
orientación = este
Constantes:
Tablero: 8x8
Bloques:
2: (5,4)
3: (8,8)
1: (1,3)
…
Celda azul: (5,2)
N
E
O
S
IntroducciónProgramación
Ejemplo
Estado intermedio (paso 5): moverse una casilla
Variables:
posición = (4,4)
orientación = este
Constantes:
Tablero: 8x8
Bloques:
2: (5,4)
3: (8,8)
1: (1,3)
…
Celda azul: (5,2)
N
E
O
S
IntroducciónProgramación
Ejemplo
Estado intermedio (paso 6): moverse una casilla
Variables:
posición = (4,3)
orientación = este
Constantes:
Tablero: 8x8
Bloques:
2: (5,4)
3: (8,8)
1: (1,3)
…
Celda azul: (5,2)
N
E
O
S
IntroducciónProgramación
Ejemplo
Estado intermedio (paso 7): girar a la izquierda
Variables:
posición = (4,3)
orientación = norte
Constantes:
Tablero: 8x8
Bloques:
2: (5,4)
3: (8,8)
1: (1,3)
…
Celda azul: (5,2)
N
E
O
S
IntroducciónProgramación
Ejemplo
Estado intermedio (paso 8): moverse una casilla
Variables:
posición = (5,3)
orientación = norte
Constantes:
Tablero: 8x8
Bloques:
2: (5,4)
3: (8,8)
1: (1,3)
…
Celda azul: (5,2)
N
E
O
S
IntroducciónProgramación
Ejemplo
Estado intermedio (paso 9): girar a la derecha
Variables:
posición = (5,3)
orientación = este
Constantes:
Tablero: 8x8
Bloques:
2: (5,4)
3: (8,8)
1: (1,3)
…
Celda azul: (5,2)
N
E
O
S
IntroducciónProgramación
Ejemplo
Estado final (paso 10): moverse una casilla
Variables:
posición = (5,2)
orientación = este
Constantes:
Tablero: 8x8
Bloques:
2: (5,4)
3: (8,8)
1: (1,3)
…
Celda azul: (5,2)
N
E
O
S
IntroducciónProgramación
Ejemplo
1. Girar a la derecha
2. Moverse una casilla
3. Girar a la izquierda
4. Moverse una casilla
5. Moverse una casilla
6. Moverse una casilla
7. Girar a la izquierda
8. Moverse una casilla
9. Girar a la derecha
10.Moverse una casilla
Estado inicial
Estado final
Resumen de la solución del problema
IntroducciónProgramación
Algoritmo
Conjunto de instrucciones (eventos, pasos, acciones) secuenciales que resuelven un problema. Generalmente se escribe en lenguaje natural:
1. Girar a la derecha
2. Moverse una casilla
3. Girar a la izquierda
4. Moverse una casilla
5. Moverse una casilla
6. Moverse una casilla
7. Girar a la izquierda
8. Moverse una casilla
9. Girar a la derecha
10.Moverse una casilla
Estado inicial
Estado final
Algoritmo
IntroducciónProgramación
Programa
Algoritmo llevado a un lenguaje de programación, usando las reglas, funciones, operaciones y la notación [sintaxis] que el lenguaje provee y exige.
IntroducciónProgramación
Pontificia Universidad Javeriana Cali.
Hombres, mujeres y ciencia al servicio del país.
cic.puj.edu.co/wiki
Con el uso de esta presentación aceptas las siguientes
condiciones de uso y licencia.
Prohibido para uso comercial, sólo para uso académico.
Esta presentación puede ser usada libremente por los estudiantes.
Plantilla de diseño gratuita provista por PresentationPoint. Su uso esta restringido por las condiciones de uso de PresentationPoint.
En caso de preguntas o inquietudes contactar a:
E-Mail: diego.polo@carvajal.com.co
Condiciones
IntroducciónProgramación