Está en la página 1de 39

ALGORITMOS

PARTE II

Recordando
para
RESOLVER
UN
PROBLEMA consideramos los siguientes
pasos:

PRUEBA DE ESCRITORIO

ANALISIS DEL
PROBLEMA
Leer y comprender el
problema que se
plantea.
Definir los datos de
entrada.
Informacin requerida
de salida
Mtodos y frmulas
para procesar los
datos

DISEO DEL
ALGORITMO
Secuencia ordenada de pasos o
instrucciones claras y finitas.
Representacin de algoritmos:
Diagramas de Flujo
Pseudocdigo
Diagramas NS
Se implementan la:
Estructura Secuencial
Estructura Condicional
Estructura Repetitiva

P
R
PU
E
B
A
D
E

E
S
C
R
I
T
O
R
I
O

PRUEBA DE ESCRITORIO
Para cerciorarnos de que el diagrama (y/o el pseudocdigo)
est bien, y, para garantizar que el programa que
codifiquemos luego tambin 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 anlisis 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 excepcin o no
esperados, para asegurarnos de que el programa no producir
errores en ejecucin cuando se presenten estos casos.

TABLA DE VARIABLESPRUEBA DE
ESCRITORIO
Inicio
Entero b, h, a, p
Leer b, h
a=b*h
p = 2 *(b + h)
Escribir Area:", a
Escribir Permetro:", p
Fin

10

Pantalla

3
30
26
Area: 30
Permetro: 26

Resumiendo la Tabla de Variables


para varias ejecuciones
No de
ejecuciones

Pantalla

1.

10

30

26

Area: 30
Permetro: 26

2.

35

24

Area: 35
Permetro: 24

3.

Area: 0
Permetro: 2

4.

10

Area: 10
Permetro: 6

5.

20

100

50

Area: 100
Permetro: 50

Son correctas las salidas de las ejecuciones 4 y 5?

B. ESTRUCTURA CONDICIONAL O DE
DECISION O SELECTIVA
Permiten que el algoritmo tome decisiones y ejecute u
omita algunos procesos dependiendo del cumplimiento
de una condicin.
Se pueden manejar tres tipos de decisiones: simple,
doble, anidadas y mltiple.

B1. ESTRUCTURA DE DECISIN SIMPLE


Una decisin es simple, cuando solo se tiene determinado
los pasos (acciones) a seguir si el resultado de la condicin
(evaluacin de una expresin lgica) es verdadero,
mientras que si es falso, la ejecucin del algoritmo
contina despus de la estructura condicional.
La representacin en Pseudocdigo, Diagrama de Flujo y
Diagrama NS se presenta a continuacin:

PSEUDOCODIGO
SI (condicin) ENTONCES
Accin
Acciones
FIN SI

DIAGRAMA DE FLUJO
Punto de entrada

condicin

Accin
Acciones

Punto de salida

DIAGRAMA NS

V
Accin
Acciones

condicin

Estructura CondicionalEJEMPLO 1: Disear un algoritmo para


calcular el rea y el permetro de un rectngulo.
PASO 1: Definicin del problema (es el enunciado)
PASO 2: Anlisis del problema
Para desarrollar este problema es necesario conocer
frmulas para obtener tanto el rea como el permetro de
rectngulo. Sea b = base, h = altura, a=rea y p=permetro,
frmulas 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
tendra sentido el rectngulo.
Datos de entrada: b y h (base y altura)
Datos de salida: a y p
Procesos: a = b * h y p = 2 * (b + h)

las
un
las

no

PASO 3: Diseo de la solucin o del Algoritmo


PSEUDOCODIGO
Inicio
Entero b, h, a, p
Leer b, h
//Estructura Condicional Simple
SI (b>0 Y h>0) ENTONCES
a=b*h
p = 2 *(b + h) Escribir
Area:", a Escribir
Permetro:", p
FIN SI
Fin

PASO 3: Diseo de la solucin o del Algoritmo DF


INICIO
Entero b, h, a, p
Leer b, h
V

b>0 y
h>0

