You are on page 1of 13

c  

  

 
!"#c"""$%&'"
(""
"  ' ) *  ' ) 
+%"" !#

Orígenes de la programación estructurada

A finales de los años 1960 surgió una nueva forma de programar que no solamente daba lugar a
programas fiables y eficientes, sino que además estaban escritos de manera que facilitaba su
comprensión posterior.

El teorema del programa estructurado, demostrado por Böhm-Jacopini, demuestra que todo
programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes:

‰ Secuencia
‰ Instrucción condicional.
‰ Iteración (bucle de instrucciones) con condición al principio.

Solamente con estas tres estructuras se pueden escribir todos los programas y aplicaciones
posibles. Si bien los lenguajes de programación tienen un mayor repertorio de estructuras de
control, éstas pueden ser construidas mediante las tres básicas.
mstructura secuencial
àna estructura de programa es secuencial si se ejecutan una tras otra a modo de secuencia, es
decir que una instrucción no se ejecuta hasta que finaliza la anterior.

Ejemplo:
VVV VV
VVV VV
VVV
 VV
VVV VV
VVV V
 V
VVV VV
VVV VV

Esta secuencia de instrucciones permuta los valores de å e , con ayuda de una variable auåiliar,
intermedia.

‰ 1º Se guarda una copia del valor de å en auåiliar.


‰ 2º Se guarda el valor de en å, perdiendo su valor anterior, pero se mantiene una copia del
contenido en auåiliar.
‰ 3º Se copia a el valor de auåiliar, que es el valor inicial de å.

‰ El resultado es el intercambio de los valores entre å e , en tres operaciones secuenciales.

mstructura selectiva o de selección


La estructura selectiva permite que la ejecución del programa se bifurque a una instrucción u otra
según un criterio o condición lógica, solo una de estas instrucciones se ejecutará.

Ejemplo:
VVV VVVVV
VVVVVV VVVVV VVVVV
VVVV
VVVVVV VVVVVV VVVVV
VVVV V

La instrucción selectiva anterior puede presentar uno de dos mensajes: a es ma or que b o a no


es ma or que b, según el resultado de la comparación entre a y b; si el resultado de a > b es
verdadero, se presenta el primer mensaje, si es falso se exterioriza el segundo. Las palabras
clave IF, THm, mm, y m IF; constituyen la propia estructura de la instrucción condicional
(palabra reservadas), proporcionada por el lenguaje, el usuario no debe utilizar sus nombres salvo
para este fin. El caso ejemplo se ha codificado en BASIC.

‰ IF señala el comienzo de la instrucción condicional, y se espera que después siga la condición


de control de la instrucción.
‰ THm señala el fin de la condición, y después estará la instrucción a ejecutar si la condición es
verdadera.
‰ mm es opcional, le sigue la instrucción que se ejecutará si la condición es falsa.
‰ m IF indica el final de la estructura, seguidamente el programa seguirá su curso.

Ampliemos un poco el ejemplo anterior con estructuras anidadas:


VVV VVVVV
VVVVVV VVVVV VVVVV
VVV VVVVV
VVVVVV VVVVV VVVVV
VVVV
VVVVVV VVVVV 
VVVVV
VVVV V
Este ejemplo permite considerar situaciones en las que se tiene más de dos alternativas. En este
caso se ha considerado tres, pero hay situaciones en las que deben considerarse más casos y
para ellos se puede repetir las veces que sea necesario la opcional ELSEIF.
mstructura iterativa
àn bucle iterativo o iteración de una secuencia de instrucciones, hace que se repitan mientras se
cumpla una condición, en un principio el número de iteraciones no tiene porque estar determinado.

Ejemplo:
VVV V V
VVV V!V
VV
VVV" VVVV#V
VVVVVV VV
VVVVVV VV$V%V
VVV"V

Esta instrucción tiene tres palabras reservadas ËHIm, O y Ëm.

‰ ËHIm: señala el comienzo del bucle y después de esta palabra se espera la condición de
repetición, si la condición es cierta se pasa al cuerpo del bucle, si no al final de la instrucción
mientras.
‰ O: señala el final de la condición, lo que esté después será el cuerpo del bucle.
‰ Ëm: señala el final del cuerpo del bucle y de la instrucción ËHIm.

El bucle mientras, se repite mientras la condición sea cierta, esta condición se comprueba al
principio por lo que el cuerpo del bucle puede que no se ejecute nunca, cuando la condición es
falsa en un principio, o que se repita tantas veces como sea necesario, mientras la condición sea
cierta.

En el ejemplo tenemos dos variables a y b que al iniciarse el bucle tienen los valores a=0 y b=7.

La condición del bucle es b > a.

Cuando a=0 y b=7. la condición es cierta, en el cuerpo del bucle se escribe el valor de a en
pantalla y se incrementa a en una unidad. Entonces a=1 y b=7.
...
...
Cuando a=6 y b=7. la condición es cierta, se escribe el valor de a en pantalla y se
incrementa en una unidad.
Resultando que a=7 y b=7. Entonces la condición es falsa y la instrucción ËHIm finaliza.
La salida por pantalla de este ejemplo seria 0 1 2 3 4 5 6
nidamiento
El cuerpo de cualquier estructura puede ser una instrucción simple u otra estructura, que a
su vez puede anidar a otra.

Ejemplo:
VVV VVVVV
VVVVVV
 VV
VVVVVV VV
VVVVVV V
 V
VVVV
VVVVVV &V'V
VVVV V
VVV VVVV




  c   c, 

c -  )c *  

 c 

