Vous êtes sur la page 1sur 26

Informtica. GITI. Tema 3.

DISA.US
70

Cuerpo del bucle


Proceso 1

Proceso 2

Estructuras de control

SI NO
Condicin?
NO
Condicin?

SI

Opcin 1 Opcin 2 SI NO
Condicin?

Cuerpo del bucle

Secuencial Selectiva Iterativa I


(salida en cola)
Iterativa II
(salida en cabeza)
Informtica. GITI. Tema 3.
DISA.US
1
Estructura secuencial: Ejemplo 1

Objeto Nombre Valor Tipo


Dato
entrada
a Variable Real
Dato
entrada
b Variable Real
Resultado,
la suma
r Variable Real

Problema: leer dos nmeros reales


y escribir la suma.

Diagrama de Flujo y Tabla de Objetos:

Inicio

Leer a

Leer a, b

Leer b

r a+b

Escribir r

Fin
Estructura secuencial: Ejemplo 2
DISA.US

Objeto Nombre Valor Tipo


Dato
entrada
x Variable Real
Dato
entrada
y Variable Real
Dos 2 Constante Entera
Resultado,
la media
aritmtica
r Variable Real

Problema: leer dos nmeros


reales y escribir la media
aritmtica.

Diagrama de Flujo y Tabla de Objetos:


Inicio

Leer x

Leer y

r (x y) / 2

Escribir r

Informtica. GITI. Tema 3.


Fin
72

Estructura condicional: Ejemplo 1
Informtica. GITI. Tema 3.
DISA.US
73

Objeto Nombre Valor Tipo


Dato
entrada
x Variable Entera
Cero 0 Constant
e
Entera
Resultado,
valor
absoluto
r Variable Entera

Problema: Hallar el valor absoluto de un


nmero x.
Diagrama de Flujo y Tabla de Objetos:

Inicio

SI NO
x>=0?

rx r x

Fin
Informtica. GITI. Tema 3.
DISA.US
74
Estructura condicional: Ejemplo 2

Problema: Leer un nmero real del teclado. Calcular el valor de q,


sabiendo que si el valor ledo se encuentra en el intervalo (0,10], el
resultado q toma el valor de uno, en caso contrario toma el valor de
cero. Escribir el resultado.
Informtica. GITI. Tema 3.
DISA.US
75
Estructura condicional: Ejemplo 2

Objeto Nombre Valor Tipo


Dato
entrada
x Variable Real
Cero 0 Constante Entera
Uno 1 Constante Entera
Diez 10 Constante Entera
Resultado q Variable Entera

Diagrama de Flujo y Tabla de Objetos:

Inicio

Leer x

SI
x>0 y
NO
x<=10?

q 1 q 0

Escribir q

Estructura iterativa salida encola: Leer tres


nmeros reales y escribirlos
Informtica. GITI. Tema 3.
DISA.US
76
Fin

Objeto Nombre Valor Tipo


Dato x Variable Real
Uno 1 Constante Entera
Tres 3 Constante Entera
Contador
i Variable Entera
Inicio

i 1

Leer x

Escribir x

i i 1

SI
i<=3?

NO
Estructura iterativa salida encola: Leer tres
nmeros reales y escribirlos
Informtica. GITI. Tema 3.
DISA.US
77

Cuerpo del bucle



i i 1

Inicio

i 1

Leer x

Escribir x
Cuerpo del
bucle

SI NO
Condicin?

SI
i<=3?

NO
Condicin de
salida o parada

Fin

N
Estructura iterativa salida en cabeza: Leer
tres nmeros reales y escribirlos

Inicio

i 1

NO
i<=3?

Condicin de
salida o parada Condicin?

SI
SI

Leer x

Escribir x

Cuerpo del
bucle

Cuerpo del bucle

i i 1

Fin
Informtica. GITI. Tema 3. 78
DISA.US
DISA.US

Cuerpo del bucle



PROGRAMACIN NO ESTRUCTURADA:
Leer tres nmeros reales y escribirlos

Inicio

i 1
NO
Condicin?

Leer x
SI

Cuerpo del bucle

NO
i<=3?

SI

Escribir x

i i 1
SI NO
Condicin?

Fin

Informtica. GI
N
TI
o
. T
s
e
e
ma
us
3
a
.

n ninguna de estas estructu


7
r
9
as
Estructuras decontrol anidadas
Informtica. GITI. Tema 3.
DISA.US
80

Las estructuras de control se pueden


anidar
Dentro de una estructura selectiva puede
haber otra estructura del mismo tipo o una
estructura iterativa.
En el cuerpo del bucle de una estructura
iterativa puede haber otra estructura
condicional o iterativa (bucles anidados).
Estructuras decontrol anidadas
DISA.US

Disear un algoritmo para calcular y


escribir el cuadrante al que pertenece
un punto del plano cuyas coordenadas
(x, y) se proporcionan. El resultado ha
de ser un nmero entero r de 1 a 4

Informtica. GITI. Tema 3. 81


Estructuras decontrol anidadas
DISA.US

Inicio

Leer x, y

SI NO
x>0?

SI
NO
y>0?

SI NO
y>0?

r 1 r 4 r 2 r 3

Escribir r

Informtica
F
.
in
GITI. Tema 3. 82
Estructuras decontrol anidadas
Informtica. GITI. Tema 3.
DISA.US
83

