PENSAMIENTO COMPUTACIONAL
SEUDOCODIGO Y
ESTRUCTURAS DE CONTROL
Universidad ORT Uruguay
Escuela de Tecnología – Facultad de Ingeniería
SEUDOCÓDIGO
Es una forma de expresar las cosas que
debe hacer un programa y cómo
Es un lenguaje imperativo (da órdenes)
No es código estricto que pueda ser
utilizado por ninguna computadora
Se traduce directamente al lenguaje
de programación que se vaya a utilizar
SEUDOCODIGO
Cuenta con un conjunto
reducido de instrucciones
Normalmente se utiliza en las
fases de análisis o diseño de
Software, o en el estudio de un
algoritmo.
Estructuras de control
Secuencia
Decisión
Iteración o Repetición
Instrucciones Secuencia
• Es una secuencia de
instrucciones. Se ejecutan en
orden, hasta la última instrucción.
Instrucción1 Reservar pasaje y hotel
Instrucción2
Hacer valijas
Viajar
Ir al Hotel
…
instrucciónn
Instrucciones DECISIÓN
Si
Una o varias instrucciones se ejecutan
o no, según se cumpla una condición.
Si Condición Entonces Si Condición Entonces
acciones_por_verdadero acciones_por_verdadero
SiNo
Fin Si
acciones_por_falso
Fin Si
Ejemplo
Si Entendí lo que es una decisión Entonces
Lo anoto en el cuaderno
SiNo
Le pregunto al profesor
Fin Si
Instrucciones ITERATIVAS
Mientras
Permite realizar una secuencia de
instrucciones repetitivamente
mientras se cumpla una
condición. Mientras quede alguna Hacer
tomar una
Pesarla
Mientras expresión_lógica Hacer
Pegar ticket
secuencia_de_acciones Despacharla
Fin Mientras Fin Mientras
Ejercicio
Describa el algoritmo que se
utiliza para discriminar cuándo
cruzar en un cruce con
semáforos (cruzar de A a D)
A B Precondición.
Los semáforos no tienen luz amarilla
(solo tienen verde y roja).
C D
Nota: No es necesario utilizar
todas las estructuras de control.
Pasos para resolver el ejercicio
1. Leer atentamente la letra para
detectar el o los objetivos del
programa (requerimientos)
2. Preguntar lo que no haya quedado
claro
3. Verificar qué datos se deben
manejar
Qué datos de entrada debo tener
Cuáles son las salidas del problema
Pasos para resolver el ejercicio
4. Pensar la estructura del algoritmo
¿Es sólo una secuencia?
¿Hay bifurcaciones posibles?
¿Debo repetir alguna secuencia?
¿Debo realizar cálculos?
5. Escribirlo
6. ARMAR DATOS DE PRUEBA Y
PROBARLO!!!!
Solución Posible
Mirar a C
Si está el semáforo en rojo Entonces
mirar a B
Fin Si
Cruzar
Mirar a D
Mientras esté rojo el semáforo Hacer
Esperar
Fin Mientras
Cruzar
Instrucciones – SI Anidado
Si anidado Si Condición1 Entonces
Instrucciones1
La serie de SiNo
condiciones tienen Si Condición2 Entonces
que ser Instrucciones2
mutuamente SiNo
excluyentes. Si Condiciónn Entonces
Instruccionesn - 1
si Condicióni es
SiNo
verdadera, Instruccionesn
entonces sólo se Fin Si
ejecuta Fin Si
Instruccionesi Fin Si
Ejemplo
Si el tiempo esta lindo Entonces
Salgo a pasear
SiNo
Me quedo en casa
Si hace frio Entonces
Prendo la estufa
Fin Si
Miro una película
Fin Si
Otras estructuras de control
Las estructuras anteriores permiten solucionar todos los problemas (son
canónicas)
Existen otras estructuras de control que permiten solucionar algunos
problemas en forma más conveniente.
Selección de opciones: Según … (se verá mas adelante)
Otras iterativas: Repetir n veces, Repetir Hasta
Repetir N veces
Permite especificar cuantas veces se debe repetir una secuencia. Tener en
cuenta que al usar esta estructura no se debería dejar de repetir si la
secuencia no se ejecutó la cantidad de veces especificada
Para variable_numérica=valor_inicial Hasta valor_final Hacer
secuencia_de_acciones
Fin Para
Para contador=1 Hasta 5 Hacer
Levantar la mano
Bajar la mano
Fin Para
Repetir … Hasta Que
Permite especificar que una secuencia se debe repetir hasta que
se cumpla deteminada condición. La condición se evalúa luego
de finalizada la secuencia. Si se cumple la condición finaliza la
repetición.
Repetir
secuencia_de_acciones
Hasta Que expresión_lógica
Repetir
Correr
Hasta Que estoy cansado
Algoritmo
Repasamos: Es un conjunto de reglas
que determinan una secuencia para
resolver un tipo específico de
problema
Las propiedades de un algoritmo son:
Finito (debe terminar en algún momento)
Entrada (debe tener datos de entrada)
Salida (debe producir algún tipo de salida)
Efectivo (operaciones suficientemente básicas para que puedan
ser realizadas en tiempo finito)
Preciso (todos los pasos bien detallados, sin subjetividades)