Inicio | Artículos | Biografías | Cursos | Entrevistas | Frases | Libros | Diccionario | Presentaciones | Servicios | Videos | Mapa Web | Enlazar | Contactar | Acerca de


CURSO/TUTORIAL DE ALGORITMOS
Introducción
¿Qué es un Algoritmo?
¿Qué es un Ordinograma?
Elementos Básicos
Tipos de Datos
Identificadores
Variables
Constantes
Operadores y Expresiones
Tipos de Datos Definidos por el Programador
Datos de Tipos Enumerados
Datos de Tipos Subrangos
Instrucciones Primitivas
Instrucción de Asignación
Instrucción de Salida
Instrucción de Entrada
Estructura de un Algoritmo
Partes de un Algoritmo
Cabecera
Declaraciones
Cuerpo
Sintaxis de un Algoritmo
Comentarios
Introducción a los Diagramas de Flujo
Asignación
Entrada y Salida
Inicio y Fin
Decisiones
Instrucciones de Control
Instrucciones Alternativas
Instrucciones Repetitivas
Instrucciones De Salto
Llamadas a Subalgoritmos
¿Qué es un Subalgoritmo?
Subprogramas
Procedimientos
Declaraciones Locales y Globales
Parámetros
Funciones
Representación mediante Diagramas de Flujo
CarlosPes.comCurso de Diseño de Algoritmos > Alternativa Múltiple en Pseudocódigo

Instrucción Alternativa Múltiple en Pseudocódigo

¿Qué es una instrucción de control 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. En pseudocódigo, para escribir una alternativa múltiple se utiliza la sintaxis:
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
El resultado de evaluar la <expresión> debe ser un valor perteneciente a un tipo de dato finito y ordenado, es decir, entero, lógico, carácter, enumerado o subrango.

Dependiendo del valor obtenido al evaluar la <expresión>, se ejecutará un bloque de instrucciones u otro. En las listas de valores se deben escribir los valores que determinan el bloque de instrucciones a ejecutar, teniendo en cuenta que, un valor sólo puede aparecer en una lista de valores.

Opcionalmente, se puede escribir un <bloque_de_instrucciones_n+1> después de
sino :. Este bloque de instrucciones se ejecutará en el caso de que el valor obtenido al evaluar la <expresión>, no se encuentre en ninguna de las listas de valores especificadas.

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

1º) Pida por teclado el número (dato entero) de un día de la semana.
2º) Muestre por pantalla el nombre (dato cadena) correspondiente a dicho día.

Nota: Si el número de día introducido es menor que 1 ó mayor que 7, se mostrará el mensaje: "ERROR: Día incorrecto.".

En pantalla:
Salida por pantalla día de la semana
Algoritmo propuesto:
algoritmo Dia_de_la_semana

variables
   entero dia

inicio
   escribir( "Introduzca día de la semana: " )
   leer( dia )
   segun_sea ( dia )
         1 : escribir( "Lunes" )
         2 : escribir( "Martes" )
         3 : escribir( "Miércoles" )
         4 : escribir( "Jueves" )
         5 : escribir( "Viernes" )
         6 : escribir( "Sábado" )
         7 : escribir( "Domingo" )
      sino : escribir( "ERROR: Día incorrecto." )
   fin_segun_sea
fin
Cuando en una lista de valores de una alternativa múltiple aparece más de un valor, estos se escriben separados por el carácter coma (,). Estúdiese el siguiente ejemplo.

Ejemplo 2: En la siguiente tabla se muestran las categorías a las que pertenecen los signos del zodíaco:
Categorías de los Signos del Zodíaco
Se quiere diseñar el algoritmo de un programa que:

1º) Muestre el listado de los signos del zodíaco, con sus números asociados.
2º) Pida por teclado un número (dato entero) asociado a un signo del zodíaco.
3º) Muestre la categoría a la que pertenece el signo del zodíaco seleccionado.

Nota: Si el número introducido por el
usuario, no está asociado a ningún signo del zodíaco, se mostrará el mensaje: "ERROR: <número> no está asociado a ningún signo.".

En pantalla:
Ejemplo salida por pantalla de una instrucción alternativa múltiple
Ejemplo signo del zodíaco no existe
Una posible solución es:
algoritmo Signo_del_zodiaco

variables
   entero numero