Punto de entrada

a=b*h
p=2*(b+h)
Escribir
Area: , a
Perimetro: , p

Punto de salida
FIN

No de
ejecuciones

b>0 y h>0

Pantalla

1.

10

30

26

Area: 30
Permetro: 26

2.

35

24

Area: 35
Permetro: 24

3.

4.

5.

20

PASO 3: Diseo de la solucin o del Algoritmo


DIAGRAMA NS
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 Permetro= , p
Fin

B2. ESTRUCTURA DE DECISIN DOBLE


Una decisin es doble cuando se tiene un
curso de accin para el caso que el resultado
de la comparacin sea verdadero y otro para
cuando sea falso.

SI (condicin) ENTONCES
Accin
Acciones
SINO
Accin
Acciones
FIN SI

PSEUDOCODIGO

DIAGRAMA DE FLUJO
Punto de entrada

Accin
Acciones

condicin

Accin
Acciones

Punto de salida

DIAGRAMA NS

condicin

Accin
Acciones

Accin
Acciones

Accin
Acciones

Estructura CondicionalEJEMPLO 1: Disear un algoritmo para


calcular el rea y el permetro de un rectngulo.
PASO 1: Definicin del problema (es el enunciado)
PASO 2: Anlisis del problema
Para desarrollar este problema es necesario conocer las
frmulas para obtener tanto el rea como el permetro de un
rectngulo. Sea b = base, h = altura, a=rea y p=permetro, las
frmulas 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
tendra sentido el rectngulo por lo que los datos son
invlidos.
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: Diseo de la solucin 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 Permetro:", p
SINO
Escribir Datos invlidos!!!"
FIN SI
Fin

PASO 3: Diseo de la solucin o del Algoritmo DF


INICIpO
Entero b, h, a, p
Leer b, h
V

b>0 y
h>0

Punto de entrada

a=b*h
Escribir

p=2*(b+h)

Datos invlidos!!!

Escribir
Area: , a
Perimetro: , p

Punto de salida
FIN

No de
ejecuciones

b>0 y h>0

Pantalla

1.

10

30

26

Area: 30
Permetro: 26

2.

35

24

Area: 35
Permetro: 24

3.

Datos
invlidos!!!

4.

Datos
invlidos!!!

5.

20

Datos
invlidos!!!

PASO 3: Diseo de la solucin o del Algoritmo


DIAGRAMA NS
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 Permetro= , p
Fin

Escribir Datos invli


dos!!!

NOTA: EN PSEUDOCODIGO Y
CODIFICACION POSTERIOR
ESTRUCTURA DE DECISIN SIMPLE: Al cumplirse la condicin
entonces si se van a ejecutar dos o varias acciones es
necesario colocar FIN ENTONCES, si slo hay una accin es
OPCIONAL

SI (condicin) ENTONCES
accin 1
accin 2
:
accin n
FIN ENTONCES
FIN SI

SI (condicin) ENTONCES
accin 1
FIN ENTONCES
FIN SI

OPCIONAL

NOTA: EN PSEUDOCODIGO Y
CODIFICACION POSTERIOR
ESTRUCTURA DE DECISIN DOBLE: IDEM al caso anterior si la
condicin es Verdadera. Si el resultado de la evaluacin de la
condicin es FALSO y hay 2 o ms acciones por ejecutar es
necesario colocar FIN SINO.
SI (condicin) ENTONCES
accin 1
accin 2
:
accin n
FIN ENTONCES
SINO
accin 1
accin 2
:
accin n
FIN SINO
FIN SI

SI (condicin) ENTONCES
accin 1
FIN ENTONCES
SINO
accin 1
FIN SINO
FIN SI

OPCIONAL

Recapitulando los tipos de ESTRUCTURA DE


DECISIN, SELECCION O CONDICIONAL

B3. ESTRUCTURA DE DECISIN


ANIDADA
condicionales pueden
Las estructuras
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 tambin
dentro de ella, otras estructuras condicionales
o selectivas.