i i i

i i


i 


 
i 

i    
  i i ii i
i i 

  i

   i
V

 „  V
 „  V
 
V



i 

 i iii  i i   

       i
        ii  
  ii  

 i ii  V V
    i  ii 
 i   ii 
 
i i 


  ii  i
    iiiii
i  
 
 i   ii  V

  iii
i i 

i
i  i i  
i
 i


 
 i i
 iiii ii i
i 

  ii 
i i 

   ii  iii
V

 „ „
 
„„„  
 V
^„  V

 i  


i i

 iii  i  i 
ii
 
iii 
iiii

„i
i
i i 
 ii 
   i  i
     i
     V

V
    ii i
i 
ii
i i   i 
!  
 

 i i
i ii     i 



   V

„  V

    i 



„
 „   i   iii
i
  i
 "  iii
i  i i"  i 

i #i" i   
 i  i  i i

 i

i
i i 
 iii   ii i
V

V
i
i i

i  i ii"  #i   i
iii   i"  ii i
i 
i  "i
 i
i   
ii       i 

  ii   i
  
   # i    ii i
 i
i 

  
ii 

 V


V
    i 

$
 
„ 

i i  
ii
i i i  
 i
i i i ii
  
 
i
i  i 

i i  iiV

V
%ii iii 
i i ii i
i  i  
i i
   ii   i
      #   ii ii i

 i
i 

  ii 

 V


c.

.c c%""/!
0.1'2"
13# 34/'"15'
'"1"#
"$"
/"26778# ""'94".
0".#

.0 !' /!


&

"3'34"053
4" !#

"3"/0
5.''0/"$/"#

.0""'5
"' 3""4"
!#

."0""
.""."'"
4"#4$'".
""/'04"""#
44$"".# 
:""4"4"'"0"
1"#

/ !1 !35"


".# 0"0/
""0# "
'"1"
""#;":"53"
"1"/0.""# 
:"$"
"..#
c""'"0"1"
31"'10"%0"
"#
"/
'1""0
.# ""0#
0"c''."
4"."3"0"/:#

Y    
 

90/:""<.<'"
:"3&

&":".'
#."4"<<
0"$.'1'1<<
."4"":#'
""//:1"3'
4/0"# "
"":"4.
4"
"#"4"3"12.'10
""""."0""
"""00#

"&
""0
'"4"# 
"5""#"
""'"0""
.#

"&
""04
"302 """!'""
""":1"# 
""'9"#"
"0""'"".""4#

c"&.3""9'""'1
.9$.0
".""# """
.05""'""
/".# 0
.".'
"#"".".
'"".
"1""#"
$.#

c"&'.'
"'"""""$3"
".0/#5'"1"
"..'1"4
3"""
".#<.<'%"
:"":3#"".
33 <"<!"'"
""""1"==#

;&""3"'0":'
.0:"#.5"1"
"""0#5$1"""1"
"".1
"$.9#  19!
04"4""# "55"
"."13".0".
%#.53"051
5%""#

"&"""""/"
"".3'1
4""'".0510
""# 0""
"'10""3"4.1""3
"/# "1:"".5:09
"cc.==.
c"':91""#


..

" 67>?!"".0":
""..#*5
"'"<.<""3
#
"""@ 67?A67B8!""."'1"0
":".5""#

"".."&

‰ +c

‰ +. c
C

‰ 


‰ 
D

‰ 

‰ ==

‰ E

‰ "

‰ " ".! FG#9":." 1!!

‰ 

‰ .c" "5!

‰ 

‰ ;

‰ "

‰ [4

‰ [4
 "5"$"
!

‰ 9 ""!

‰ .4H
‰ "

‰ $

‰ 

‰ c" 5%""#""$'
"""$D"""&&Dc!

‰ c;c 4G!

‰ cC+"

‰ c15

‰ 1

‰
"""@ c144#"[4#!

‰ @
""I"!

‰ F"

‰ F+# 

‰ F"*9c 4>!

‰ F"+>#8

‰ F".

‰ )+==

‰ . c

‰ .
" ". C!5&JJCCC#"H
"#J#.





 
 c   +[c  -  + 
 !

"

.0
""#4'01":
1# """&
‰ Y
&"1.
#""1"
.""#

‰ o   ."'5"""" ! ""


"""" 5"""1'
15" #c"
'"/14"""#
<4< 4!/5'
""'"1"
4//%"# :
5""c#

‰ &4. !1
" /!"0
4#
".""0
'." "!# 
"#

‰ |  &". ".!'1.
"<.<# "4"
'"0".5# /
"".'"<4<
4.."#

‰ m  & " """


30'.4.!# "."4
4".".# /
4'"0.'"
0#

‰ |  &.'0"0.
/3"40"#

‰   &. 


".!'05"4"".1
:'114""
"."%/#

‰ m   &4"0"4'0%


1"/".'10"$
"". ".!#4""
0.""#

‰ Y    &''"1/#

‰ p      &."


0/1#

".4'<4"<'30
"".':"<<
"/".#

You might also like