inicio
   escribir( "Listado de signos del zodíaco:" )
   escribir( "1. Aries" )
   escribir( "2. Tauro" )
   escribir( "3. Géminis" )
   escribir( "4. Cáncer" )
   escribir( "5. Leo" )
   escribir( "6. Virgo" )
   escribir( "7. Libra" )
   escribir( "8. Escorpio" )
   escribir( "9. Sagitario" )
   escribir( "10. Capricornio" )
   escribir( "11. Acuario" )
   escribir( "12. Piscis" )
   escribir( "Introduzca número de signo: " )

   leer( numero )

   segun_sea ( numero )
       1, 5, 9 : escribir( "Es un signo de Fuego." )
      2, 6, 10 : escribir( "Es un signo de Tierra." )
      3, 7, 11 : escribir( "Es un signo de Aire." )
      4, 8, 12 : escribir( "Es un signo de Agua." )
          sino : escribir( "ERROR: ", numero,
                 " no está asociado a ningún signo." )
   fin_segun_sea
fin
Otra solución es:
algoritmo Signo_del_zodiaco

variables
   entero numero
   cadena categoria

inicio
   escribir( "Listado de signos del zodíaco:" )
   escribir( "1. Aries" )
   escribir( "2. Tauro" )
   escribir( "3. Géminis" )
   escribir( "4. Cáncer" )
   escribir( "5. Leo" )
   escribir( "6. Virgo" )
   escribir( "7. Libra" )
   escribir( "8. Escorpio" )
   escribir( "9. Sagitario" )
   escribir( "10. Capricornio" )
   escribir( "11. Acuario" )
   escribir( "12. Piscis" )
   escribir( "Introduzca número de signo: " )

   leer( numero )

   segun_sea ( numero mod 4 )
       1 : categoria ← "Fuego"
       2 : categoria ← "Tierra"
       3 : categoria ← "Aire"
       0 : categoria ← "Agua"
   fin_segun_sea

   si ( numero >= 1 y numero <= 12 )
      escribir( "Es un signo de ", categoria, "." )
   sino
      escribir( "ERROR: ", numero,
      " no está asociado a ningún signo." )
   fin_si
fin
En esta segunda solución existen las siguientes diferencias importantes con respecto a la solución anterior:
  • En el algoritmo se utiliza una alternativa doble, además de una alternativa múltiple.
  • En la alternativa múltiple no se escribe el <bloque_de_instrucciones_n+1>.
  • La expresión de la alternativa múltiple es diferente.
  • La expresión "Es un signo de " sólo se escribe una vez.
  • Se ha utilizado una variable más: categoria.
Artículos Interesantes
Artículos de Desarrollo Web
Artículos de Informática
Artículos de Programación
Artículos de SEO
Cursos/Tutoriales de Informática
Curso/Tutorial de Algoritmos
Curso/Tutorial de Informática Básica
Curso/Tutorial de Ingeniería del Software
Curso/Tutorial de Lenguaje C
Curso/Tutorial de Marketing en Internet
Curso/Tutorial de Turbo Pascal
Curso/Tutorial de Representación de los Datos
Curso/Tutorial para Webmasters
Curso/Tutorial Web 2.0
Curso de SEO
Libros de Carlos Pes
36 Pasos Básicos para Desarrollar un Sitio Web
Empezar de Cero a Programar en Lenguaje C
Fundamentos del SEO
Libros Recomendados
Libros de Analítica Web
Libros de Desarrollo Web
Libros de Java
Libros de Lenguaje C
Libros de Marketing Online
Libros de Pascal (Turbo Pascal)
Libros de SEO
Libros de Visual Basic
Recursos de Informática
Diccionario de Informática
Ejercicios de Programación
Guías de uso de Software
Sintaxis de Lenguajes de Programación
Biografías
Entrevistas
Frases y Citas
Recursos Educativos
Presentaciones Educativas
Videos Educativos
Enlaces Web
Servicios
Desarrollo de Sitios Web
Diseño Web
Aplicaciones Web
Marketing Online
Formación y Conferencias
Consultoría
Acerca de Carlos Pes
Bibliotecas
Colaboradores
Contactar
Enlazar
Librerías
Perfiles en Internet
Mapa Web
Blog de Carlos Pes Blog de Carlos Pes
Google+ CarlosPes.Com en Google+
© 2006-2017 CarlosPes.com