SI (condicin) ENTONCES
Accin
Acciones
FIN ENT
SINO
SI (condicin) ENTONCES
Accin
Acciones
FIN ENT
SINO
Accin
Acciones
FIN SINO
FIN SI
FIN SINO
FIN SI

PSEUDOCODIGO

SI (condicin) ENTONCES
SI (condicin) ENTONCES
Accin
Acciones
FIN ENT
SINO
Accin
Acciones
FIN SINO
FIN SI
FIN ENT
SINO
Accin
Acciones
FIN SINO
FIN SI

PSEUDOCODIGO

DIAGRAMA DE FLUJO
Punto de entrada

Accin
Acciones

condicin

Accin
Acciones

condicin

Accin
Acciones

Punto de salida

DIAGRAMA DE FLUJO
Punto de entrada

Accin
Acciones

condicin

condicin

Accin
Acciones

Accin
Acciones

Punto de salida

DIAGRAMA NS

Accin
Acciones

condicin

F
C

Accin
Acciones

V
Accin
Acciones

condicin

Accin
Acciones

DIAGRAMA NS

V
C

V
Accin
Acciones

F
C

Accin
Acciones

condicin

condicin
F
Accin
Acciones

V
Accin
Acciones

condicin

Accin
Acciones

B4. ESTRUCTURA DE DECISIN


MULTIPLE
A veces es necesario que existan ms de dos
elecciones posibles Este problema se podra
resolver por estructuras selectivas simples o
dobles que estuvieran anidadas; sin embargo por
este mtodo si el nmero de alternativas es grande
puede plantear serios problemas de escritura del
algoritmo y naturalmente de legibilidad.
La estructura de decisin mltiple evala una
expresin que pueda tomar n valores (enteros,
caracteres y lgicos pero nunca reales) y ejecuta
una accin o grupo de acciones diferente en funcin
del valor tomado por la expresin selectora.

PSEUDOCODIGO
SEGUN (variable selector)
INICIO
CASO valor 1: Accin Acciones 1
CASO valor 2: Accin Acciones 2
CASO valor 3: Accin Acciones 3

CASO valor n: Accin Acciones n


CASO CONTRARIO Accin Acciones
FIN SEGUN

DIAGRAMA DE FLUJO
Punto de entrada

valor 1
valor 2

variable
selector

otros valores
valor n

valor 3
Accin
Acciones 1

Accin
Acciones 2

Accin
Acciones 3

Accin
Acciones n

Accin
Acciones

Punto de salida

DIAGRAMA NS

variable selector
valor 1

valor 2

valor 3

valor n

otros valor es

Accin Acciones

Accin
Accin
Accin
Acciones 1 Acciones 2 Acciones 3

Accin
Acciones n

Accin
Acciones

Estructura CondicionalEJEMPLO 1: Disear un algoritmo que


permita realizar y mostrar el resultado de la suma (+), resta(),
multiplicacin(*) o divisin(/) de dos nmeros segn sea el
operador aritmtico ingresado.
PASO 1: Definicin del problema (es el enunciado)
PASO 2: Anlisis del problema
Datos de entrada: num1(numero 1) y num2 (numero 2)
Procesos:
Segn sea op (operador aritmtico)
Caso + : res = num1+num2
Caso : res = num1num2
Caso * : res = num1*num2
Caso / : res = num1/num2
Datos de salida: res (resultado)

PASO 3: Diseo de la solucin o del Algoritmo PSEUDOCODIGO


Inicio
Real n1, n2, res
Carcter op
Leer n1, n2
Escribir Ingrese op. aritmetico:
Leer op

//Estructura de Seleccin Mltiple


SEGUN (op)
INICIO
CASO +: res=n1+n2
CASO : res=n1n2
CASO *: res=n1*n2
CASO /: res=n1/n2
FIN SEGUN
Escribir Resultado =
Fin

No de
ejecuciones

n1

n2

op

res

Pantalla

1.

10

15

Resultado = 15

2.

Resultado = 2

3.

Resultado = 0

4.

15

10

1.5

Resultado = 1.5

5.

20

25

Resultado = 25

También podría gustarte