Búsqueda personalizada
Curso de lenguaje C
 Principal
 Inicio
 Libros
 Librerías
 Mapa Web
 
 Recursos
 Artículos
 Cursos
 Ejercicios
 Guías de uso
 Mini Diccionario 
  
 Sintaxis
 ANSI C
 Ordinogramas
 Pascal
 Pseudocódigo 
  
 Acerca de
 Carlos Pes
 Mi Blog 
  
 Sitios Amigos
 Casas Rurales
 Directorio Web

 
[más enlaces] 
  
 Contenidos > 2.4.1 Alternativa doble en doble

Alternativa doble en doble

En lenguaje C, para anidar una alternativa doble en otra, se utiliza la sintaxis:


   if ( <expresión_lógica_1> )
   {

      /* Inicio del anidamiento */
      if ( <expresión_lógica_2> )
      {
         <bloque_de_instrucciones_1>
      }
      else
      {
         <bloque_de_instrucciones_2>
      }
      /* Fin del anidamiento */

   }
   else
   {
      <bloque_de_instrucciones_3>
   }
 

O también:


   if ( <expresión_lógica_1> )
   {
      <bloque_de_instrucciones_1>
   {
   else
   {

      /* Inicio del anidamiento */
      if ( <expresión_lógica_2> )
      {
         <bloque_de_instrucciones_2>
      }
      else
      {
         <bloque_de_instrucciones_3>
      }
      /* Fin del anidamiento */

   }
 

Ejemplo: Se quiere escribir 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 pantalla:


   Introduzca nota (real): 7.5

   APTO

 


   Introduzca nota (real): 12.2

   ERROR: Nota incorrecta.

 

Una solución al problema es:

#include <stdio.h>

int main()
{
   float nota;

   printf( "\n   Introduzca nota (real): " );
   scanf( "%f", &nota );

   if ( nota >= 5 && nota <= 10 )
      printf( "\n   APTO" );
   else

      /* Inicio del anidamiento */
      if ( nota >= 0 && nota < 5 )
         printf( "\n   NO APTO" );
      else
         printf( "\n   ERROR: Nota incorrecta." );
      /* Fin del anidamiento */

   return 0;
}


Fíjese que, en este caso, se puede prescindir de los caracteres abrir llave ({) y cerrar llave (}) de la sintaxis, ya que, los bloques de instrucciones sólo contienen una instrucción.

Como se puede observar, el anidamiento de instrucciones alternativas permite ir descartando valores hasta llegar al bloque de instrucciones que se debe ejecutar.
 Más información
Texto extraído del apartado:

   12.3.1 Alternativa doble en doble

del libro 
EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C, (páginas 352-358).
 Contenidos > Apartado siguiente
2.4.2 Alternativa múltiple en doble
Búsqueda personalizada
Cursos de Carlos Pes: Ejercicios de Carlos Pes: Libros de Carlos Pes: Enlaces Recomendados:
Curso Diseño de Algoritmos
Curso Informática Básica
Curso Ingeniería del Software
Curso Lenguaje C
Curso Turbo Pascal
Curso Representación Datos
Ejercicios de Algoritmos
Ejercicios de Lenguaje C
Ejercicios de Ordinogramas
Ejercicios de Pascal
Empezar de cero a programar en lenguaje C
Domine la programación en lenguaje C
Empezar de cero a programar en Pascal
Tutoriales y Cursos
Gane dinero con su web
Comprar dominio
Programación Informática
Inicio | Libros | Librerías | Mapa Web | Artículos | Cursos | Ejercicios | Guías | MiniDiccionario | Enlaces | Carlos Pes | Mi Blog
© Carlos Javier Pes Rivas, 2006-2008
Política de privacidad - Contactar