SlideShare una empresa de Scribd logo
1 de 30
República Bolivariana de Venezuela
             Ministerio Popular Para La Educación Superior
                 U.N.E.X.P.O «Antonio José de Sucre»
                Vice-rectorado «Luis Caballero Mejías»
                           Núcleo Charallave




Profesor(a):                                        Bachiller:
Echenique, Gioconda                                 Briceño, Leonardo
Computación II                                      2011 147 167
                         Charallave, Oct. 2012
INSTRUCCIONES DE CONTROL ALTERNATIVAS



   Se pueden utilizar para diseñar algoritmos, tanto en
         pseudocódigo como en ordinogramas:




                  SIMPLE      MÚLTIPLE



                         DOBLE
Instrucción Alternativa Doble



                    Pseudocódigo                                            Ordinogramas
   En pseudocódigo, para escribir una instrucción            En un ordinograma, una instrucción alternativa doble se
       alternativa doble se utiliza la sintaxis:                       representa de la siguiente manera:



                 si ( <expresión_lógica> )
               <bloque_de_instrucciones_1>
                            sino
               <bloque_de_instrucciones_2>
                           fin_si
                                                                 En consecuencia, el algoritmo del ejemplo del
                                                                    apartado anterior, "Instrucción de Control
                                                                 Alternativa Doble en Pseudocódigo", se puede
                                                                representar, gráficamente, de la siguiente forma:
  A la <expresión_lógica> de una instrucción alternativa
  doble también se le denomina condición. Para que se
  ejecute el <bloque_de_instrucciones_1>, la condición
tiene que ser verdadera. Por el contrario, si la condición
 es falsa, se ejecutará el <bloque_de_instrucciones_2>.
     En resumen, una instrucción alternativa doble (o
simplemente alternativa doble) permite seleccionar, por
      medio de una condición, el siguiente bloque de
      instrucciones a ejecutar, de entre dos posibles.
Ejercicios de la Instrucción Alternativa Doble

                                             Pseudocódigo

                  Ejercicio:                                Solución:
Suma de dos números (alternativa doble -
pseudocódigo CEE); diseñe el algoritmo (en
pseudocódigo) de un programa que:

1.- Pida por teclado dos números (datos enteros).
2.- Calcule la suma de los números introducidos
por el usuario.
3.- Muestre por pantalla:

-"LA SUMA SÍ ES MAYOR QUE CERO.", En el
caso de que sí lo sea.
-"La suma no es mayor que cero.", En el caso de
que no lo sea.

En pantalla:
Ejercicios de la Instrucción Alternativa Doble

                                         Ordinograma

                  Ejercicio:                               Solución:
Número intermedio (alternativa doble -
ordinogramas); diseñe el algoritmo
(ordinograma) de un programa que:

1.- Pida por teclado tres números (datos
enteros): <numero1>, <numero2> y <numero3>.
2.- Muestre por pantalla:

-"<numero2> SI ES MENOR QUE <numero3> Y
MAYOR QUE <numero1>", en el caso de que sí lo
sea.
-"<Numero2> no es menor que <numero3> y
mayor que <numero1>", en el caso de que no lo
sea.



  En
pantalla:
Instrucción Alternativa Simple
            En programación, una instrucción alternativa simple es una variante
                    (más sencilla) de una instrucción alternativa doble.


                   Pseudocódigo                                       Ordinogramas
En pseudocódigo, para escribir una alternativa simple     En un ordinograma, una instrucción alternativa
se utiliza la sintaxis:                                   simple se representa de la siguiente manera:


                si ( <expresión_lógica> )
                <bloque_de_instrucciones>
                fin_si


 Se quiere diseñar el algoritmo de un programa que:
 1.- Pida por teclado la nota (dato real) de una
 asignatura.
 2.- Muestre por pantalla:
 "APROBADO", en el caso de que la nota sea mayor
 o igual que 5.                                         El
                                                        pseudocódigo", ta
                                                        mbién puede
 En pantalla:                                           representarse, gráfi
                                                        camente, de la
                                                        siguiente forma:
Ejercicios de la Instrucción Alternativa Simple

                                                  Pseudocódigo

                    Ejercicio:                                   Solución:
Cambio de signo (Alternativa simple -
Pseudocódigo CEE);Diseñe el algoritmo (en
pseudocódigo) de un programa que:

1.- Pida por teclado un número (dato real).
2.- Muestre por pantalla el número introducido,
pero, cambiado de signo y, sólo en el caso de
que el número no sea mayor o igual que cero.

En pantalla:
Ejercicios de la Instrucción Alternativa Simple

                                                Ordinograma

                    Ejercicio:                                Solución:
Media aritmética (Alternativa simple -
Ordinogramas); Diseñe el algoritmo (ordinograma)
de un programa que:

1.- Pida por teclado dos números (datos enteros).
2.- Muestre por pantalla la media aritmética de los
números introducidos, pero, sólo en el caso de
que ambos números sean mayores que cero.

