Sei sulla pagina 1di 23

PROGRAMACIÓN

CFP N° 5 - Curso 2018


CLASE ANTERIOR…

 Operadores lógicos

 Algoritmos de selección (repaso)

 Alternativa Simple

 Alternativa Doble

 Alternativa Múltiples
HOY VEMOS:

 Pruebas de Escritorio

 Estructuras repetitivas o Bucles (o Ciclos)

 Mientras

 Repetir hasta que


PASOS PARA LA CONSTRUCCIÓN DE UN PROGRAMA

DEFINICIÓN DEL
PROBLEMA
ANÁLISIS DEL
PROBLEMA
DISEÑO DEL
ALGORITMO

CODIFICACIÓN

PRUEBA Y
DEPURACIÓN
● Definir el Problema
Determinar la información inicial para la elaboración del mismo

● Analisis del Problema


Datos de entrada, de salida, métodos y fórmulas

● Diseño del algoritmo


Usar las herramientas de representación de algoritmos

● Codificación
Escribir la solución del problema, en instrucciones detalladas, en un lenguaje reconocible
por la computadora. Conocido como Código Fuente.

● Prueba y Depuración
Se toman escenarios posibles, validos o inválidos y
se corre la secuencia del algoritmo para ver si
cumple con los resultados esperados.
PRUEBAS DE ESCRITORIO

 Técnica utilizada para validar la resolución de problemas con algoritmos, de uso


frecuente en el ámbito informático.

 Sirve para validar utilizando datos reales cómo ejemplo, un algoritmo definido y así
comprobar si se obtiene el resultado deseado.

 Para poder realizar una prueba de escritorio, es necesario identificar cuáles son las
variables de entrada, cuáles son las variables auxiliares y cuáles son las variables de
salida.

 El proceso consiste en seguir el algoritmo recorriendo sus líneas como lo haría la


computadora.

 A medida que se van recorriendo las líneas se anotan en una tabla auxiliar los
valores que van tomando las variables.
PRUEBAS DE ESCRITORIO

 También sirve para optimizar un algoritmo viendo como podemos llegar a un


determinado resultado con menos pasos.

 IMPORTANTE: Casi siempre pasa que NUNCA el programa va a funcionar


correctamente la primera vez. SIEMPRE deberemos hacerle ajustes y correcciones. Y
eso es parte de la garantía que damos cuando diseñamos un Sistema a medida.

NO OLVIDAR que el programa deber ser lo más intuitivo posible y tener, en algunos
casos, carteles de ayuda cuando presione la tecla programada (generalmente la
F1 como cualquier programa comercial). Para salir utilizar la tecla ESC (como en
cualquier...)
Esto hace a la profesionalidad del sistema.
“Se desea diseñar un algoritmo que, de acuerdo a la altura de una persona,
decida si puede entrar a un juego en un parque de diversiones. Para poder
subirse a la montaña rusa la persona debe medir 1.30 mts. o más.”

Algoritmo a Probar Pruebas de Escritorio

Altura
Salida
Proceso ValidarAltura Persona
Definir alturaPermitida Como Numerica;
Puede ingresar a
Definir alturaPersona Como Numerica; 1.50
la montaña rusa
alturaPermitida <- 1.3;
Leer alturaPersona; No puede ingresar
Si alturaPersona >= alturaPermitida Entonces 1.20
a la montaña rusa
Escribir 'Puede ingresar a la montaña rusa';
Sino Puede ingresar a
1.30
Escribir 'No puede ingresar a la montaña rusa'; la montaña rusa
FinSi
FinProceso No puede ingresar
1.00
a la montaña rusa
¿CUÁNTOS CASOS? ¿QUÉ CASOS?

 Elobjetivo de las pruebas de escritorio es ver si el resultado obtenido es el


esperado. Esto incluye los casos de “error”.

 Es importante analizar los casos límites entre situaciones del algoritmo

 La cantidad de casos necesarios depende de la complejidad del


problema
Secuenciales

Selectivas o De
Decisión

Repetitivas
Repetitivas PROBLEMA: SUMA ENTRE NÚMEROS

Escriba un programa que pida al usuario dos números enteros, y


luego entregue la suma de todos los números que están entre ellos,
incluyéndolos. Por ejemplo, si los números son 2 y 7, debe entregar
como resultado 2 + 3 + 4 + 5 + 6 + 7 = 27.

Ingrese num: 2
Ingrese num: 7
La suma es 27
Repetitivas PROBLEMA - SUMA ENTRE NÚMEROS

La solución es (si la entrada es 2 y 7) 2 + 3 + 4 + 5 + 6 + 7, pero si fuera


2 y 3 sería solo 2 + 3.
Necesitamos poder hacer una operación diferente cantidad de
veces según los datos que nos dió el usuario.

Necesitamos ejecutar código


repetidamente
Repetitivas ESTRUCTURA DE REPETICIÓN
preguntar
“ya
llegamos?”

respuesta Imprimir
= no “Llegamos!”
¿respuesta
= no?

Extraído de: "Barry, P., & Griffiths, D. (2009). Head First Programming: A Learner's Guide to Programming Using the Python Language. " O'Reilly Media,
Inc."."
Repetitivas

 También llamados iteraciones (o Loops en Inglés)

 Sirven
para ejecutar una lista o secuencas de instucciones (también
llamada bloque de instrucciones) varias veces

 La cantidad de veces depende de los datos

A cada ejecución del bloque de instrucciones se le conoce como


una iteración.

 Veremos dos tipos de sentencias de repetición:


 HACER MIENTRAS
 REPETIR HASTA QUE
 PARA HASTA CON PASO PASO HACER
Repetitivas MIENTRAS- WHILE

Inicio

F
Condición

tanqueLleno <- falso V


Mientras tanqueLleno = falso Hacer
Instruccione
llenarTanque s bucle
Fin Mientras

Siguiente
Instrucción
Repetitivas PROBLEMA - SUMA ENTRE NÚMEROS

Algoritmo SumaNum
Leer primerNum;
Leer segundoNum;
actual <- primerNum;
suma <- 0;
Mientras actual <= segundoNum
suma <- suma + actual;
actual <- actual + 1;
FinMientras
Escribir suma;
FinAlgoritmo
Repetitivas HACER MIENTRAS – DO WHILE

Inicio

llegadaColectivo <- Falso


Repetir Acción
esperarColectivo
Hasta Que llegadaColectivo = Verdadero

V
Condición

F
Repetitivas HACER MIENTRAS – DO WHILE
Repetitivas HACER MIENTRAS – DO WHILE

Algoritmo EsperarColectivo
Definir llegadaColectivo Como Logica;
llegadaColectivo <- Falso;
Repetir
Escribir 'Esperar Colectivo’;
Leer llegadaColectivo;
Hasta Que llegadaColectivo = Verdadero
FinAlgoritmo
EJERCICIO

Plantear el algoritmo que resuelve el problema “Suma entre


números” con la estructura “Repetir.. Hasta que”.
(reemplazando a la estructura “Mientras… Hacer” que se
utilizó anteriormente)
RESUMEN

 Pruebas de Escritorio

 Algoritmos repetitivos (Bucles)

 Concepto y uso de la estructura repetitiva

 Mientas …. Hacer

 Ejercicio

 Repetir … Hasta que …


PRÓXIMA CLASE…

 Bucles (continuamos y practicamos)


GRACIAS !

Potrebbero piacerti anche