Académique Documents
Professionnel Documents
Culture Documents
PARTE II
Recordando… para RESOLVER UN
PROBLEMA… consideramos los siguientes
pasos:
PRUEBA DE ESCRITORIO
P
R
PU
ANALISIS DEL DISEÑO DEL E
ALGORITMO B
PROBLEMA A
D
‐ Leer y comprender el ‐ Secuencia ordenada de pasos o E
problema que se instrucciones claras y finitas.
plantea. ‐ Representación de algoritmos: E
‐ Definir los datos de • Diagramas de Flujo S
C
entrada. • Pseudocódigo
R
‐ Información requerida • Diagramas N‐S I
de salida ‐ Se implementan la: T
‐ Métodos y fórmulas • Estructura Secuencial O
para procesar los • Estructura Condicional R
I
datos • Estructura Repetitiva
O
‐
PRUEBA DE ESCRITORIO
• Para cerciorarnos de que el diagrama (y/o el pseudocódigo)
está bien, y, para garantizar que el programa que
codifiquemos luego también funcione correctamente, es
conveniente someterlo a una Prueba de Escritorio.
• Consiste en que damos diferentes datos de entrada al
programa y seguimos la secuencia indicada en el algoritmo
hasta obtener los resultados.
• El análisis de estos nos indicará si el algoritmo esta correcto o
si hay necesidad de hacer ajustes.
• Se recomienda dar diferentes datos de entrada y considerar
todos los posibles casos, aun los de excepción o no
esperados, para asegurarnos de que el programa no producirá
errores en ejecución cuando se presenten estos casos.
TABLA DE VARIABLES‐PRUEBA DE
ESCRITORIO
Inicio b h a p Pantalla
Entero b, h, a, p
Leer b, h 10 3
30
a=b*h
26
p = 2 *(b + h) Area: 30
Escribir “Area:", a Perímetro: 26
Escribir “Perímetro:", p
Fin
Resumiendo la Tabla de Variables
para varias ejecuciones
No de b h a p Pantalla
ejecuciones
1. 10 3 30 26 Area: 30
Perímetro: 26
2. 5 7 35 24 Area: 35
Perímetro: 24
3. 1 0 0 2 Area: 0
Perímetro: 2
4. ‐5 2 ‐10 ‐6 Area: ‐10
Perímetro: ‐6
5. ‐20 ‐5 100 ‐50 Area: 100
Perímetro: ‐50
Acción ó
Acciones
FIN SI
DIAGRAMA DE FLUJO
Punto de entrada
V
condición
Acción ó
Acciones
Punto de salida
DIAGRAMA N‐S
condición
V
Acción ó
Acciones
Estructura Condicional‐EJEMPLO 1: Diseñar un algoritmo para
calcular el área y el perímetro de un rectángulo.
Entero b, h, a, p
Leer b, h
Punto de entrada
V b>0 y
h>0
a=b*h
p=2*(b+h)
Escribir
“Area: “, a
“Perimetro: “, p
Punto de salida
FIN
No de b h b>0 y h>0 a p Pantalla
ejecuciones
1. 10 3 V 30 26 Area: 30
Perímetro: 26
2. 5 7 V 35 24 Area: 35
Perímetro: 24
3. 1 0 F ‐ ‐ ‐
4. ‐5 2 F ‐ ‐ ‐
5. ‐20 ‐5 F ‐ ‐ ‐
PASO 3: Diseño de la solución o del Algoritmo –
DIAGRAMA N‐S
IInicio
Entero b, h, a, p
Leer b, h
V b>0 y h>0
a = b*h
p = 2 *(b + h)
Escribir “Area= “, a
Escribir “Perímetro= “, p
Fin
B2. ESTRUCTURA DE DECISIÓN DOBLE
DIAGRAMA DE FLUJO
Punto de entrada
V F
condición
Acción ó Acción ó
Acciones Acciones
Punto de salida
DIAGRAMA N‐S
condición
V F
Acción ó
Acciones
Acción ó Acción ó
Acciones Acciones
Estructura Condicional‐EJEMPLO 1: Diseñar un algoritmo para
calcular el área y el perímetro de un rectángulo.
PASO 1: Definición del problema (es el enunciado)
PASO 2: Análisis del problema
Para desarrollar este problema es necesario conocer las
fórmulas para obtener tanto el área como el perímetro de un
rectángulo. Sea b = base, h = altura, a=área y p=perímetro, las
fórmulas a utilizar son:
a = b * h y p = 2 * (b + h)
Pero si los datos de base (b) y altura(h) son cero o negativo no
tendría sentido el rectángulo por lo que los datos son
inválidos.
Datos de entrada: b y h (base y altura)
Datos de salida: a y p
Procesos: a = b * h y p = 2 * (b + h)
PASO 3: Diseño de la solución o del Algoritmo ‐
PSEUDOCODIGO
Inicio
Entero b, h, a, p
Leer b, h
//Estructura Condicional Doble
SI (b>0 Y h>0) ENTONCES
a=b*h
p = 2 *(b + h)
Escribir “Area:", a
Escribir “Perímetro:", p
SINO
Escribir “Datos inválidos!!!"
FIN SI
Fin
PASO 3: Diseño de la solución o del Algoritmo ‐ DF
INICIO
Entero b, h, a, p
Leer b, h
Punto de entrada
V b>0 y F
h>0
a=b*h
Escribir
p=2*(b+h) “Datos inválidos!!!“
Escribir
“Area: “, a
“Perimetro: “, p
Punto de salida
FIN
No de b h b>0 y h>0 a p Pantalla
ejecuciones
1. 10 3 V 30 26 Area: 30
Perímetro: 26
2. 5 7 V 35 24 Area: 35
Perímetro: 24
3. 1 0 F ‐ ‐ Datos
inválidos!!!
4. ‐5 2 F ‐ ‐ Datos
inválidos!!!
5. ‐20 ‐5 F ‐ ‐ Datos
inválidos!!!
PASO 3: Diseño de la solución o del Algoritmo –
DIAGRAMA N‐S
IInicio
Entero b, h, a, p
Leer b, h
V b>0 y h>0 F
a = b*h
Escribir “Perímetro= “, p
Fin
NOTA: EN PSEUDOCODIGO Y
CODIFICACION POSTERIOR
• ESTRUCTURA DE DECISIÓN SIMPLE: Al cumplirse la condición
entonces si se van a ejecutar dos o varias acciones es
necesario colocar FIN ENTONCES, si sólo hay una acción es
OPCIONAL
SI (condición) ENTONCES
acción 1 SI (condición) ENTONCES
acción 2 acción 1
: FIN ENTONCES
acción n FIN SI
FIN ENTONCES
FIN SI
OPCIONAL
NOTA: EN PSEUDOCODIGO Y
CODIFICACION POSTERIOR
• ESTRUCTURA DE DECISIÓN DOBLE: IDEM al caso anterior si la
condición es Verdadera. Si el resultado de la evaluación de la
condición es FALSO y hay 2 o más acciones por ejecutar es
necesario colocar FIN SINO.
SI (condición) ENTONCES
acción 1
acción 2 SI (condición) ENTONCES
: acción 1
acción n FIN ENTONCES
FIN ENTONCES SINO
SINO acción 1
acción 1
FIN SINO
acción 2
FIN SI
:
acción n
FIN SINO
FIN SI OPCIONAL
Recapitulando los tipos de ESTRUCTURA DE
DECISIÓN, SELECCION O CONDICIONAL
B3. ESTRUCTURA DE DECISIÓN
ANIDADA
• Las estructuras condicionales pueden
anidarse, lo que significa que una estructura
selectiva puede contener a su vez otra
estructura selectiva, dentro de cualquiera de
las secciones de una estructura condicional,
sea simple o doble, puede incluirse otra
estructura condicional que a su vez puede ser
simple o doble y puede contener también
dentro de ella, otras estructuras condicionales
o selectivas.
SI (condición) ENTONCES
Acción ó
Acciones
PSEUDOCODIGO
FIN ENT
SINO
SI (condición) ENTONCES
Acción ó
Acciones
FIN ENT
SINO
Acción ó
Acciones
FIN SINO
FIN SI
FIN SINO
FIN SI
SI (condición) ENTONCES
SI (condición) ENTONCES
Acción ó PSEUDOCODIGO
Acciones
FIN ENT
SINO
Acción ó
Acciones
FIN SINO
FIN SI
FIN ENT
SINO
Acción ó
Acciones
FIN SINO
FIN SI
DIAGRAMA DE FLUJO
Punto de entrada
V F
condición
V F
Acción ó condición
Acciones
Acción ó Acción ó
Acciones Acciones
Punto de salida
DIAGRAMA DE FLUJO
Punto de entrada
V F
condición
V condición
F Acción ó
Acciones
Acción ó Acción ó
Acciones Acciones
Punto de salida
DIAGRAMA N‐S
condición
Acción ó
V F
Acciones
C
condición
Acción ó V F
Acciones
Acción ó Acción ó
Acciones Acciones
DIAGRAMA N‐S
condición
Acción ó
V F
Acciones
C C
condición condición
V F V F
Punto de entrada
Punto de salida
DIAGRAMA N‐S
variable selector
Acción Acciones
1. 10 5 + 15 Resultado = 15
2. 0 ‐2 ‐ 2 Resultado = 2
3. 0 0 * 0 Resultado = 0