Objeto Nombre Valor Tipo


Dato x Variable Real
Dato y Variable Real
Cero 0 Constante Entera
Uno 1 Constante Entera
Dos 2 Constante Entera
Tres 3 Constante Entera
Cuatro 4 Constante Entera
Resultado r Variable Real

Inicio

Leer x, y

SI NO
x>0?

Estructuras decontrol anidadas


Informtica. GITI. Tema 3.
DISA.US
84

SI
NO
y>0?

SI NO
y>0?

r 1 r 4 r 2 r 3

Escribir r

Fin
Informtica. GITI. Tema 3.
DISA.US
85
7. Traza o tabla de ejecucin

La traza de un algoritmo permite seguir el valor de las


diferentes variables a medida que el algoritmo se va
implementando
La traza de un algoritmo normalizado la realizaremos en
una tabla:
1 Columna sentencia/condicin evaluada
Una columna por cada variable del algoritmo
Cada fila muestra el valor de cada variable al
terminar de evaluarse la correspondiente
sentencia/condicin
Se utiliza una fila por cada paso del algoritmo
Al ejecutarse la sentencia de Inicio el valor de
todas las variables es desconocido
Al ejecutarse la sentencia Fin el algoritmo termina
Informtica. GITI. Tema 3.
DISA.US
86
7. Traza o tabla de ejecucin

La traza permite comprobar si un algoritmo funciona


correctamente
Slo es til para analizar algoritmos sencillos
Con algoritmos ms complejos, utilizaremos mtodos
basados en la traza pero ms eficientes (ej.herramienta
Debug)

La traza de un algoritmo depende de los datos de entrada


Para diferentes datos ledos de teclado, se obtienen
diferentes trazas
Para analizar si un algoritmo funciona correctamente
hay que probar todos los posibles casos de entradas
Informtica. GITI. Tema 3.
DISA.US
87
7. Traza o tabla de ejecucin

El nmero de sentencias/condiciones
evaluadas por un algoritmo es variables y
desconocido a priori
La dimensin de la traza depende de las
entradas
Al evaluar una condicin, es recomendable
marcar si la condicin era verdadera o falsa
Informtica. GITI. Tema 3.
DISA.US
87

Instruccin a b r
Inicio - - -
Leer a 5 - -
Leer b 5 3 -
r<-a+b 5 3 8
Escribir r 5 3 8
Fin 5 3 8
Problema I: Leer dos nmeros reales y escribir la suma.

Inicio

Leer a

Leer b

r a+b

Escribir r

Fin
Informtica. GITI. Tema 3.
DISA.US
88

Instruccin x r
Inicio - -
Leer x 10 -
x>=0? 10 10
Fin 10 10
Instruccin x r
Inicio - -
Leer x -20 -
x>=0? -20 20
Fin -20 20
Problema II: Hallar el valor absoluto de un
nmero x

Inicio

Leer x

SI
SI NO
x>=0?

r x

r x

Fin

NO
Problema III: Leer tres nmeros reales y
escribirlos

Instruccin i x
Inicio - -
i<-0 1 -
1. i<=3? 1 -
Leer x 1 3.5
Escribir x 1 3.5
i<-i+1 2 3.5
2. i<=3? 2 7.9
Leer x 2 7.9
Escribir x 2 7.9

Inicio

i 1

NO
i<=3?
SI

SI

Leer x

Escribir x

SI
i i 1

Fin
89
Problema III: Leer tres nmeros reales y
escribirlos
DISA.US

Instruccin i x
i<-i+1 3 7.9
3. i<=3? 3 7.9
Leer x 3 2.1
Escribir x 3 2.1
i<-i+1 4 2.1
4. i<=3? 4 2.1
Fin 4 2.1

Inicio

i 1

SI
NO
i<=3?

SI

Leer x

Escribir x

NO
i i 1

Problema III: Leer tres nmeros reales y


escribirlos
DISA.US

Informtica. GITI. Tema 3.


Fin
90
DISA.US

Objeto Nombre Valor Tipo


Dato x Variable Entera
Cero 0 Constante Entera
|x| r Variable Entera
Resultado,
|x|
3

y Variable Entera

Problema IV: Leer un nmero entero x y


calcular y=|x|
3.
Escribir el resultado

Inicio

Leer x

SI NO
x>=0?

r x r x

y r *r *r

Escribir y

Informtica. GITI. Tema 3.


Fin
91
Problema IV
Instruccin
x r y
Inicio - - -
Leer x -3 - -
x>=0? -3 - -
r <- -x -3 3 -
y <- r*r*r -3 3 27
Escribir y -3 3 27
Fin -3 3 27

Nmero ledo por teclado -3

Inicio

Leer x

SI

NO
r x

x>=0?
NO

r x

y r *r *r

Escribir y

92
Fin
Problema IV
Instruccin
x r y
Inicio - - -
Leer x 2 - -
x>=0? 2 - -
r <- x 2 2 -
y <- r*r*r 2 2 8
Escribir y 2 2 8
Fin 2 2 8

Nmero ledo por teclado 2

Inicio

Leer x

SI NO
x>=0?

SI r x r x

y r *r *r

Escribir y

Fin
93

Vous aimerez peut-être aussi