Control de ujo curso 2017-2018 - Academia Cartagena99ujo secuencial Estructuras de alteraci on de...
Transcript of Control de ujo curso 2017-2018 - Academia Cartagena99ujo secuencial Estructuras de alteraci on de...
Introduccion Estructura Condicional
InformaticaControl de flujo
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial
curso 2017-2018
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 1/33
Introduccion Estructura Condicional
Indice
1 Introduccion
2 Estructura Condicional
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 2/33
Introduccion Estructura Condicional
Indice
1 Introduccion
2 Estructura Condicional
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 3/33
Introduccion Estructura Condicional
Estructura de un programa
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 4/33
Introduccion Estructura Condicional
Flujo secuencial
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 5/33
Introduccion Estructura Condicional
Alteracion del flujo secuencial
Estructuras de alteracion de flujo
Estructura condicionalUna estructura condicional es aquella que ejecuta unconjunto u otro de sentencias, dependiendo de si secumple o no una determinada condicion.
Estructura iterativaUna estructura iterativa (bucle) es aquella que ejecutarepetidas veces un conjunto de sentencias (rango delbucle).
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 6/33
Introduccion Estructura Condicional
Indice
1 Introduccion
2 Estructura Condicional
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 7/33
Introduccion Estructura Condicional
Alteracion del flujo secuencial
Estructuras de alteracion de flujo
Estructura condicionalUna estructura condicional es aquella que ejecuta unconjunto u otro de sentencias, dependiendo de si secumple o no una determinada condicion.
Existen tres tipos de estructuras condicionales:
simplesdoblesmultiples
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 8/33
Introduccion Estructura Condicional
Estructura condicional
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 9/33
Introduccion Estructura Condicional
Estructura condicional simple
Estructura condicional simple
Evalua una unica condicion dada por una expresion logicaescalar.
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 10/33
Introduccion Estructura Condicional
Estructura condicional simple
Estructura condicional simple
Evalua una unica condicion dada por una expresion logicaescalar.
sentencia nqqq
sentencia 1
?
���
@@@
@@@
���
logicaexpr.
?
?
?
?
.true. .false.
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 11/33
Introduccion Estructura Condicional
Estructura condicional simple
Estructura condicional simple
Evalua una unica condicion dada por una expresion logicaescalar.
if (expr. logica) then
sentencia 1qqqsentencia n
end if
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 12/33
Introduccion Estructura Condicional
Estructura condicional simple
Ejemplo 1
Escribir un programa que, dadas las variables x e y , tras laejecucion, x tenga el valor maximo de los dos e y el mınimo.
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 13/33
Introduccion Estructura Condicional
Estructura condicional simple
Estructura condicional simple
Si solo hay una sentencia de ejecucion dentro de laestructura, el lenguaje permite la siguiente variacion
if (expr. logica) sentencia
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 14/33
Introduccion Estructura Condicional
Estructura condicional simple
Ejemplo 2
Escribir un programa que calcule y escriba por pantalla el valorabsoluto de un numero real.
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 15/33
Introduccion Estructura Condicional
Estructura condicional doble
Estructura condicional doble
Evalua una unica condicion dada por una expresion logicaescalar.
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 16/33
Introduccion Estructura Condicional
Estructura condicional doble
Estructura condicional doble
Evalua una unica condicion dada por una expresion logicaescalar.
sentencia1 nqqq
sentencia1 1
?
���
@@@
@@@
���
logicaexpr.
?
??
?
?
sentencia2 nqqq
sentencia2 1
.true. .false.
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 17/33
Introduccion Estructura Condicional
Estructura condicional doble
Estructura condicional doble
Evalua una unica condicion dada por una expresion logicaescalar.
if (expr. logica) then
sentencia1 1qqsentencia1 n
else
sentencia2 1qqsentencia2 n
end if
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 18/33
Introduccion Estructura Condicional
Estructura condicional doble
Ejemplo 3
Escribir un programa que, dado un numero real x , calcule√x . En
el caso en que no sea posible, que lo indique por pantalla.
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 19/33
Introduccion Estructura Condicional
Estructura condicional multiple
Estructura condicional multiple
Construccion if
Se evaluan diversas codiciones, todas ellas dadas por unaexpresion logica escalar
Construccion select
Se evalua el valor de un dato simple de tipo integer,character o logical
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 20/33
Introduccion Estructura Condicional
Estructura condicional multiple
����
@@@@
@@@@
����
expr.logica 1
sent1 nppsent1 1
sent2 nppsent2 1
sent3 nppsent3 1
����
@@@@
@@@@
����
expr.logica 2
? ?
? ?
? ? ??
.true. .false.
.true. .false.
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 21/33
Introduccion Estructura Condicional
Estructura condicional multiple
if (expr. logica 1) thensentencia1 1qqsentencia1 n
else if (expr. logica 2) thensentencia2 1qqsentencia2 nqq
[elsesentenciaN 1qqsentenciaN n]
end if
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 22/33
Introduccion Estructura Condicional
Estructura condicional multiple
Ejemplo 4
Escribir un programa que calcule las raıces de:
ax2 + 2bx + c = 0
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 23/33
Introduccion Estructura Condicional
Estructura condicional multiple
Ejemplo 04
Escribir un programa que calcule las raıces de:
ax2 + 2bx + c = 0
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 24/33
Introduccion Estructura Condicional
Estructura condicional anidada
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 25/33
Introduccion Estructura Condicional
Estructuras condicionales anidadas
if (expr. logica 1) thenif (expr. logica 1.1) then
sentencia 1.1 1qqsentencia 1.1 n
elsesentencia 1.2 1qqsentencia 1.2 n
end ifelse if (expr. logica 2) then
sentencia2 1qqsentencia2 n]
end ifDpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 26/33
Introduccion Estructura Condicional
Estructuras condicionales anidadas
Ejemplo 4
Escribir un programa que calcule las raıces de:
ax2 + 2bx + c = 0
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 27/33
Introduccion Estructura Condicional
Estructura condicional multiple
Estructura condicional multiple
Construccion if
Se evaluan diversas codiciones, todas ellas dadas por unaexpresion logica escalar
Construccion select
Se evalua el valor de un dato simple de tipo integer,character o logical
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 28/33
Introduccion Estructura Condicional
Estructura condicional multiple
sent1 n
qqsent1 1
sent2 n
qqsent2 1
sentN n
qqsentN 1
��
@@
@@
��
expr.
?? ? ?
? ? ?
?
#1 #2 #N
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 29/33
Introduccion Estructura Condicional
Estructura condicional multiple
select case (expr. case)case (rango de valores #1)
sentencia1 1qqsentencia1 n
case (rango de valores #2)sentencia2 1qqsentencia2 nqq
[case defaultsentenciaN 1qqsentenciaN n]
end select
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 30/33
Introduccion Estructura Condicional
Estructura condicional multiple
Construccion select
expr. case es una expresion escalar de tipo integer,character o logical
Un dato simple: i
Una expresion aritmetica: i*j+2
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 31/33
Introduccion Estructura Condicional
Estructura condicional multiple
Construccion select
rango de valores puede tomar un unico valor, variosvalores o un rango de valores
dato expr = datodato 1, dato 2, . . . , dato n expr = dato 1 o
dato 2 o...
dato ndato 1 : dato 2 dato 1 ≤ expr ≤ dato 2: dato 2 expr ≤ dato 2dato 1 : dato 1 ≤ expr
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 32/33
Introduccion Estructura Condicional
Estructura condicional mutiple
Dpto. Matematica Aplicada a la Ingenierıa Aeroespacial — Informatica 33/33