sabato 18 ottobre 2014

MAGGIORE E MINORE DI TRE VARIABILI

18/10/2014

Ora veniamo alla parte pratica. Questo esercizio prevede l'inserimento di tre variabili di tipo intero. Il programma controllerà quale delle tre variabili è la maggiore, quale è intermedia e quale è la più piccola.

Questo compito mi ha permesso di iniziare a prendere confidenza con l'uso dei controlli IF-ELSE, e sopratutto con la sintassi.

Molto importante secondo me a livello visivo fare in modo di incolonnare i vari IF con le sue istruzioni e l'ELSE riferito a quell'IF.


#include <stdio.h>
#include <stdlib.h>

int main()

{
  int a,b,c;
  printf("inserisci a \n");      
  scanf("%d", &a);
  printf("inserisci b \n");
  scanf("%d", &b);
  printf("inserisci c \n");// fino qui dichiaro le variabili e le acquisisco
  scanf("%d", &c);
            
  if (a>b) // parto prima a capire se a è il più grande.
   {
     if (a>c) // conrollo se a è più grande anche di c
         {   
             if (b>c)  // e se b è più grande di c
            {
             printf("a maggiore, b sta in mezzo, c minore");
            }
             else if (b==c) // controllo se b è uguale a c
                   {     
                      printf("a maggiore, b e c sono uguali");
                    }
                  else // altrimenti b è minore anche di c
                           {
                            printf("a maggiore, c sta in mezzo, b minore");
                           }
         }
     else if (a==c) //qui se a è maggiore di b ma non di c. controllo se sono uguali
           {
             printf("a e c maggiori e uguali, b minore");
           }
          else  //qui arrivo se c è maggiore di a e quindi anche di b
             {
                printf("c maggiore, a sta in mezzo, b minore");
              }
   }
  else if (a==b) //qui a non è maggiore di b quindi controllo se sono uguali
       {    
         if (a>c) // controllo se a è maggiore di c. qui a e b sono uguali
          {        
            printf ("a e b sono uguali e sono maggiori di c, ");
          }
         else if (a==c) // controllo se a è uguale a c. in questo caso a, b cono uguali
              {
                printf("a, b,c sono tutti uguali");
              }
             else //qui a e b non sono maggiori di c quindi di conseguenza c è il più grande
                {
                  printf("c maggiore sia di a che di b che sono uguali");
                }        
          }          
      else if (b>c) //qui allora b è maggiore di a. controllo se b è maggiore anche di c
           {
             if (a>c)  // e controllo se a è più piuù grande di c
              {
                printf ("b maggiore, a sta in mezzo, c minore");
              }
             else if (a==c) //vedo se a è uguale a c. nel caso b è il più grande e a e c sono uguali
                  {
                    printf("b maggiore sia di a che di c che sono uguali");
                  }      
                 else // altrimenti c è più grande di a ma più piccolodi b
                    {
                      printf("b maggiore, c sta in mezzo, a minore");
                     }
          }
       else if (b==c) //qui b è maggiore di a ma non è maggiore di c. quindi controllo se sono uguali
             {
              printf("b e c sono uguali e sono maggiori di a");
             }
            else // altrimenti c è più grande di b che però è più grande di a
              {
                printf("c maggiore, b sta in mezzo, a minore");
              }                                         
  return 0;

}


Il programmino è un po rozzo, ma funziona. Oltre che l'incolonnamento delle istruzioni, ho trovato molto comodo segnare passo passo cosa quella parte di programma faceva e cosa andava a controllare. Si fa semplicemente mettendo delle descrizioni precedute da due barre "\\". Praticamente il linguaggio "C" non andrà a considerare tutto quello che trova dopo le barrette. Qui nel mio esempio sono le parti scritte in blu, stesso colore utilizzato da DEVCPP per identificare questo tipo di "appunti".
Chiaramente non ci sono riuscito al primo colpo e più volte ho dovuto rivedere cosa avevo inserito e quali controlli avevo fatto.

Nessun commento:

Posta un commento