Blog en Blogger Blog en BuscoAfiliados Bookmarks en Delicious Perfil el Facebook Perfil en Twitter Fotos en Flickr Página en MySpace Canal en YouTube Perfil en Google Perfil en Google
Búsqueda personalizada
Curso de lenguaje C
 Principal
 Inicio
 Libros
 Librerías
 Bibliotecas
 Mapa Web
 
 Recursos
 Artículos
 Cursos
 Ejercicios
 Guías de uso
 Mini Diccionario 
  
 Sintaxis
 ANSI C
 Ordinogramas
 Pascal
 Pseudocódigo 
  
 Acerca de
 Carlos Pes
 Colaboradores
 Perfiles
 Taller de ideas 
  
 Otros Proyectos
 Blog Carlos Pes
 Grupo Google
 Fotografías
 Proyecto CP
 Recetas cocina
 Blog en BA 
  
 Sitios Amigos
 Enlaces
  
 Contenidos > 2.4.1 Alternativa doble en doble
2.4.1 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
 A destacar
Cursos Ejercicios Libros Enlaces Recomendados
Curso Diseño de Algoritmos
Curso Informática Básica
Curso Ingeniería del Software
Curso Marketing en Internet
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
Directorio de Empresas
Búsqueda personalizada
 Más Webs Interesantes
© 2006-2010 CarlosPes.com