Você está na página 1de 45

FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III

____________________________________________________________________________________________________
UNIDAD III
ESTRUCTURA DE FLUJO PROGRAMATICO
3.1. ESTRUCTURA DE DECISION
3.1.1. SIMPLE
Un diagrama de flujo representa la esquematizacin grafica de un algoritmo. En
realidad muestra grficamente los pasos o procesos a seguir para alcanzar la solucin de
un problema. Su correcta construccin es sumamente importante porque, a partir del
mismo escribe un programa en algn lenguaje de programacin. Si el diagrama de flujo
esta completo y correcta, el paso del mismo a un lenguaje de programacin es
relativamente simple y directo.
continuacin presento los s!mbolos que utilizaremos, y una e"plicacin de los
mismos, Estos satisfacen las recomendaciones de la #nternational Standard $rganization
%#S$& y la merican Standard #nstitute %'S#&.
(as estructuras lgicas selectivas se encuentran en la solucin algor!tmica de casi
todo tipo de problemas. (a utilizamos cundo el desarrollo de la solucin de un problema
debemos tomar una decisin, para establecer un proceso o se)alar un camino alternativo a
seguir.
Esta toma de decisin %e"presada con un rombo& se basa en la evaluacin de una o
ms condiciones que nos se)alaran como alternativa o consecuencia, la rama a seguir.
*ay situaciones en las que la toma de decisiones se realiza en cascada. Es decir se
toma una decisin, se marca la rama correspondiente a seguir, se vuelve a tomar otra
decisin y as! sucesivamente. +or lo que para alcanzar la solucin de este problema o
subproblema debemos aplicar prcticamente un rbol de decisin.
(as estructuras algor!tmicas selectivas que se utilizan para la toma de decisiones
lgicas las podemos clasificar de la siguiente forma,
-. S# E'.$'/ES %Estructura selectiva simple&
0. S# E'.$'/ES 1 S#'$ %Estructura selectiva doble&
2. S# 34(.#+(E %Estructura selectiva mltiple&
/abe se)alar que cuando a las estructuras selectivas las aplicamos en cascada,
podemos utilizar una combinacin de las estructuras se)aladas anteriormente en la
clasificacin.
La Estructura Si Entonces
(a estructura selectiva S# E'.$'/ES permite que el flujo del diagrama siga por un
camino especifico si se cumple una condicin o conjunto de condiciones. S# al evaluar la
condicin %o condiciones& el resultado es verdadero, entonces se ejecutara%n& cierta%s&
operacin%es&. (uego se continua con la secuencia normal del diagrama.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO 30

oeraci!n
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
continuacion presentamos el diagrama de flijo, que ilustra selctiva si entobnces, en
lenguaje algoritmico.
.
.
.
SI con"icion ENTONCES
#acer oeracion
$ Fin "e% con"icona% &
.
.
.
E'e(%o 1
/onstruya un diagrama de flujo tal, que dado como dato la calificacin de un alumno
en un e"amen, escriba 5 aprobado6 en caso de que esa calificacin fuese mayor que 7.
8.$, /(
8$'8E, /( es una variable de tipo real, que e"presa la calificacin del alumno.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO 31
con"ici!
n

oeraci!n
si
no
8onde,
/$'8#/#$'.9 e"presa la
condicin o conjunto de
condiciones s evaluarse
$+E:/#;'.9 e"presa la
operacin o conjunto de
operaciones que se van a
realizar si la condicin resulta
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
E)%icaci!n De Las *aria+%es
/(, <ariable de tipo real. lmacena la calificacin del alumno.
continuacin en la siguiente tabla observamos ( +:UE= 8E ES/:#.$:#$
NUMERO
DE
CORRIDA
DATO
CAL RESULTADO
- 7.>? 5aprobado6
0 >.@A
2 7.AA
B @.?A 5aprobado6
? 7.2? 5aprobado6
Seu"oco"i,o
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO 32
INICIO
CAL
APROBADO
FIN
CAL >8
no
si
Estructura seecti!a
"I EN#ONCE"
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
E-AMEN.SELECTI*A.SIMPLE
$E% ro,ra(a/ "a"os co(o "ato %a ca%i0icaci!n "e un a%u(no en un e)a(en/
escri+e aro+a"o si %a ca%i0icaci!n es suerior a1&
$CAL son 2aria+%es "e tio rea%&
1. Leer CAL
3. SI CAL 4 1 ENTOCES
Escri+ir 5aro+a"o6
3. $ Fin "e% con"iciona% "e% aso3 &
E'e(%o 3
8ado como dato el sueldo de un trabajador, apl!quele un aumento del -?C si su
sueldo es inferior a D-AA. #mprima en este caso, el nuevo sueldo del trabajador. *aga
diagrama de flujo correspondiente.
8.$, SUE
8$'8E, SUE es una variable de tipo real, que e"presa el sueldo del trabajador.
E)%icaci!n De Las *aria+%es
SUE, <ariable de tipo real.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO 33
INICIO
"$E
APROBADO
FIN
"$E%1000
no
si
Estructura seecti!a
"I EN#ONCE"
A$&'"$E(01)
"$E'"$E*AL&
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
U3, <ariable de tipo real. lmacena el aumento del trabajador.
'SUE, <ariable de tipo real. lmacena el nuevo sueldo del trabajador.
continuacin en la siguiente tabla observamos ( +:UE= 8E ES/:#.$:#$
NUMERO
"e
CORRIDA
DATOS CALCULO
AUXILIAR
RESULTADOS
SUE AUM NSUE
- 7>?.?A -2-.20 -AAE.7
0
0 -2AA.A
A
2 0-?A.A
A
B @>E.AA -BE.BA --00.B
A
? >7?.AA -->.>? @A0.>?
Seu"oco"i,o
AUMENTO.SELECTI*A.SIMPLE
$E% ro,ra(a/ "a"os co(o "ato e% sue%"o "e un tra+a'a"or / %e a%ica un
au(ento "e% 178 si su sue%"o es in0erior a 91:::&
$SUE/ AUM/ NSUE son 2aria+%es "e tio rea%&
1. Leer SUE
3. SI SUE ; 1::: ENTOCES
#acer AUM SUE<:.17 = NSUE SUE >AUM
Escri+ir NSUE
3. $ Fin "e% con"iciona% "e% aso3 &
Pro,ra(a En C
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO 3+
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
Finclude Gstdio.HI
Finclude Gconio.HI
main% &J
K
float Sueldo, umento, Sueldo netoJ
printf%5/alcule el sueldo de un trabajador6&J
printf%5.eclea tu sueldo,6&J
scanf%5Cf6,LSueldo&J
if%Sueldo G-AAA&J
%Sueldo M A.-? N aumento&J
umento O Sueldo N Sueldo netoJ
printf%5Pn .u sueldo neto es,CB.0f6,Sueldo neto&J
getcH% &J
Q
3.1.2. RAMIFICADA
La Estructura Si Entonces ? Sino
(a estructura selectiva S# E'.$'/ES 1 S#'$ permite que el flujo del diagrama se
bifurque por dos ramas diferentes en el punto de la toma de decisin %es&. Si al evaluar la
condicin%es& el resultado es verdadero, entonces se sigue por el camino especifico y se
ejecuta%n& cierta%s& operacin%es&. +or otra parte, si el resultado es falso entonces se sigue
por otro camino y se ejecuta%n& otra%s& operacin%es& indicada%s&, se continua con la
secuencia normal del diagrama. continuacin presento el diagrama de flujo que ilustra la
estructura selectiva.
El diagrama de flujo en lenguaje algor!tmico, lo e"presamos de esta forma.
.
.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO 3)
con"ici!
n
Oeraci!n 1
si no
Oeraci!n 3
8onde,
/$'8#/#$'.9 e"presa la
condicin o conjunto de
condiciones s evaluarse
$+E:/#;'-.9 e"presa
la operacin o conjunto
de operaciones que se
van a realizar si la
condicin resulta
verdadera.
$+E:/#;'0.9 e"presa
la operacin o conjunto
de operaciones que se
van a realizar si la
condicin resulta falsa.
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
.
SI con"icion
ENTONCES
#acer oeraci!n 1
SINO
#acer oeracion 3
$ Fin "e% con"icona% &
.
.
.
E'e(%o 3
/onstruya un diagrama de flujo tal, que dado como dato la calificacin de un alumno
en un e"amen, escriba 5 aprobado6 en caso de que esa calificacin fuese mayor que 7 y
5reprobado6 en caso contrario.
8.$, /(
8$'8E, /( es una variable de tipo real, que e"presa la calificacin del alumno.
E)%icaci!n De Las *aria+%es
/(, <ariable de tipo real. lmacena la calificacin del alumno.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO 3,
INICIO
CAL
FIN
CAL >8
NO
"I
Estructura selectiva
S# E'.$'/ES 1 S#'$
A-ro.a/o Re-ro.a/o
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
continuacin en la siguiente tabla observamos ( +:UE= 8E ES/:#.$:#$
NUMERO
DE
CORRIDA
DATO
CAL RESULTADO
- 7.>? 5aprobado6
0 >.@A 5:eprobado6
2 7.AA 5:eprobado6
B @.?A 5aprobado6
? 7.2? 5aprobado6
E-AMEN.SELECTI*A.SIMPLE
$E% ro,ra(a/ "a"os co(o "ato %a ca%i0icaci!n "e un a%u(no en un e)a(en/
escri+e aro+a"o si %a ca%i0icaci!n es suerior a 1 = 5rero+a"o6 en caso
contrario&
$CAL son 2aria+%es "e tio rea%&
1. Leer CAL
3. SI CAL 4 1
ENTOCES
Escri+ir 5Aro+a"o6
SINO
Escri+ir 5Rero+a"o6
3. $ Fin "e% con"iciona% "e% aso3 &
Pro,ra(a En C.
F include Gstdio.HI
Finclude Gconio.HI
main% &
K
float /(J
clrscr% &J
printf%5+rograma que define si el alumno aprueba o reprueba6&J
printf%5.eclee su calificacin,6&J
scanf%5Cf6,L/(&J
if%cal I 7&
K
printf%5probado6&J
getcH% &J
Q
else
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO 30
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
Q
printf%5reprobado6&J
getcH% &J
Q
Q
E'e(%o @
8ado como dato el sueldo de un trabajador, apl!quele un aumento del -?C si su
sueldo es inferior a D-AAA y -0C en caso contrario. #mprima el sueldo del trabajador
8.$, SUE
8$'8E, SUE es una variable de tipo real, que e"presa el sueldo del trabajador.
E)%icaci!n De Las *aria+%es
SUE, <ariable de tipo real.
U3, <ariable de tipo real. lmacena el aumento del trabajador.
'SUE, <ariable de tipo real. lmacena el nuevo sueldo del trabajador.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO 38
INICIO
"$E
FIN
"$E %1000
NO
"I
Estructura seecti!a
"I EN#ONCE" 1 "INO
N"$E'"$E(121)
N"$E'"$E(1212
2
N"$E
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
continuacin en la siguiente tabla observamos ( +:UE= 8E ES/:#.$:#$
NUMERO
DE
CORRIDA
DATO
RESULTA
DO
SUE NSUE
- 7BA.?A @EE.?>
0 -0AA.AA -2BB.AA
2 -@?A.AA 0-7B.AA
B E7A.>
>70.7A
? @2A.7A
-A>A.B0
Seu"oco"i,o
AUMENTO.SELECTI*A.DOALE
$E% ro,ra(a/ "a"os co(o "ato e% sue%"o "e un tra+a'a"or / %e a%ica un
au(ento "e% 178 si su sue%"o es in0erior a 91::: = 138 en caso contrario&
$SUE/ AUM/ NSUE son 2aria+%es "e tio rea%&
1. Leer SUE
3. SI SUE ; 1:::
ENTOCES
#acer NSUE SUE < 1.17
SINO
#acer NSUE SUE < 1.13
3. $ Fin "e% con"iciona% "e% aso3 &
@. Escri+ir NSUE
E'ercicio.
:ealizar un diagrama de flujo para calcular el precio del billete del billete ida y vuelta del
ferrocarril conociendo la distancia del viaje de ida y el tiempo de estancia.
Se sabe adems que si el nmero de d!as de estancia es superior a > y la distancia total
%ida y vuelta& a recorrer es superior a 7AARm, el billete tiene una rebaja del 2AC el precio
del Rilmetro es de -> centavos.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO 33
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
8atos,
:ec-, :ec0, 8!asJ
8onde,
:ec-. Es de tipo real y representa la distancia de ida.
:ec0. es de tipo real y representa la distancia de vuelta.
8!as. Es de tipo entero y representa la estancia.
Dia,ra(a "e F%u'oB
S# '$
Prue+a "e EscritorioB
NUMERO DE
CORRIDA
DATOS
Rec1 Rec3 RECT
DCas
RESULTADO
- BAA 7AA -0AA 2 0AB
0 2?A 0AA ??A ? @2.?
2 >AA -2? 72? 7 @@.2E?
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO +0
REC#> 800 AND >
0
CO"#O ' REC# ( 0210 ( 020 CO"#O ' REC# ( 0210
INICI
O
Rec14 Rec24
D5as
REC# ' Rec1 * Rec2
FIN
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
B E2A ?A E7A -A --?.E
? 2-A 2A 2BA @ ?>.7
Pseu"oc!"i,o.
K8ados como datos las distancias de ida y vuelta y el tiempo de estancia dar el precio del
boleto. Si el recorrido es mayor a 7AARm y la estancia mayor a > d!as realizar un descuento
del 2ACQ
K:ec-, :ec0, :E/., d!as, /osto son variables de tipo realQ
-. (eer :ect-, :ect0, d!asJ
0. *acer :E/. N :ect- O :ect0
2. Si rect I 7AA and d!as I >
/osto N :E/. M A.->
B. KSin del programaQ
F include Gstdio.HI
F include Gconio.HI
main% &
K
float rect-, rect0, rectotal, costoJ
int d!asJ
clrscr% &J
goto"y%-,-&J
printf%5+rograma del <iaje6&J
goto"y%-A,?&J
printf%5.eclea rec-,6&J
scanf%5Cf6,Lrec-&J
goto"y%-A,>&J
printf%5.eclea rec0,6&J
scanf%5Cf6,Lrec0&J
goto"y%-A,@&J
printf%5.eclee los d!as de estancia,6&J
scanf%%5Cd6,Ld!as&J
goto"y%-A,--&J
rectotal N rect- O rect0J
Q
if %rectotal I 7AA LL d!as I >&
K
costo N rectotal M A.-> M A.>J
Q
else
K
costo N rectotal M A.->
printf%5El costo es,6&J
getcH % &J
Q
La Estructura Si MD%ti%e
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO +1
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
(a estructura selectiva S# 34(.#+(E que el flujo del diagrama se bifurque por varias
ramas de la toma de decisin%es&, esto en funcin del valor que tome el selector. as! si el
selector toma el <($: - se ejecutara la accin -,si se toma el <alor 0 se ejecutara la
accin 0, si toma el <($: ' se realizara la accin ' y si toma un valor distinto de los
valores comprendidos entre - y ', se continuara con el flujo normal del diagrama
realizndose la accin 'O-.
continuacin presento el diagrama de flujo que ilustra esta estructura selectiva.
<alor - valor 0 valor 2
8onde,
SE(E/.$:, Es la variable o e"presin a evaluarse, segn la cual se tomara una de las
5multiples6 de decisiones o aternativas.
//#$' -, E"presa la operacin o conjunto de operaciones que se van a realizar si el
selector toma el <($: -.
//#$' 0, E"presa la operacin o conjunto de operaciones que se van a realizar si el
selector toma el <($: 0.
//#$' 2, E"presa la operacin o conjunto de operaciones que se van a realizar si el
selector toma el <($: 2.
//#$' 'O-, E"presa la operacin o conjunto de operaciones que se van a realizar si el
selector toma el <($: 'O-.
El diagrama de flujo en lenguaje algoritmico lo e"presamos de esta forma.
.
.
Si se%ector i,ua%
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO +2
ACCION 1 ACCION 2 ACCION 3
ACCION N*1
"ELEC#OR
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
*a%or 1B #acer accion 1
*a%or 3B #acer accion 3
.
.
.
*a%or NB #acer accion N
$ Fin "e% con"iciona% "e% aso3 &
#acer accion N>1
.
.
.
(a estructura selectiva S# 34(.#+(E es muy fle"ible, lo que permite aplicarla de
diferentes formas. $bsTrvese los siguientes diagramas de flujo y las e"plicaciones
correspondientes.
continuacin presento el diagrama de flujo que ilustra esta estructura selectiva.
<alor - valor 0 valor 2 de otra forma
El diagrama de flujo en lenguaje algoritmico lo e"presamos de esta forma.
.
.
Si se%ector i,ua%
*a%or 1B #acer accion 1
*a%or 3B #acer accion 3
*a%or 3B #acer accion 3
De otra 0or(aB Eacer accion -
$ Fin "e% con"iciona% "e% aso3 &
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO +3
ACCION 1
ACCION 2
ACCION 6
ACCION 7
"ELEC#OR
ACCION 3
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
#acer accion F
.
.
continuacin presento el diagrama de flujo que ilustra esta estructura selectiva.
<alor -,0 valor 2,B,?, de otra forma
El diagrama de flujo en lenguaje algoritmico lo e"presamos de esta forma.
.
.
Si se%ector i,ua%
*a%or 1/3B #acer accion 1
*a%or 3/@/7/B #acer accion 3
. De otra 0or(aB #acer accion 3
.
$ Fin "e% con"iciona% "e% aso3 &
#acer accion -
.
continuacin presento algunos ejemplos donde el lector puede aplicar los
conceptos estudiados con la estructura selectiva S# 34(.#+(E.
EUE3+($.
/onstruya un diagrama de flujo tal, que dados como datos dos variables de tipo entero,
obtenga el resultado de la siguiente funcin,

-AA M < Si 'U3 N -
-AA MM < Si 'U3 N 0
<( N -AA 1 < Si 'U3 N 2
A +ara cualquier otro valor de 'U3
8atos,
'U3, <.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO ++
ACCION 1 ACCION 2 ACCION 3
ACCION 6
"ELEC#OR
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
8iagrama de Slujo,
E)%icaci!n De Las *aria+%es.
'U3, <ariable de tipo entero.
<, <ariable de tipo entero.
<(, <ariable de tipo real. lmacena el resultado de la funcin.
Prue+a De Escritorio.
NUMERO DE
CORRIDA
DATOS
NUM
*
RESULTADO
*AL
- - 7 7AA
0 > E A
2 2 B 0?
B B 7 A
? 0 2 -AAAAAA
Pseu"oc!"i,o.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO +)
INICI
O
N$&4 8
N$&
8AL ' 100( 8 8AL ' 100 (( 8 8AL ' 100 1 8 8AL ' 0
8AL
FIN
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
SU'/#;' V SE(E/.#< V 34(.#+(E.
KEl programa, dados como datos dos variables de tipo entero, calcula el resultado de una
funcinQ
K'U3 y < son variables de tipo entera. <( es una variable de tipo realQ
-. (eer 'U3 y <
0. Si 'U3 igual
0.- *acer <( -AA M <
0.0 *acer <( -AA M M <
0.2 *acer <( -AA 1 <
8e otra forma, *ecer <( A
2. KSin del condicional del paso 0Q
B. Escribir <(.
Pro,ra(a en C
F include Gstdio.HI
F include Gconio.HI
main% &
K
int 'um, <J
float <(J
clrscr % &J
printf%5Pn +rograma que calcula la funcin de un nmero6&J
printf%58e el valor de W o de la variable de la funcin6&J
scanf%5Cd6,L<&J
printf%5Sunciones6&J
printf%5%-& -AA M <6&J
printf%5%0& -AA MM <6&J
printf%5%2& -AA 1 <6&J
printf%5Pn .eclee la opcin que desea6&J
scanf%5Cd6,L'um&J
sXitcH%'um&
K
case-, <al N -AA M <
printf%5El valor es,Cf6,<al&J breaYJ
case0, <al N -AA MM <
printf%5El valor es,Cf6,<al&J breaYJ
case2, <al N -AA 1 <
printf%5El valor es,Cf6,<al&J breaYJ
default, printf%5El resultado es A6&J
Q
Q
E'ercicio.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO +,
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
/onstruya un diagrama de flujo tal, que dados como datos la categor!a y el sueldo de
un trabajador, calcule el aumento correspondiente teniendo en cuenta la siguiente tabla.
#mprima la categor!a del trabajador y su nuevo sueldo.
CATEGORIA AUMENTO
- -?C
0 -AC
2 7C
B >C
8atos,
/.E, SUE.
8onde,
/.E es una variable de tipo entero, que representa la categor!a del trabajador.
SUE es una variable de tipo real, que e"presa el sueldo del trabajador.
E"plicacin de las <ariables.
/.E, <ariable de tipo entero. Su significado fue e"plicado anteriormente.
SUE, <ariable de tipo real. Su significado fue e"plicado anteriormente.
'SUE, <ariable de tipo real. lmacena el sueldo con el aumento incorporado.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO +0
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
Dia,ra(a "e F%u'oB
Prue+a "e Escritorio.
'U3E:$ 8E
/$::#8
8.$S
/.E
SUE
:ESU(.8$
'SUE
- 2
27AA
B-AB
0 B
E0AA
EE2B
2 -
--AA
-0E?
B 0
->?A
-@0?
? 2
B-AA
BB07
Pseu"oc!"i,o.
U3E'.$ V SE(E/.#< V 34(.#+(E.
KEl programa calcula el aumento de sueldo de los trabajadores, teniendo en cuenta su
categor!a. El aumento se incorpora al salarioQ
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO +8
INICI
O
CA#E4 "$E
CA#E
N"$E ' "$E ( 121) N"$E ' "$E (1210 N"$E ' "$E ( 1208 N"$E ' "$E ( 1200
CA#E4 N"$E
FIN
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
K/.E es una variable de tipo entero. SUE y 'SUE son variables de tipo realQ
-. (eer /.E, SUE
0. Si /.E igual
0.- *acer 'SUE SUE M -.-?
0.0 *acer 'SUE SUE M -.-A
0.2 *acer 'SUE SUE M -.A7
0.B *acer 'SUE SUE M -.A>
2. KSin del condiciona del paso0Q
B. Escribir /.E, 'SUE.
F includeGstdio.HI
F include Gconio.HI
main% &
K
int /.EJ
float SUE, 'SUE
clrscr% &J
printf%5+rograma que calcula el aumento de un trabajador6&J
printf%5.eclea el sueldo actual,6&J
scanf%5Cf6,Lsueldo&J
printf%5-. 'SUE N SUE M -.-?6&J
printf%50. 'SUE N SUE M -.-A6&J
printf%52. 'SUE N SUE M -.A76&J
printf%5B. 'SUE N SUE M -.A>6&J
printf%5.eclea la categor!a6&J
scanf%5Cd6,L/.E&J
sXitcH %categoria&
K
case -, 'SUE N SUE M -.-?J
printf%5El sueldo total es,C7.0f6, SUE&J breaYJ
case 0, 'SUE N SUE M -.-AJ
printf%5El sueldo total es,C7.0f6, SUE&J breaYJ
case 2, 'SUE N SUE M -.A7J
printf%5El sueldo total es,C7.0f6, SUE&J breaYJ
case B, 'SUE N SUE M -.A>J
printf%5El sueldo total es,C7.0f6, SUE&J breaYJ
default, printf%5$pcin no /ontemplada6&J
Q
Q
ESTRUCTURAS SELECTI*AS EN CASCADA GANIDADASH.
Encontramos numerosos casos en el desarrollo de la solucin de problemas en el que
luego de tomar una decisin y marcar el camino correspondiente a seguir, es necesario
tomar otra decisin. Se se)ala, luego de evaluar las condiciones, la rama correspondiente a
seguir, y nuevamente podemos tener que tomar una decisin. El proceso puede repetirse
numerosas veces. En este caso estamos aplicando estructuras selectivas en cascada o
anidadas, para resolver el problema.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO +3
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
EJEMPLO.
El siguiente caso donde dentro de la estructura si 1 entonces, encontramos la
estructura si entonces 1 sino.
'o
Si
Si
Si no
Pseu"oc!"i,o.
.
..
'. Si condicin - entonces
'.-. Si condicin 0
Entonces
*acer operacin 0-
Sino
*acer operacin 00
'.0. KSin del condicional del paso '.-.Q
' O - KSin del condicional del paso 'Q
.
.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO )0
CONDICION 1
CONDICION 2
OPERACI9N 21 OPERACI9N 21
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
EJEMPLO.
nalicemos el siguiente caso.
Pseu"oc!"i,o.
.
.
.
'. Si condicin -
entonces
'.-. Si condicin 0
Entonces
*acer operacin 0.-
sino
*acer operacin 0.0
'.0. KSin del condicional del paso '.-Q
sino
'.2 Si condicin 2 entonces.
*acer operacin 2.-
KSin del condicional del paso '.2Q
' O - KSin del condicional del paso 'Q
.
.
.
nalicemos el ltimo caso.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO )1
CONDICION
1
CONDICION
2
CONDICION
3
OPERACI9N 321 OPERACI9N 221 OPERACI9N 222
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
Pseu"oc!"i,o.
.
.
.
'. Si condicin -
entonces
'.- Si selector - igual
valor -, *acer operacin 0.-
valor 0, *acer operacin 0.0
'.-.-. Si condicin 2 entonces
*acer operacin 2.-
'.-.0. KSin de condicional del paso '.-.-Q
de otra forma
'.-.2. Si condicin B entonces
*acer operacin B.- sino
*acer operacin B.0
'.-.B. KSin del condicional del paso '.-.2Q
'.0. KSin de condicional del paso '.-Q
Sino
'.2. Si condicin ? entonces
*acer operacin ?.-
'.B. KSin del condicional del paso '.2.Q
' O - KSin del condicional del paso 'Q
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO )2
CONDICION 1
"ELEC#OR
OPERACI9N 221
CONDICION
3
OPERACI9N 321
CONDICION )
OPERACI9N )21
Con/ici:
n+
O-eraci:n+21 O-eraci:n+22
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
.
.
EJEMPLO.
/onstruya un diagrama de flujo tal, que dado como dato una temperatura en grados
SaHrenHeit, determine el deporte que es apropiado practicar a esa temperatura, teniendo
en cuenta la siguiente tabla,
DEPORTE TEMPERATURA
'atacin I7?
.enis >A G .E3+ GN 7?
Zolf 20 G .E3+ GN >A
Esqu! -AG .E3+ GN 20
3arcHa GN -A
8ato, .E3+.
8onde, .E3+ es una variable de tipo real, que representa la temperatura que se lee.
8iagrama de Slujo,
E)%icaci!n De *aria+%es.
.E3+, <ariable de tipo real. E"plicamos su significado con anterioridad.
Prue+a "e Escritorio.
NUMERO DE
CORRIDA
TEMPERATU
RA
TEMP
RESULTADO
DEPORTE
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO )3
INICI
O
#E&
P
#E&P > 8)
#E&P > 00
#E&P > 32
#E&P > 10
NA#ACION
#ENI"
;OLF
E"<$I &ARC=A
FIN
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
- -E[ Esqu!.
0 7?[ .enis.
2 B[ 3arcHa.
B 20[ Esqu!.
? 7@[ 'atacin.
Pseu"oc!"i,o.
:E+$:.E V .E3+E:.U:.
KEl programa, dado como dato una temperatura en grados SaHrenHeit, recomienda el
deporte que es aconsejable practicar a esa temperaturaQ
K.E3+ es una variable de tipo realQ
-. (eer .E3+.
0. Si .E3+ I 7?
entonces
escribir natacin
sino
0.- Si .E3+ I >A
entonces
escribir tenis
sino
0.-.- Si .E3+ I 20
entonces
escribir golf
sino
0.-.-.- Si .E3+ I -A
entonces
escribir esqu!
sino
escribir marcHa
0.-.-.0 KSin del condicional del paso 0.-.-.-Q
0.-.0 KSin del condicional del paso 0.-.-Q
0.0 KSin del condicional del paso 0.-Q
2. KSin del condicional del paso 0Q
Pro,ra(a En C.
Finclude Gstdio.HI
Finclude Gconio.HI
cHar enter,pausaJ
float tempJ
main% &
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO )+
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
K
clrscr%&J
goto"y%0?,-&J
printf%\+rograma de las .emperaturas\&J
goto"y%-A,?&J
printf%\.eclee la tempeatura,\&J
scanf%\Cf\,Ltemp&J
if%tempI7?&
printf%\El deporte mas apropiado es la 'atacin \&J
else
if %tempI>A&
printf%\El deporte mas apropiado es el tenis \&J
else
if%tempI20&
printf%\El deporte mas apropiado es el Zolf \&J
else
if %tempGN-A&
printf%\El deporte mas apropiado es la marcHa \&J
else
printf%\El deporte mas apropiado es el esqu! \&J
getcH% &J
Q
EJERCICIO.
En una tienda efectan un descuento a los clientes dependiendo del monto de la compra. El
descuento se efecta con base en el siguiente criterio, Si el monto es menor que D?AA no
Hay descuento. Si el monto est comprendido entre D?AA y D-AAA inclusive ?C de
descuento. Si el monto est comprendido entre D-AAA y D-?AAA inclusive --C de
descuento. Si el monto es mayor a D-?AAA el 0?C de descuento.
8ato,
/$3+:.
8onde,
/$3+: es una variable de tipo real, que representa el monto de la compra.
Dia,ra(a "e F%u'oB
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO ))
INICI
O
CO&PRA
CO&PRA%')
00
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
E)%icaci!n "e *aria+%es.
/$3+:, <ariable de tipo real. E"presa el monto de la compra del cliente.
+Z:, <ariable de tipo real. E"presa lo que debe pagar el cliente, teniendo en cuenta los
descuentos correspondientes.
Prue+a "e Escritorio.
NUMERO DE
CORRIDA.
DATO
COMPRA
RESULTADO
PAGAR
- 2?AA.AA 2--?.AA
0 E7?A.AA EA@E.?A
2 2>?.7A 2>?.7A
B E@A.?A E??.@>
? -02?A.AA -A-0>.AA
Pseu"oc!"i,o.
.#E'8 V 8ES/UE'.$S.
KEl programa, dado como dato el monto de la compra de un cliente, determina lo que el
mismo debe pagar teniendo en cuenta una serie de descuentos.Q
K/$3+: y +Z: son variables del tipo realQ
-. lee /$3+:
0. Si /$3+: G ?AA
entonces
*acer +Z: /$3+:
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO ),
CO&PRA%'10
00
CO&PRA%'00
00
CO&PRA%'1)0
00
PA;AR'CO&PRA
PA;AR'CO&PRA(020)
PA;AR'CO&PRA(0283
PA;AR'CO&PRA(0282
PA;AR'CO&PRA(020)
FIN
PA;AR
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
sino
0.- si /$3+: GN -AAA
entonces
*acer +Z: /$3+: M A.A?
sino
0.-.- Si /$3+: GN >AA
entonces
*acer +Z: /$3+: M A.7@
sino
0.-.-.-. Si /$3+: GN -?AAA
entonces
*acer +Z: /$3+: M A.70
Sino
*acer +Z: /$3+: M A.>?
0.-.-.0 KSin del condicional del paso 0.-.-.-Q
0.-.0 KSin del condicional del paso 0.-.-Q
0.0 KSin del condicional de paso 0.-Q
2. KSin del condicional del paso 0Q
B. Escribir +Z:
3.3. ESTRUCTURAS DE ITERACION
3.2.1. PRE Y POST CONDICIONAL CONTADOR Y ACUMULADORES
La Estructura Reetir.
(a estructura repetir es la estructura algor!tmica adecuada para utilizar en un ciclo que
se ejecutar un nmero definido de veces. +or ejemplo cuando necesitamos calcular la
nmina total de la empresa, tenemos que sumar los sueldos de los ' empleados de la
misma. /uando necesitamos obtener el promedio de calificaciones de un curso, debemos
sumar las ' calificaciones de los alumnos y dividir esa suma entre '. Es decir, sabemos de
antemano cuntas veces tenemos que repetir una determinada operacin, accin o tarea.
El nmero de repeticiones no depende de las proposiciones dentro del ciclo. El nmero de
veces se obtiene del planteamiento del problema o de una lectura que indica que el nmero
de iteraciones se debe realizar para ' ocurrencias.
El diagrama de flujo de la estructura algor!tmica repetir es el siguiente,
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO )0
8 8I
8>8F
PROCE"O
8

8*INC
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
8onde,
< es una variable de control.
<# es el valor inicial.
<S es el valor final.
#'/ es el incremento.
<%contador del ciclo, generalmente representado por la letras %#, U, R, <& toma un valor inicial
y se compara con <S %valor final&. El ciclo se ejecuta mientras < es menor o igual al valor de
<S. El valor de < se incrementa en cada iteracin. /uando < supera el valor de <S entonces
el ciclo se detiene.
Pseu"oc!"i,o.
.
.
.
#acer * *I
Reetir con * "es"e *I Easta *F
.
.
.
$roceso&
.
.
.
#acer * * > INC
$Fin "e% cic%o&
EJEMPLO.
/onstruya un diagrama de flujo tal, que dados como datos los sueldos de los -A
trabajadores de una empresa, obtenga el total de nmina de la misma. /onsidere adems
que no puede utilizar estructuras algor!tmicas repetitivas en la solucin del problema.
8ato,
SUE-, SUE0, SUE2, SUEB, SUE?, SUEE, SUE>, SUE7, SUE@, SUE-A.
8onde,
SUE-, SUE0,..., SUE-A son variables de tipo real, que representan los sueldos de los -A
trabajadores.
8iagrama de Slujo.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO )8
INICI
O
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
E)%icaci!n De *aria+%es.
SUE-, SUE0, SUE2, SUEB, SUE?, SUEE, SUE>, SUE7, SUE@, SUE-A, <ariables de tipo real.
:epresentan los sueldos de los empleados.
'$3#', <ariable de tipo real. lmacena la suma de los sueldos de todos los trabajadores.
continuacin presentamos la solucin del problema anterior, utilizando una estructura
algor!tmica repetitiva.
8atos,
SUE-, SUE0,...,SUE-A.
8onde,
SUEi es una variable de tipo real, que representa el sueldo del trabajador i. -GN i GN-A
Dia,ra(a De F%u'o.
S#
'$
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO )3
"$E14 "$E24 "$E34 "$E+4 "$E)4 "$E,4 "$E04 "$E84 "$E34 "$E10
NO&INA ' "$E1*"$E2*"$E3*"$E+*"$E)*"$E,*"$E0*"$E8*"$E3*"$E10
NO&INA
FIN
INICI
O
I ' 1
NO&INA ' 0
I>10
"$E
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
El diagrama de flujo es ms claro y ms general que el anterior. 3odificando la condicin %# I-A&,
podemos utilizar esta solucin para ' empleados, incluso podemos leer el valor de ' y formalizar la
condicin como %- I '&.
E)%icaci!n "e 2aria+%es.
#, Es una variable de tipo entero que representa la variable de control del ciclo. /ontabiliza
el nmero de veces que Ha de repetirse una determinada accin. El contador toma una
valor inicial generalmente %A -& y se incrementa en la mayor!a de los casos en una unidad
en cada vuelta del ciclo.
'$3#', Es una variable de tipo real que representa un acumulador. Este se utiliza cuando
debemos obtener el total acumulado de un conjunto de cantidades. Zeneralmente se
inicializa en cero.
SUE, Es una variable de tipo de real. :epresenta el sueldo del trabajador.
Prue+a "e Escritorio.
I SUE NOMINA
- A A
0 -?AA -?AA
2 7@A 02@A
B >AA 2A@A
? @?A BABA
E 02AA E2BA
> -E?A >@@A
7 -7AA @>@A
@ -BAA ---@A
-A >EA --@?A
-- @AA -07?A
Pseu"oc!"i,o.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO ,0
NO&INA ' NO&INA * "$E
I ' I * 1
NO&INA
FIN
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
'$3#'.
KEl programa calcula el total de la nmina de un grupo de -A empleadosQ
K# es una variable de tipo entero. SUE y '$3#' son variables de tipo realQ
-. *acer # - y '$3#' A
0. :epetir con # desde - Hasta A
leer SUE
*acer '$3#' '$3#' O SUE e # # O -
2. KSin del ciclo del paso 0Q
B. Escribir '$3#'.
For(as Genera%es De Las Sentencias.
XHile %condicin&
sentencia -.
XHile %condicin&
K
sentencia -J
sentencia 0J
Q
do
sentenciaJ
XHile %condicin&J
do
K
sentencia -J
sentencia 0J
QXHile %condicin&J
Estructura Mientras.
(a estructura algor!tmica mientras es la estructura adecuada para utilizar en un
ciclo cuando no sabemos el nmero de veces que Tste se Ha de repetir. 8icHo nmero
depende de las proposiciones dentro del ciclo. Ejemplos en la vida cotidiana encontramos
mucHos. +or ejemplo, supongamos que tenemos que obtener el total de una serie de gastos,
pero no sabemos e"actamente cuntos sonJ o cuando tenemos que sacar el promedio de
calificaciones de un e"amen, pero no sabemos precisamente cuntos alumnos lo aplicaron.
.enemos que sumar las calificaciones e ir contando el nmero de alumnos, esto con el fin
de poder obtener posteriormente el promedio. El ciclo se repite mientras tengamos
calificaciones de alumnos.
En la estructura mientras se distinguen dos partes,
/iclo, /onjunto de instrucciones que se ejecutarn repetidamente.
/ondicin de terminacin, (a evaluacin de esta condicin permite decidir cunto
finalizar la ejecucin del ciclo. (a condicin se evala al inicio del mismo.
El diagrama de flujo de la estructura algor!tmica mientras es el siguiente,
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO ,1
PI PROPO"ICI9N INICIAL
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
'$
S#
8onde
+#, (a proposicin inicial, debe tener un valor verdadero inicialmente. Si el valor de +# es
falso, entonces el ciclo no se ejecuta.
8ebe e"istir tambiTn un enunciado dentro del ciclo que afecte la condicin, para evitar que
el ciclo se ejecute indefinidamente
Pseu"oc!"i,o.
.
#acer PI Proosici!n Inicia%
Mientras PI es 2er"a"ero reetir
.
.
#acer PI Mo"i0icaci!n "e PI
.
.
$Fin "e% cic%o&
EJERCICIO.
Escriba un diagrama de flujo, tal que dado un grupo de nmeros naturales positivos,
calcule e imprima el cubo de estos nmeros.
8onde,
'um. <ariable de tipo entero representa el nmero de datos a introducir.
cum. <ariable de tipo entero representa el acumulador.
8at <ariable de tipo real representa el dato que se elevara al cubo.
:. <ariable de tipo real que e"presa el resultado.
Dia,ra(a De F%u'oB
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO ,2
E8AL$ACI9N DE
PI
PI &ODIFICACI9N DE PI
INICI
O
N$&2
AC$& ' 0
AC$& % N$&
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
Prue+a "e Escritorio.
NUMERO DE
CORRIDA.
DATOS
DAT
RESULTADO
R
- 0 7
0 B EB
2 ? -0?
B - -
? > 2B2
Pseu"oc!"i,o.
KEste programa calcula el cubo de cualquier grupo de nmerosQ
K8onde 'U3, /U3 son variables de tipo realQ
-. (eer 'U3.
0. *acer /U3 A
2. 3ientras /U3 G 'U3
2.- (eer 8.
2.0 *acer : 8. M 8. M 8.
2.2 #mprimir :
2.B *acer /U3 /U3 O -
B. #mprimir Sin.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO ,3
DA#
R ' DA# ( DA# ( DA#
R
AC$& ' AC$& * 1
FIN
FIN
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
Pro,ra(a en C
F include Gstdio.HI
F include Gconio.HI
int 'U3, /U3J
float 8., :J
void main % &
K
clrscr % &J
printf%5/untos 'meros6&J
scanf%5Cd6,L'U3&J
acum N A
XHile %/U3 G 'U3&J
K
printf%58ato6&J
scanf%5Cf6,L8.&J
: N 8. M 8. M 8.J
printf%5El cubo es,C-E.0f6,:&J
/U3 N /U3 O -J
Q
printf%5Sin6&J
Q
EJERCICIO.
El costo de las llamadas telefnicas internacionales, depende de la zona geogrfica en
la que se encuentre el pa!s destino, y del nmero de minutos Hablados. En la siguiente tabla
se presenta el costo por minuto, por zona. cada zona se le Ha asociado una clave.
CLA*E IONA PRECIO
-0 mTrica del 'orte 0
-? mTrica /entral 0.0
-7 mTrica del Sur B.?
-@ Europa 2.?
02 sia E
0? ]frica E
0@ $cean!a ?
8atos,
/(<E, 'U3#'.
8onde,
/(<E es una variable entera, que representa la clave de la zona geogrfica a la que se
llamo.
'U3#' es una variable entera, que e"presa la duracin %en minutos& de la llamada.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO ,+
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
Dia,ra(a "e F%u'oB
E)%icaci!n "e 2aria+%es.
/(<E, 'U3#', <ariables de tipo entero.
/$S., <ariable de tipo real. lmacena el costo total de la llamada telefnica.
Prue+a De Escritorio.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO ,)
INICIO
CLA8E4 N$&IN
CLA8E
CO"#O#' N$&IN (32) CO"#O#' N$&IN () CO"#O#' N$&IN (+2)
CO"#O#' N$&IN (222
CO"#O#' N$&IN (2
CO"#O#' N$&IN (,
Costo #ota /e a La>a/a
CO"#
FIN
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
NUMERO DE
CORRIDA
DATOS
CLA*E
NUMIN
RESULTADO
- 02 ? 2A
0 -? B 7.7
2 -? -A 00
B 0@ 7 BA
? -7 -0 ?B
Pseu"oc!"i,o.
((38S V .E(ES;'#/S.
KEl programa, dados como dato la clave de la zona a la cual se llam, y el nmero de
minutos que dur la llamada, calcula el costo total de la mismaQ
K/(<E y 'U3#' son variables de tipo entero. /$S. es una variable de tipo realQ
-. (eer /(<E y 'U3#'
0. Si /(<E igual
-0, *acer /$S. 'U3#' M 0
-?, *acer /$S. 'U3#' M 0.0
-7, *acer /$S. 'U3#' M B.?
-@, *acer /$S. 'U3#' M 2.?
02, 0?, *acer /$S. 'U3#' M E
0@, *acer /$S. 'U3#' M ?
2. KSin del condicional del paso 0Q
B. Escribir 5/osto total de la llamada6, /$S..
Pro,ra(a En C.
Finclude Gconio.HI
Finclude Gstdio.HI
float costo,tarifa,minutosJ
int claveJ
main%&
K
clrscr%&J
goto"y%-,-&J
printf%\+ractica 'o. -2\&J
goto"y%-A,B&J
printf%\+rograma para calcular la tarifa del telefono\&J
goto"y%-A,E&J
printf%\#ntroduce la clave del pais,\&J
scanf%\Cd\,Lclave&J
sXitcH%clave&
K
case -0, printf%\(a zona es, merica del 'orte\&J
goto"y%?,7&J
printf%\#ntroduce los minutos Hablados,\&J
scanf%\Cf\,Lminutos&J
costo N minutosM0J
breaYJ
case -?, printf%\(a zona es, merica /entral\&J
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO ,,
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
goto"y%?,7&J
printf%\#ntroduce los minutos Hablados,\&J
scanf%\Cf\,Lminutos&J
costo N minutosM0.0J
breaYJ
case -7, printf%\(a zona es, merica del Sur\&J
goto"y%?,7&J
printf%\#ntroduce los minutos Hablados,\&J
scanf%\Cf\,Lminutos&J
costo N minutosMB.?J
breaYJ
case -0, printf%\(a zona es, Europa\&J
goto"y%?,7&J
printf%\#ntroduce los minutos Hablados,\&J
scanf%\Cf\,Lminutos&J
costo N minutosM2.?J
breaYJ
case 02, printf%\(a zona es, sia\&J
goto"y%?,7&J
printf%\#ntroduce los minutos Hablados,\&J
scanf%\Cf\,Lminutos&J
costo N minutosMEJ
breaYJ
case 0?, printf%\(a zona es, frica\&J
goto"y%?,7&J
printf%\#ntroduce los minutos Hablados,\&J
scanf%\Cf\,Lminutos&J
costo N minutosMEJ
breaYJ
case 0@, printf%\(a zona es, $ceania\&J
goto"y%?,7&J
printf%\#ntroduce los minutos Hablados,\&J
scanf%\Cf\,Lminutos&J
costo N minutosM?J
breaYJ
default,printf%\Pn /lave no :egistrada\&J
Q
printf%\PnPn El valor de la llamada es,C7.0f\,costo&J
Q
EJERCICIO.
Escriba un diagrama de flujo tal, que dados como datos ' nmeros enteros, determine
cuntos de ellos son pares y cuntos impares.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO ,0
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
8atos, ', 'U3-, 'U30,....,'U3'
8onde,
' es una variable de tipo entero, que representa el nmero de enteros que se ingresan.
'U3i es una variable de tipo entero, que e"presa el nmero i que se ingresa. -GN i GN '
E)%icaci!n "e %as *aria+%es.
#, <ariable de tipo entero. :epresenta la variable de control del ciclo.
' y 'U3, <ariables de tipo entero. E"plicamos su significado anteriormente.
/UE+: y /UE#3+, <ariables de tipo entero. Son contadores. /uentan el nmero de nmeros
pares e impares, respectivamente.
Dia,ra(a De F%u'oB
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO ,8
INICI
O
I ' 1 C$EPAR '0
C$EPAR ' 0
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
Prue+a De Escritorio.
I N NUM CUEPAR CUEIMP
- -2 A A
0 ? -
2 E -
B 07 0
? 2E 2
E -2 0
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO ,3
N
I > N
N$&
N$& % > 0
?@1 (( N$&A > 0
C$EI&P ' C$EI&P * 1 C$EPAR ' C$EPAR * 1
I ' I * 1
C$EPAR4 C$EI&P
FIN
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
> A
7 -@ 2
@ 0- B
-A A
-- 0> ?
-0 -B B
-2 -@ E
-B 0@ >
Pseu"oc!"i,o.
/UE'. V +:ES V E V #3+:ES.
KEl programa, dado ' nmeros enteros, cuenta cuntos de ellos son pares y cuntos
imparesQ
K#, ', 'U3, /UE+: y /UE#3+ son variables de tipo enteroQ
-. *acer # -, /UE+: A y /UE#+3 A
0. (eer '
2. :epetir con # desde - Hasta '
(eer 'U3
2.- Si %'U3 G I A& entonces
2.-.- Si %9- MM 'U3 I A&
entonces
*acer /UE+: /UE+: O -
Sino
*acer /UE#3+ /UE#3+ O -
2.-.0 KSin del condicional del paso 2.-.-Q
2.0 KSin del condicional del paso 2.-Q
*acer # # O -
B. KSin del ciclo del paso 2Q
?. Escribir /UE+: y /UE#3+
Pro,ra(a En C.
FincludeGstdio.HI
FincludeGconio.HI
int ",cont,numJ
float acum,datoJ
void main%&
K
te"tbacYground%^E(($_&Jte"tcolor%=(UE&J
clrscr%&J
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO 00
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
goto"y%-,-&J
printf%\ PnPn +:$Z:3 `UE /(/U( 'U3E:$S +:ES E #3+:ES\&J
goto"y%-A,?&J
printf%\PnPn .eclea cuantos numeros quieres identificar, \&J
scanf%\Cd\,Lnum&J
contNAJ acumN-J
XHile%contGnum&
K
printf%\Pn.eclea el dato%Cd&,\,cont&J scanf%\Cd\,L"&J
if%"C0NNA&
printf%\El numero es par\,"&J
else
printf%\ El numero es impar\,"&J
acumN acum. O "J
cont OOJ
Q
getcH% &J
Q
Proosici!n For.
Estructura for de repeticin son, for, XHile, do XHile, la primera se considera
incondicional las otras se consideran condicionales. (a estructura incondicional for se
emplea para repetir una o ms sentencias sobre todo cuando se conoce el nmero de
repeticiones que se desea realizar.
for %inicializacinJ condicinJ incremento&
sentenciaJ
(a condicin ser una e"presin lgica la cual determinara el final de las repeticiones.
for (x=1; x<=10; x++)
El ejemplo anterior se emplea cuando la variable de control que va a tomar valores
en forma ascendente desde el -, Hasta el -A el incremento se considera unitario el
incremento puede e"presarse en diferentes formas es decir,
x++
++x
x+=1
x=x+1
for (x=1;x<=50;x+=5)
8e el ejemplo anterior podemos decir que la variable de control tomara valores
ascendentes desde - Hasta ?AA de en ? en ?.
for(y= a;y<= z; y++)

+ara el for anterior podemos ver que la variable de control tomo valores desde de a
Hasta z por lo que aHora podemos decir que no solo nmeros son los valores que podemos
tomar la variable de control descendente o ascendente.
for(z=0.5;z<=8.5;z+0.25)
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO 01
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
En el ejemplo anterior podemos ver que la variable de control de un for puede ser de
tipo real es decir de punto flotante.
for(i i)

/uando se emplea de la forma antes mencionada se usa para crear ciclos en forma
infinita es decir que Har repeticiones Hasta que se apague la mquina o se empleen
funciones que permitan darlo por terminado %breaY&.
Un caso especial del uso de for que se da e"clusivamente en el for ser el que puede
manejar 0 variables de control cada una con su inicio, el final e incremento o decrementp
como se muestra en el siguiente ejemplo,
for (i=0;j=4;i*;j<4;i++;j--)
{
.
}
3.3. ESTRUCTURAS DE CONTROL
3.2.1. RUPTURA DE UN LAZO
Los Enuncia"os AreaJ F ContinuK
(os enunciados +reaJ y continuT se utilizan para modificar el flujo de control. El
enunciado
b"eaY, cuando se utiliza o ejecuta en una estructura XHile, for, do1XHile, o sXitcH, causa la
salida inmediata de dicHa estructura. (a ejecucin del programa contina con el primer
enunciado despuTs de la estructura. (os usos comunes del enunciado breaY son para
escapar
en forma prematura de un ciclo, o para saltar el resto de una estructura sXitcH %como en la
figura B.>&.
(a figura B.-- demuestra el enunciado breaY en una estructura de repeticin for.
/uando la estructura ia detecta que " se Ha convertido en ?, se ejecuta breaY. Esto da por
terminado el enunciado aor, y el programa contina con el printf e"istente despuTs de for.
El ciclo se ejecuta por completo cuatro veces.
El enunciado continuT, cuando se ejecuta en una estructura XHile, for, do1XHile, salta los
enunciados restantes del cuerpo de dicHa estructura, y ejecuta la siguiente iteracin del
ciclo.
En estructuras XHile y do1XHile, la prueba de continuacin de ciclo se vala de inmediato
de que se Haya ejecutado el enunciado continuT. En la estructura for, se ejecuta la
e"presin incremental, y a continuacin se vala la prueba de continuacin de ciclo.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO 02
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
nteriormente indicamos que la estructura XHile podr!a ser utilizada, en la mayor parte de
los casos, para representar la estructura for. Una e"cepcin ocurre cuando la e"presin
incremental en la estructura XHile sigue a un enunciado continuT. En este caso, el
incremento no se lleva a cabo antes de la prueba de la condicin de continuacin de
repeticin, y no se ejecuta el XHile de la misma forma que en el caso del 0or. En la figura
B.0 se utiliza el enunciado continuT en una estructura for, para saltar el enunciado printf de
la estructura, y empezar con la siguiente iteracin del ciclo.
Finclude Gstdio.HI
main % &
K
int "J
for %" b -J " G\ -AJ "OO& K
if %" N9 ?&
+reaJL ?< +reaJ %oo oni= i0 ) Msa 7 N?
printf%\Cd \, "&J
Q
printf%\Pn=roYe out of loop at " \ CdPn\, "&J
return $J
Q
/mo utilizar el enunciado +reaJ en una estructura 0or.
Finclude Gstdio.HI
main % &
%
int )L
for %" c -J " Gb -AJ "OO& K
if %" NN ?&
continuTJ 1M sYip remaining code in loop oniy
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO 03
FUNDAMENTOS DE PROGRAMACION ESTRUCTURADA UNIDAD III
____________________________________________________________________________________________________
if " d ? M1
rint0GO;G" O/ )HL
printf%eePnUsed continuT to sYip printing tHe valuT ?Pn\&J
/mo utilizar el enunciado continuK en una estructura 0or.
____________________________________________________________________________________________________
ESTRUCTURA DE FLUJO PROGRAMATICO ING. OSORNIO 0+

Você também pode gostar