En pantalla:
Instrucción Alternativa Múltiple
          Una instrucción alternativa múltiple permite seleccionar, por medio de
          una expresión, el siguiente bloque de instrucciones a ejecutar de entre
          varios posibles.

                     Pseudocódigo                                         Ordinogramas
  En pseudocódigo, para escribir una alternativa          En un ordinograma, una instrucción alternativa
  múltiple se utiliza la sintaxis:                        múltiple se representa de la siguiente manera:

       segun_sea ( <expresión> )
       <lista_de_valores_1> :
       <bloque_de_instrucciones_1>
       <lista_de_valores_2> :
       <bloque_de_instrucciones_2>
       <lista_de_valores_n> :
       <bloque_de_instrucciones_n>
       [ sino :
       <bloque_de_instrucciones_n+1>fin_segun_sea


Se quiere diseñar el algoritmo de un programa que:       Se puede
1.- Pida por teclado el número (dato entero) de un día   representar,
de la semana.                                            de manera
2º.-Muestre por pantalla                                 gráfica, de la
el nombre (dato cadena)                                  siguiente
correspondiente a dicho                                  forma:
día.
Ejercicios de la Instrucción Alternativa Múltiple

                                                  Pseudocódigo


                     Ejercicio:                                  Solución:
Número del dado (Alternativa múltiple -
Pseudocódigo CEE); diseñe el algoritmo (en
pseudocódigo) de un programa que:

1.- Pida por teclado el resultado (dato entero)
obtenido al lanzar un dado de seis caras.
2.- Muestre por pantalla el número en letras
(dato cadena) de la cara opuesta al resultado
obtenido.

En pantalla:
Ejercicios de la Instrucción Alternativa Múltiple

                                              Ordinograma

                   Ejercicio:                               Solución:
Habitaciones de una casa rural (Alternativa
múltiple - Ordinogramas)

En la siguiente tabla se muestra el número de
camas de las habitaciones de una casa rural,
además de la planta donde está ubicada cada una
de ellas:

En pantalla:
Instrucción Repetitiva Mientras en Pseudocódigo



           En pseudocódigo, para escribir una instrucción repetitiva mientras se utiliza la sintaxis:



                                       mientras ( <expresión_lógica> )
                                       <bloque_de_instrucciones>
                                       fin_mientras




Igual que en las instrucciones                     Por tanto, cuando el flujo de un algoritmo llega a un bucle
alternativas doble y simple, a la                  mientras, existen dos posibilidades:
<expresión_lógica> de una
instrucción repetitiva mientras,                   1.- Si la condición se evalúa a falsa, el bloque de
también se le llama condición.                     instrucciones no se ejecuta, y el bucle mientras finaliza
Para que se ejecute el                             sin realizar ninguna iteración.
<bloque_de_instrucciones>, la                      2.- Si la condición se evalúa a verdadera, el bloque de
condición tiene que ser verdadera.                 instrucciones sí que se ejecuta y, después, se vuelve a
Por el contrario, si la condición es               evaluar la condición, para decidir, de nuevo, si el bloque
falsa, el <bloque_de_instrucciones>                de instrucciones se vuelve a ejecutar o no.
no se ejecuta.                                     Y así sucesivamente, hasta que, la condición sea falsa.
Variable Contador



                     En programación, para comprender qué es una variable contador.



Ejemplo: Se quiere diseñar el                                                      Traza de un algoritmo:
algoritmo de un programa que
muestre por pantalla los
primeros diez números             El problema se puede resolver con el
naturales:                                     algoritmo:


                                  algoritmo Numeros_del_1_al_10variables
                                  entero contador inicio
                                  contador ← 1 /* Inicialización del contador */
                                  mientras ( contador <= 10 ) /* Condición */
                                  escribir( contador ) /* Salida */
                                  contador ← contador + 1 /* Incremento */
                                  fin_mientras
                                  fin
Cambios en un Bucle Mientras                                  Errores en un Bucle Mientras


  ¿Qué cambios importantes se pueden hacer                         ¿Qué errores pueden producirse en un
           en un bucle mientras?                                             bucle mientras?
Ejemplo: Se quiere diseñar el algoritmo de un               Ejemplo: Un pequeño descuido, como por ejemplo, no
programa que muestre por pantalla los primeros diez         escribir de forma correcta la condición del bucle, puede
números naturales, pero a la inversa, es decir, del 10 al   producir un bucle infinito:
1:

                                                                  algoritmo Numeros_del_10_al_1
       algoritmo Numeros_del_1_al_10
                                                                  variables
       variables
                                                                  entero contador
       entero contador
                                                                  inicio
       inicio
                                                                  contador ← 10 /* Cambio 1 */
       contador ← 1 /* Inicialización del contador */
                                                                  mientras ( contador <= 10 ) /* Descuido */
       mientras ( contador <= 10 ) /* Condición */
                                                                  escribir( contador )
       escribir( contador ) /* Salida */
                                                                  contador ← contador - 1 /* Cambio 3 */
       contador ← contador + 1 /* Incremento */
                                                                  fin_mientras
       fin_mientras
                                                                  fin
       fin


                     En pantalla:                                                En pantalla:
Uso de un Bucle Mientras que puede no iterar



                        ¿Cuándo utilizar un bucle mientras que quizás no itere?
        Para comprender el porqué puede tener sentido utilizar un bucle mientras, el cual pueda no iterar
                                ninguna vez, estúdiese el siguiente problema.

                                                            En pantalla:

Ejemplo: Se quiere diseñar el algoritmo de un
programa que:

1.- Pida por teclado la nota (dato real) de una
asignatura.
2.- En el caso de que la nota sea incorrecta, muestre
por pantalla el mensaje:
"ERROR: Nota incorrecta, debe ser >= 0 y <= 10".             En algoritmo:
3.- Repita los pasos 1º y 2º, mientras que, la nota
introducida sea incorrecta.
4.- Muestre por pantalla:
"APROBADO", en el caso de que la nota sea mayor o
igual que 5.
"SUSPENDIDO", en el caso de que la nota sea menor
que 5.
Instrucción Repetitiva Mientras en Ordinogramas



                ¿Cómo se representa un bucle mientras en ordinogramas?
En un ordinograma, una instrucción repetitiva mientras se representa de la siguiente manera:




                                           De forma que, por ejemplo, el algoritmo del ejemplo del
                                            apartado "Variable Contador" se puede representar,
                                               gráficamente, como se muestra a continuación:
Ejercicio de la instrucción repetitiva                 Ejercicio de la instrucción repetitiva
    mientras en pseudocódigo:                               mientras en ordinograma:


Área de una esfera (Repetitiva mientras -               Volúmenes de cubos (Repetitiva mientras
Pseudocódigo CEE)                                       - Ordinogramas)

Diseñe el algoritmo (en pseudocódigo) de un             Diseñe el algoritmo (ordinograma) de un
programa que:                                           programa que:
1.- Pida por teclado el radio (dato real) de una        1.- Pida por teclado la arista (dato real) de un
esfera.                                                 cubo.
2.- En el caso de que el radio sea menor o igual        2.- En el caso de que la arista sea mayor
que 0, muestre por pantalla el mensaje:                 que cero, muestre por pantalla el mensaje:
•"ERROR: El radio debe ser mayor que cero.".            •"El volumen del cubo de arista <arista> es:
3.- Repita los pasos 1º y 2º, mientras que, el radio    <volumen>".
introducido sea incorrecto.                             3.- Repita los pasos 1º y 2º, mientras que, la
4.- Muestre por pantalla:                               arista introducida sea mayor que cero.
•"El área de una esfera de radio <radio> es:            4.- Muestre por pantalla cuantos volúmenes
<área>".                                                de cubos han sido calculados.
Solución por pseudocódigo:   Solución por ordinograma:
Instrucciones de Salto



           ¿Qué tipos de instrucciones de salto existen?

A continuación, se tratan las distintas instrucciones de control de salto que se
   pueden utilizar para diseñar algoritmos, tanto en pseudocódigo como en
                                 ordinogramas.


                               -Interrumpir
                               -Continuar e
                               -Ir_a y volver.
Instrucción interrumpir


                      ¿Qué es una instrucción de control de salto interrumpir?
         En pseudocódigo, para escribir una instrucción de salto interrumpir, se utiliza la sintaxis:


           interrumpir
                                                             Estúdiese el siguiente algoritmo:
                                                       algoritmo Numeros_opuestos_del_menos_10_al_mas_10
                                                       variablesentero n, a
                                                       inicioa ← 0hacer
La instrucción de salto
                                                       escribir( "Introduzca un número entero: " )leer( n )
interrumpir siempre se usa para                        si ( n = 0 )escribir( "ERROR: El cero no tiene opuesto." )
interrumpir (romper) la ejecución                      interrumpir
normal de un bucle, es decir, la                       /* En el caso de que n sea un cero,
instrucción interrumpir finaliza                       el bucle se interrumpe. */
(termina) la ejecución de un                           fin_si escribir( "El opuesto es: ", -n )
                                                       a ← a + nmientras ( n >= -10 y n <= 10 )escribir( "Suma:", a)
bucle y, por tanto, el control del
                                                       fin
programa se transfiere (salta) a
la primera instrucción después
del bucle.


                                                  La traza del
                                                  algoritmo es:
Instrucción continuar


                            ¿Qué es una instrucción de control de salto continuar?
             En pseudocódigo, para escribir una instrucción de salto continuar, se utiliza la sintaxis:


                   continuar
                                                           En el algoritmo siguiente se muestra como se puede
                                                           utilizar la instrucción continuar:

La instrucción de salto continuar siempre se
                                                              algoritmo Numeros_opuestos_del_menos_10_al_mas_10
usa para interrumpir (romper) la ejecución                    variables
normal de un bucle. Sin embargo, el control                   entero n, a
del programa no se transfiere a la primera                    inicio
instrucción después del bucle (como sí hace                   a←0
la instrucción interrumpir), es decir, el bucle               hacer escribir( "Introduzca un número entero: " )
                                                              leer( n )si ( n = 0 )escribir( "ERROR: El cero no tiene opuesto.")
no finaliza, sino que, finaliza la iteración en
                                                              continuar/* En el caso de que n sea un cero, la iteración en
curso, transfiriéndose el control del programa                curso del bucle
a la condición de salida del bucle, para decidir              se interrumpe aquí. */
si se debe realizar una nueva iteración o no.                 fin_si escribir( "El opuesto es: ", -n )a ← a + n
                                                              mientras ( n >= -10 y n <= 10 )escribir( "Suma: ", a )
Por tanto, la instrucción continuar finaliza (termina)        fin
la ejecución de una iteración de un bucle, pero, no
la ejecución del bucle en sí. De forma que, la
instrucción continuar salta (no ejecuta) las
instrucciones que existan después de ella, en la
iteración de un bucle.
Instrucción ir_a


                           ¿Qué es una instrucción de control de salto ir_a?
             En pseudocódigo, para escribir una instrucción de salto ir_a, se utiliza la sintaxis:



     ir_a <nombre_de_la_etiqueta>                      En el siguiente algoritmo se utiliza la instrucción ir_a
                                                       para resolver el mismo problema que el del ejemplo de
                                                       "Instrucción interrumpir":

                                                           algoritmo Numeros_opuestos_del_menos_10_al_mas_10
La instrucción de salto ir_a se puede                      variables entero n, a
usar en cualquier parte del cuerpo de                      inicio
un algoritmo, para transferir                              a ← 0 hacer
                                                           escribir( "Introduzca un número entero: " )
incondicionalmente el control del
                                                           leer( n ) si ( n = 0 )
algoritmo (o programa) a la primera                        escribir( "ERROR: El cero no tiene opuesto." )
instrucción después de una etiqueta, o                     ir_a etiqueta_1
dicho de otra forma, al ejecutar una                       /* En el caso de que n sea un cero,
instrucción ir_a, el control del programa                  el control del programa salta a la primera
se transfiere (salta) a la primera                         instrucción después de etiqueta_1. */
                                                           fin_si escribir( "El opuesto es: ", -n )
instrucción después de una etiqueta.
                                                           a←a+n
Una etiqueta se define mediante su                         mientras ( n >= -10 y n <= 10 ) etiqueta_1:
nombre (identificador) seguido del                         escribir( "Suma: ", a )
carácter dos puntos (:).                                   fin
Instrucción volver


           ¿Qué es una instrucción de control de salto volver?
En nuestro pseudocódigo CEE, para escribir una instrucción de salto volver, vamos
                             a utilizar la sintaxis:



                                volver <expresión>


    Que se corresponde con la instrucción return utilizada en lenguaje C para
                  indicar el valor de retorno de una función:


                                return <expresión>
Ventajas de no usar las Instrucciones de Salto


     ¿Por qué es mejor no utilizar las instrucciones de control de salto?
Las ventajas de no usar las instrucciones de salto, especialmente la instrucción:




             -ir_a (goto), se pueden resumir en:
             -La legibilidad del algoritmo es mayor.
             -La probabilidad de cometer errores en el
             algoritmo es menor.
             -Es más fácil realizar cambios o corregir
             errores en el algoritmo.
             -Nunca se altera (rompe) la secuencia de
             ejecución normal del programa. Dicho de
             otro modo, el programa siempre se ejecuta
             de un modo natural.
Anidamiento de Instrucciones Alternativas



En programación, las instrucciones alternativas y las instrucciones repetitivas pueden
escribirse una dentro de otra. A este hecho se le conoce como anidamiento de
instrucciones. Así, las instrucciones alternativas permiten realizar las siguientes
combinaciones de anidamiento:

                                       -Doble en doble.
                                      -Doble en simple.
                                     -Doble en múltiple.
                                     -Simple en simple.
                                      -Simple en doble.
                                    -Simple en múltiple.
                                   -Múltiple en múltiple.
                                     -Múltiple en doble.
                                    -Múltiple en simple.
¿Cómo se anida una instrucción alternativa doble en otra
                         también doble?
        En pseudocódigo, para anidar una alternativa doble en otra, se utiliza la sintaxis:

                      si ( <expresión_lógica_1> )
                      /* Inicio del anidamiento */
                      si ( <expresión_lógica_2><bloque_de_instrucciones_1>
                      sino<bloque_de_instrucciones_2>
                      fin_si/* Fin del anidamiento */
                      sino<bloque_de_instrucciones_3>
                      fin_si




Se quiere diseñar el algoritmo de un programa que:
1.- Pida por teclado la nota (real) de una
asignatura.
2.- Muestre por pantalla:

"APTO", en el caso de que la nota sea mayor o
igual que 5 y menor o igual que 10.
"NO APTO", en el caso de que la nota sea mayor o
igual que 0 y menor que 5.
"ERROR: Nota incorrecta.", en el caso de que la
nota sea menor que 0 o mayor que 10.
En ordinograma:
Anidamiento de Instrucciones Repetitivas y Alternativas




       ¿Cómo se anidan las instrucciones repetitivas y alternativas?
              Al igual que las instrucciones alternativas, las instrucciones repetitivas también
              se pueden anidar, permitiendo las siguientes combinaciones de anidamiento:

                                                  Por otro lado, las instrucciones alternativas y repetitivas
                                                  también se pueden anidar entre sí, permitiendo realizar
                                                  18 combinaciones más de anidamiento:




Mientras en mientras                           Mientras en doble                 Doble en mientras
Mientras en hacer...mientras                   Mientras en simple                Doble en hacer...mientras
Mientras en para                               Mientras en múltiple              Doble en para
Hacer...mientras en                            Hacer...mientras en doble         Simple en mientras
Hacer...mientras                               Hacer...mientras en simple        Simple en hacer...mientras
Hacer...mientras en para                       Hacer...mientras en múltiple      Simple en para
Hacer...mientras en mientras                   Para en doble                     Múltiple en mientras
Para en para                                   Para en simple                    Múltiple en hacer...mientras
Para en mientras                               Para en múltiple                  Múltiple en para
Para en hacer...mientras
¿Cómo se anida un bucle para en otro bucle hacer...mientras?
        En pseudocódigo, para anidar un bucle para en un bucle hacer...mientras, se utiliza la sintaxis:


                          /* Inicio del anidamiento */
                          para <variable> ← <valor_inicial> hasta <valor_final>
                          [ incremento <valor_incremento> |
                          decremento <valor_decremento> ] hacer
                          <bloque_de_instrucciones>
                          fin_para/* Fin del anidamiento */ mientras ( <expresión_lógica>)




Se quiere diseñar el algoritmo de
un programa que muestre por
pantalla la tabla de multiplicar de
un número entero introducido por
el usuario. El proceso debe
repetirse mientras que el usuario
lo desee:
En ordinograma:

Más contenido relacionado

La actualidad más candente

Presentacion 5
Presentacion 5Presentacion 5
Presentacion 5
aarg90
 
Presentacion python final
Presentacion python finalPresentacion python final
Presentacion python final
Alex
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1
Kathy Granizo
 

La actualidad más candente (17)

Presentacion 5
Presentacion 5Presentacion 5
Presentacion 5
 
Nivel cognitivo
Nivel cognitivoNivel cognitivo
Nivel cognitivo
 
Presentacion python final
Presentacion python finalPresentacion python final
Presentacion python final
 
Variables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeIntVariables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeInt
 
Constantes y variables enitmar
Constantes y variables enitmarConstantes y variables enitmar
Constantes y variables enitmar
 
Pseint
PseintPseint
Pseint
 
Pseudocodigos
PseudocodigosPseudocodigos
Pseudocodigos
 
curso_programacion_python3.pdf
curso_programacion_python3.pdfcurso_programacion_python3.pdf
curso_programacion_python3.pdf
 
Manual.es
Manual.esManual.es
Manual.es
 
Pseint
PseintPseint
Pseint
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Word
WordWord
Word
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1
 
Presentacion04
Presentacion04Presentacion04
Presentacion04
 
M altamirano ejercicios+practicos+con+el+uso+de+pse_int
M altamirano ejercicios+practicos+con+el+uso+de+pse_intM altamirano ejercicios+practicos+con+el+uso+de+pse_int
M altamirano ejercicios+practicos+con+el+uso+de+pse_int
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensamblador
 
Estructuras de control c++
Estructuras de control c++Estructuras de control c++
Estructuras de control c++
 

Similar a Asignació..

Estructuras de seleccion
Estructuras de seleccionEstructuras de seleccion
Estructuras de seleccion
Clariza
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++
David
 

Similar a Asignació.. (20)

Apunte de diagrama de flujos
Apunte de diagrama de flujosApunte de diagrama de flujos
Apunte de diagrama de flujos
 
instruccion de control
instruccion de controlinstruccion de control
instruccion de control
 
Ejercicios prácticos con el uso de pseint
Ejercicios prácticos con el uso de pseintEjercicios prácticos con el uso de pseint
Ejercicios prácticos con el uso de pseint
 
Algoritmos. (álgebra discreta).
Algoritmos. (álgebra discreta).Algoritmos. (álgebra discreta).
Algoritmos. (álgebra discreta).
 
Power point
Power pointPower point
Power point
 
Benemérita universidad autónoma de puebla
Benemérita universidad autónoma de pueblaBenemérita universidad autónoma de puebla
Benemérita universidad autónoma de puebla
 
Instrucciones de control alternativas
Instrucciones de control alternativasInstrucciones de control alternativas
Instrucciones de control alternativas
 
Estructuras Selectivas.pdf
Estructuras Selectivas.pdfEstructuras Selectivas.pdf
Estructuras Selectivas.pdf
 
Instrucciones de control de salto
Instrucciones de control de saltoInstrucciones de control de salto
Instrucciones de control de salto
 
Guia 4
Guia 4Guia 4
Guia 4
 
Estructuras de seleccion
Estructuras de seleccionEstructuras de seleccion
Estructuras de seleccion
 
Tecnologia jenny
Tecnologia jennyTecnologia jenny
Tecnologia jenny
 
Presentación1
Presentación1Presentación1
Presentación1
 
Tema 05 condicional
Tema 05 condicionalTema 05 condicional
Tema 05 condicional
 
6 Escritura De Algoritmos Programas
6 Escritura De Algoritmos Programas6 Escritura De Algoritmos Programas
6 Escritura De Algoritmos Programas
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++
 
Informe#9
Informe#9Informe#9
Informe#9
 
estructurascondicionales-180528201514.pptx
estructurascondicionales-180528201514.pptxestructurascondicionales-180528201514.pptx
estructurascondicionales-180528201514.pptx
 
Algoritmo utilizando pseudolenguaje
Algoritmo utilizando pseudolenguajeAlgoritmo utilizando pseudolenguaje
Algoritmo utilizando pseudolenguaje
 
Tema 03 condicional
Tema 03 condicionalTema 03 condicional
Tema 03 condicional
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (11)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 

Asignació..

  • 1. República Bolivariana de Venezuela Ministerio Popular Para La Educación Superior U.N.E.X.P.O «Antonio José de Sucre» Vice-rectorado «Luis Caballero Mejías» Núcleo Charallave Profesor(a): Bachiller: Echenique, Gioconda Briceño, Leonardo Computación II 2011 147 167 Charallave, Oct. 2012
  • 2. INSTRUCCIONES DE CONTROL ALTERNATIVAS Se pueden utilizar para diseñar algoritmos, tanto en pseudocódigo como en ordinogramas: SIMPLE MÚLTIPLE DOBLE
  • 3. Instrucción Alternativa Doble Pseudocódigo Ordinogramas En pseudocódigo, para escribir una instrucción En un ordinograma, una instrucción alternativa doble se alternativa doble se utiliza la sintaxis: representa de la siguiente manera: si ( <expresión_lógica> ) <bloque_de_instrucciones_1> sino <bloque_de_instrucciones_2> fin_si En consecuencia, el algoritmo del ejemplo del apartado anterior, "Instrucción de Control Alternativa Doble en Pseudocódigo", se puede representar, gráficamente, de la siguiente forma: A la <expresión_lógica> de una instrucción alternativa doble también se le denomina condición. Para que se ejecute el <bloque_de_instrucciones_1>, la condición tiene que ser verdadera. Por el contrario, si la condición es falsa, se ejecutará el <bloque_de_instrucciones_2>. En resumen, una instrucción alternativa doble (o simplemente alternativa doble) permite seleccionar, por medio de una condición, el siguiente bloque de instrucciones a ejecutar, de entre dos posibles.
  • 4. Ejercicios de la Instrucción Alternativa Doble Pseudocódigo Ejercicio: Solución: Suma de dos números (alternativa doble - pseudocódigo CEE); diseñe el algoritmo (en pseudocódigo) de un programa que: 1.- Pida por teclado dos números (datos enteros). 2.- Calcule la suma de los números introducidos por el usuario. 3.- Muestre por pantalla: -"LA SUMA SÍ ES MAYOR QUE CERO.", En el caso de que sí lo sea. -"La suma no es mayor que cero.", En el caso de que no lo sea. En pantalla:
  • 5. Ejercicios de la Instrucción Alternativa Doble Ordinograma Ejercicio: Solución: Número intermedio (alternativa doble - ordinogramas); diseñe el algoritmo (ordinograma) de un programa que: 1.- Pida por teclado tres números (datos enteros): <numero1>, <numero2> y <numero3>. 2.- Muestre por pantalla: -"<numero2> SI ES MENOR QUE <numero3> Y MAYOR QUE <numero1>", en el caso de que sí lo sea. -"<Numero2> no es menor que <numero3> y mayor que <numero1>", en el caso de que no lo sea. En pantalla:
  • 6. Instrucción Alternativa Simple En programación, una instrucción alternativa simple es una variante (más sencilla) de una instrucción alternativa doble. Pseudocódigo Ordinogramas En pseudocódigo, para escribir una alternativa simple En un ordinograma, una instrucción alternativa se utiliza la sintaxis: simple se representa de la siguiente manera: si ( <expresión_lógica> ) <bloque_de_instrucciones> fin_si Se quiere diseñar el algoritmo de un programa que: 1.- Pida por teclado la nota (dato real) de una asignatura. 2.- Muestre por pantalla: "APROBADO", en el caso de que la nota sea mayor o igual que 5. El pseudocódigo", ta mbién puede En pantalla: representarse, gráfi camente, de la siguiente forma:
  • 7. Ejercicios de la Instrucción Alternativa Simple Pseudocódigo Ejercicio: Solución: Cambio de signo (Alternativa simple - Pseudocódigo CEE);Diseñe el algoritmo (en pseudocódigo) de un programa que: 1.- Pida por teclado un número (dato real). 2.- Muestre por pantalla el número introducido, pero, cambiado de signo y, sólo en el caso de que el número no sea mayor o igual que cero. En pantalla:
  • 8. Ejercicios de la Instrucción Alternativa Simple Ordinograma Ejercicio: Solución: Media aritmética (Alternativa simple - Ordinogramas); Diseñe el algoritmo (ordinograma) de un programa que: 1.- Pida por teclado dos números (datos enteros). 2.- Muestre por pantalla la media aritmética de los números introducidos, pero, sólo en el caso de que ambos números sean mayores que cero. En pantalla:
  • 9. Instrucción Alternativa Múltiple Una instrucción alternativa múltiple permite seleccionar, por medio de una expresión, el siguiente bloque de instrucciones a ejecutar de entre varios posibles. Pseudocódigo Ordinogramas En pseudocódigo, para escribir una alternativa En un ordinograma, una instrucción alternativa múltiple se utiliza la sintaxis: múltiple se representa de la siguiente manera: segun_sea ( <expresión> ) <lista_de_valores_1> : <bloque_de_instrucciones_1> <lista_de_valores_2> : <bloque_de_instrucciones_2> <lista_de_valores_n> : <bloque_de_instrucciones_n> [ sino : <bloque_de_instrucciones_n+1>fin_segun_sea Se quiere diseñar el algoritmo de un programa que: Se puede 1.- Pida por teclado el número (dato entero) de un día representar, de la semana. de manera 2º.-Muestre por pantalla gráfica, de la el nombre (dato cadena) siguiente correspondiente a dicho forma: día.
  • 10. Ejercicios de la Instrucción Alternativa Múltiple Pseudocódigo Ejercicio: Solución: Número del dado (Alternativa múltiple - Pseudocódigo CEE); diseñe el algoritmo (en pseudocódigo) de un programa que: 1.- Pida por teclado el resultado (dato entero) obtenido al lanzar un dado de seis caras. 2.- Muestre por pantalla el número en letras (dato cadena) de la cara opuesta al resultado obtenido. En pantalla:
  • 11. Ejercicios de la Instrucción Alternativa Múltiple Ordinograma Ejercicio: Solución: Habitaciones de una casa rural (Alternativa múltiple - Ordinogramas) En la siguiente tabla se muestra el número de camas de las habitaciones de una casa rural, además de la planta donde está ubicada cada una de ellas: En pantalla:
  • 12. Instrucción Repetitiva Mientras en Pseudocódigo En pseudocódigo, para escribir una instrucción repetitiva mientras se utiliza la sintaxis: mientras ( <expresión_lógica> ) <bloque_de_instrucciones> fin_mientras Igual que en las instrucciones Por tanto, cuando el flujo de un algoritmo llega a un bucle alternativas doble y simple, a la mientras, existen dos posibilidades: <expresión_lógica> de una instrucción repetitiva mientras, 1.- Si la condición se evalúa a falsa, el bloque de también se le llama condición. instrucciones no se ejecuta, y el bucle mientras finaliza Para que se ejecute el sin realizar ninguna iteración. <bloque_de_instrucciones>, la 2.- Si la condición se evalúa a verdadera, el bloque de condición tiene que ser verdadera. instrucciones sí que se ejecuta y, después, se vuelve a Por el contrario, si la condición es evaluar la condición, para decidir, de nuevo, si el bloque falsa, el <bloque_de_instrucciones> de instrucciones se vuelve a ejecutar o no. no se ejecuta. Y así sucesivamente, hasta que, la condición sea falsa.
  • 13. Variable Contador En programación, para comprender qué es una variable contador. Ejemplo: Se quiere diseñar el Traza de un algoritmo: algoritmo de un programa que muestre por pantalla los primeros diez números El problema se puede resolver con el naturales: algoritmo: algoritmo Numeros_del_1_al_10variables entero contador inicio contador ← 1 /* Inicialización del contador */ mientras ( contador <= 10 ) /* Condición */ escribir( contador ) /* Salida */ contador ← contador + 1 /* Incremento */ fin_mientras fin
  • 14. Cambios en un Bucle Mientras Errores en un Bucle Mientras ¿Qué cambios importantes se pueden hacer ¿Qué errores pueden producirse en un en un bucle mientras? bucle mientras? Ejemplo: Se quiere diseñar el algoritmo de un Ejemplo: Un pequeño descuido, como por ejemplo, no programa que muestre por pantalla los primeros diez escribir de forma correcta la condición del bucle, puede números naturales, pero a la inversa, es decir, del 10 al producir un bucle infinito: 1: algoritmo Numeros_del_10_al_1 algoritmo Numeros_del_1_al_10 variables variables entero contador entero contador inicio inicio contador ← 10 /* Cambio 1 */ contador ← 1 /* Inicialización del contador */ mientras ( contador <= 10 ) /* Descuido */ mientras ( contador <= 10 ) /* Condición */ escribir( contador ) escribir( contador ) /* Salida */ contador ← contador - 1 /* Cambio 3 */ contador ← contador + 1 /* Incremento */ fin_mientras fin_mientras fin fin En pantalla: En pantalla:
  • 15. Uso de un Bucle Mientras que puede no iterar ¿Cuándo utilizar un bucle mientras que quizás no itere? Para comprender el porqué puede tener sentido utilizar un bucle mientras, el cual pueda no iterar ninguna vez, estúdiese el siguiente problema. En pantalla: Ejemplo: Se quiere diseñar el algoritmo de un programa que: 1.- Pida por teclado la nota (dato real) de una asignatura. 2.- En el caso de que la nota sea incorrecta, muestre por pantalla el mensaje: "ERROR: Nota incorrecta, debe ser >= 0 y <= 10". En algoritmo: 3.- Repita los pasos 1º y 2º, mientras que, la nota introducida sea incorrecta. 4.- Muestre por pantalla: "APROBADO", en el caso de que la nota sea mayor o igual que 5. "SUSPENDIDO", en el caso de que la nota sea menor que 5.
  • 16. Instrucción Repetitiva Mientras en Ordinogramas ¿Cómo se representa un bucle mientras en ordinogramas? En un ordinograma, una instrucción repetitiva mientras se representa de la siguiente manera: De forma que, por ejemplo, el algoritmo del ejemplo del apartado "Variable Contador" se puede representar, gráficamente, como se muestra a continuación:
  • 17. Ejercicio de la instrucción repetitiva Ejercicio de la instrucción repetitiva mientras en pseudocódigo: mientras en ordinograma: Área de una esfera (Repetitiva mientras - Volúmenes de cubos (Repetitiva mientras Pseudocódigo CEE) - Ordinogramas) Diseñe el algoritmo (en pseudocódigo) de un Diseñe el algoritmo (ordinograma) de un programa que: programa que: 1.- Pida por teclado el radio (dato real) de una 1.- Pida por teclado la arista (dato real) de un esfera. cubo. 2.- En el caso de que el radio sea menor o igual 2.- En el caso de que la arista sea mayor que 0, muestre por pantalla el mensaje: que cero, muestre por pantalla el mensaje: •"ERROR: El radio debe ser mayor que cero.". •"El volumen del cubo de arista <arista> es: 3.- Repita los pasos 1º y 2º, mientras que, el radio <volumen>". introducido sea incorrecto. 3.- Repita los pasos 1º y 2º, mientras que, la 4.- Muestre por pantalla: arista introducida sea mayor que cero. •"El área de una esfera de radio <radio> es: 4.- Muestre por pantalla cuantos volúmenes <área>". de cubos han sido calculados.
  • 18. Solución por pseudocódigo: Solución por ordinograma:
  • 19. Instrucciones de Salto ¿Qué tipos de instrucciones de salto existen? A continuación, se tratan las distintas instrucciones de control de salto que se pueden utilizar para diseñar algoritmos, tanto en pseudocódigo como en ordinogramas. -Interrumpir -Continuar e -Ir_a y volver.
  • 20. Instrucción interrumpir ¿Qué es una instrucción de control de salto interrumpir? En pseudocódigo, para escribir una instrucción de salto interrumpir, se utiliza la sintaxis: interrumpir Estúdiese el siguiente algoritmo: algoritmo Numeros_opuestos_del_menos_10_al_mas_10 variablesentero n, a inicioa ← 0hacer La instrucción de salto escribir( "Introduzca un número entero: " )leer( n ) interrumpir siempre se usa para si ( n = 0 )escribir( "ERROR: El cero no tiene opuesto." ) interrumpir (romper) la ejecución interrumpir normal de un bucle, es decir, la /* En el caso de que n sea un cero, instrucción interrumpir finaliza el bucle se interrumpe. */ (termina) la ejecución de un fin_si escribir( "El opuesto es: ", -n ) a ← a + nmientras ( n >= -10 y n <= 10 )escribir( "Suma:", a) bucle y, por tanto, el control del fin programa se transfiere (salta) a la primera instrucción después del bucle. La traza del algoritmo es:
  • 21. Instrucción continuar ¿Qué es una instrucción de control de salto continuar? En pseudocódigo, para escribir una instrucción de salto continuar, se utiliza la sintaxis: continuar En el algoritmo siguiente se muestra como se puede utilizar la instrucción continuar: La instrucción de salto continuar siempre se algoritmo Numeros_opuestos_del_menos_10_al_mas_10 usa para interrumpir (romper) la ejecución variables normal de un bucle. Sin embargo, el control entero n, a del programa no se transfiere a la primera inicio instrucción después del bucle (como sí hace a←0 la instrucción interrumpir), es decir, el bucle hacer escribir( "Introduzca un número entero: " ) leer( n )si ( n = 0 )escribir( "ERROR: El cero no tiene opuesto.") no finaliza, sino que, finaliza la iteración en continuar/* En el caso de que n sea un cero, la iteración en curso, transfiriéndose el control del programa curso del bucle a la condición de salida del bucle, para decidir se interrumpe aquí. */ si se debe realizar una nueva iteración o no. fin_si escribir( "El opuesto es: ", -n )a ← a + n mientras ( n >= -10 y n <= 10 )escribir( "Suma: ", a ) Por tanto, la instrucción continuar finaliza (termina) fin la ejecución de una iteración de un bucle, pero, no la ejecución del bucle en sí. De forma que, la instrucción continuar salta (no ejecuta) las instrucciones que existan después de ella, en la iteración de un bucle.
  • 22. Instrucción ir_a ¿Qué es una instrucción de control de salto ir_a? En pseudocódigo, para escribir una instrucción de salto ir_a, se utiliza la sintaxis: ir_a <nombre_de_la_etiqueta> En el siguiente algoritmo se utiliza la instrucción ir_a para resolver el mismo problema que el del ejemplo de "Instrucción interrumpir": algoritmo Numeros_opuestos_del_menos_10_al_mas_10 La instrucción de salto ir_a se puede variables entero n, a usar en cualquier parte del cuerpo de inicio un algoritmo, para transferir a ← 0 hacer escribir( "Introduzca un número entero: " ) incondicionalmente el control del leer( n ) si ( n = 0 ) algoritmo (o programa) a la primera escribir( "ERROR: El cero no tiene opuesto." ) instrucción después de una etiqueta, o ir_a etiqueta_1 dicho de otra forma, al ejecutar una /* En el caso de que n sea un cero, instrucción ir_a, el control del programa el control del programa salta a la primera se transfiere (salta) a la primera instrucción después de etiqueta_1. */ fin_si escribir( "El opuesto es: ", -n ) instrucción después de una etiqueta. a←a+n Una etiqueta se define mediante su mientras ( n >= -10 y n <= 10 ) etiqueta_1: nombre (identificador) seguido del escribir( "Suma: ", a ) carácter dos puntos (:). fin
  • 23. Instrucción volver ¿Qué es una instrucción de control de salto volver? En nuestro pseudocódigo CEE, para escribir una instrucción de salto volver, vamos a utilizar la sintaxis: volver <expresión> Que se corresponde con la instrucción return utilizada en lenguaje C para indicar el valor de retorno de una función: return <expresión>
  • 24. Ventajas de no usar las Instrucciones de Salto ¿Por qué es mejor no utilizar las instrucciones de control de salto? Las ventajas de no usar las instrucciones de salto, especialmente la instrucción: -ir_a (goto), se pueden resumir en: -La legibilidad del algoritmo es mayor. -La probabilidad de cometer errores en el algoritmo es menor. -Es más fácil realizar cambios o corregir errores en el algoritmo. -Nunca se altera (rompe) la secuencia de ejecución normal del programa. Dicho de otro modo, el programa siempre se ejecuta de un modo natural.
  • 25. Anidamiento de Instrucciones Alternativas En programación, las instrucciones alternativas y las instrucciones repetitivas pueden escribirse una dentro de otra. A este hecho se le conoce como anidamiento de instrucciones. Así, las instrucciones alternativas permiten realizar las siguientes combinaciones de anidamiento: -Doble en doble. -Doble en simple. -Doble en múltiple. -Simple en simple. -Simple en doble. -Simple en múltiple. -Múltiple en múltiple. -Múltiple en doble. -Múltiple en simple.
  • 26. ¿Cómo se anida una instrucción alternativa doble en otra también doble? En pseudocódigo, para anidar una alternativa doble en otra, se utiliza la sintaxis: si ( <expresión_lógica_1> ) /* Inicio del anidamiento */ si ( <expresión_lógica_2><bloque_de_instrucciones_1> sino<bloque_de_instrucciones_2> fin_si/* Fin del anidamiento */ sino<bloque_de_instrucciones_3> fin_si Se quiere diseñar el algoritmo de un programa que: 1.- Pida por teclado la nota (real) de una asignatura. 2.- Muestre por pantalla: "APTO", en el caso de que la nota sea mayor o igual que 5 y menor o igual que 10. "NO APTO", en el caso de que la nota sea mayor o igual que 0 y menor que 5. "ERROR: Nota incorrecta.", en el caso de que la nota sea menor que 0 o mayor que 10.
  • 28. Anidamiento de Instrucciones Repetitivas y Alternativas ¿Cómo se anidan las instrucciones repetitivas y alternativas? Al igual que las instrucciones alternativas, las instrucciones repetitivas también se pueden anidar, permitiendo las siguientes combinaciones de anidamiento: Por otro lado, las instrucciones alternativas y repetitivas también se pueden anidar entre sí, permitiendo realizar 18 combinaciones más de anidamiento: Mientras en mientras Mientras en doble Doble en mientras Mientras en hacer...mientras Mientras en simple Doble en hacer...mientras Mientras en para Mientras en múltiple Doble en para Hacer...mientras en Hacer...mientras en doble Simple en mientras Hacer...mientras Hacer...mientras en simple Simple en hacer...mientras Hacer...mientras en para Hacer...mientras en múltiple Simple en para Hacer...mientras en mientras Para en doble Múltiple en mientras Para en para Para en simple Múltiple en hacer...mientras Para en mientras Para en múltiple Múltiple en para Para en hacer...mientras
  • 29. ¿Cómo se anida un bucle para en otro bucle hacer...mientras? En pseudocódigo, para anidar un bucle para en un bucle hacer...mientras, se utiliza la sintaxis: /* Inicio del anidamiento */ para <variable> ← <valor_inicial> hasta <valor_final> [ incremento <valor_incremento> | decremento <valor_decremento> ] hacer <bloque_de_instrucciones> fin_para/* Fin del anidamiento */ mientras ( <expresión_lógica>) Se quiere diseñar el algoritmo de un programa que muestre por pantalla la tabla de multiplicar de un número entero introducido por el usuario. El proceso debe repetirse mientras que el usuario lo desee: