Visualizzazione post con etichetta Esercizi Informatica. Mostra tutti i post
Visualizzazione post con etichetta Esercizi Informatica. Mostra tutti i post

lunedì 13 gennaio 2014

Ecco una prima boza dell'esercizio di verifica del 10 gennaio....il prossimo passo sarà implementare le funzioni!

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
using namespace std;
int main()
{
    int vett[10];
    int i;
    int valore;
    int scelta=0;
    srand(time(0));
   
    printf( " 1) vuoi generare i numeri a caso \n 2) inserire i valori manualmente\n");
    scanf ("%d",&scelta);
    if (scelta > 2)
    {printf (" errore! ripeti la tua scelta\n");
    scanf ("%d",&scelta);
    }
    for (i=0;i<10;i++)
        { if (scelta==1)
          {valore=rand()/10;}
          else
          {printf (" inserisci un valore :");
          scanf ("%d",&valore);}
                        if ((valore>19) && (valore < 51))
                           {vett[i]=valore;
                            if (i%2==0)
                               {printf ("Il valore e' : %d\n", vett[i]);}
                                       switch (i)
                                       {case 1: vett[i]++;
                                                printf("incremento i dispari di 1\n");
                                                break;
                                        case 3: vett[i]+=3;
                                                printf("incremento i dispari di 3\n");
                                                break;
                                        case 5: vett[i]++;
                                                printf("incremento i dispari di 1\n");
                                                break;
                                        case 7: vett[i]+=3;
                                                printf("incremento i dispari di 3\n");
                                                break;
                                        case 9: vett[i]++;
                                                printf("incremento i dispari di 1\n");
                                                break;
                                        }
                            }
                             else
                             i--;}
system ("PAUSE");
}

sabato 4 gennaio 2014

Funzioni e Vettori

Esercizi Natalizi su vettori e funzioni!!! L'esercizio non e' ancora completo...


#include <stdlib.h>
#include <stdio.h>
#define dim 5
using namespace std;
void carica(int v[],int DIM);
float media(int v[],int DIM);
int cerca(int v[],int DIM,int cercato);
int pari(int v[],int DIM);
int main()
{   int vett[dim]; //dichiarazione del vettore
    int i; // inizializzazione dell'indice
    float m;
    int replay=1;
    int cercato=0;
    do{                 
                         carica(vett,dim);
                         for (i=0;i<dim;++i) //stampo i valori precedentemnte inseriti
                         {  
                            printf("i valori inseriti sono: %d\n", vett[i]);
                         } 
                         m=media(vett,dim);
                         printf("l'indice e':%d\n",i);
                         printf("la media e': %d\n",m);
                         printf("i pari sono: %d\n",pari(vett,dim));
                         printf("quale numero vuoi cercare?:\n");
                         scanf("%d",&cercato);
                         cercato=cerca(vett,dim,cercato);
                         if (cercato>-1)
                         {printf("la prima occorrenza del valore e': %d \n", cercato);}
                         else
                         {printf("il valore cercato non e' presente nel vettore\n");}
                         printf("vuoi riprovare?\n 0) no \n 1) si \n");
                         scanf("%d",&replay);
      }
      while (replay==1);
      printf(" Ciao \n");
system("PAUSE");
}
void carica(int v[],int DIM) //funzione per il caricamento dei valori del vettore
{
          int i;
          for(i=0;i<dim;++i)
          {
          printf ("inserisci un valore:\n");//caricamento
          scanf("%d",& v[i]);
          }
}
float media(int v[],int DIM) //funzione per la media
{    
          int x; // indice per il for
          float media=0; // varibile che contiene la media
          int tot;
          for (x=0;x<dim;++x)
          {
              tot=tot+v[x];
          }
              //printf(" i valori inseriti sono :%d \n" , v[x]); // verifica se prendeva i valori di vett[i]
              media=tot/dim;
              return media;
}
int cerca(int v[],int DIM,int cercato) // definizione per cercare un numero nel vettore
{
    int i=0;
    int occorrenza=-1;
    do
    {
        if (v[i]==cercato)
        {occorrenza=i;}
        ++i;
    }
     while ((i<dim) && (occorrenza==-1));
     return occorrenza;
}
int pari(int v[],int DIM) // calcolo dei numeri pari
{  
    int i;
    int pari=0;
    for(i=0;i<dim;++i)
    {
     if (v[i]%2==0)
     {pari+=1;}
     }
     return pari;
}
int dispari(int v[],int DIM)
{}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

E qui sotto il link al file su google drive!

Vettori e funzioni il file!

martedì 26 novembre 2013

Vediamo ora come calcolare i numeri di fibonacci con questo semplice esercizio

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
int precedente;
int successivo;
int conta ;
int intermedio;
int main()
{printf ("inserisci i numeri di fibonacci da visualizzare\n");
scanf ("%d", &conta);
    printf ("Inserisci il primo numero :\n");
    scanf ("%d", &precedente);
    printf(" Inserisci il secondo numero:\n");
    scanf ("%d", &successivo);
    while (conta >=1)
    {     printf (" il numero e': %d\n", precedente);
          printf (" il numero e' : %d\n", successivo);
          precedente=precedente+successivo;
          successivo=successivo+precedente;
          conta --;
          }
          system("PAUSE");
}
   
Esercizio di calcolo della somma di N numeri decisi dall'utente, inserendo inoltre il conteggio dei numeri dispari e pari

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
int volte;
int oper;
int ris = 0;
int pari = 0;
int dispari = 0;
int main()
{
    printf (" Inserisci quanti numeri vuoi sommare\n");
    scanf (" %d", &volte);
           
    while (volte > 0)
{    printf (" inserisci il numero:\n");
    scanf ("%d",&oper); 
    ris=ris+oper;
    {
         if ((oper % 2) == 0)
         {
          pari += 1;
          } 
          else if(( oper % 2 )== 1)
          {
          dispari += 1;
          }
    -- volte;
}}
printf ("il totale e' : %d\n", ris);
printf (" i numeri pari sono : %d\n", pari);
printf (" i numeri dispari sono : %d\n", dispari);
system("PAUSE");
}

venerdì 22 novembre 2013

Altro piccolo programma per il calcolo di X1 e X 2 nelle equazioni di secondo grado aventi come primo termine (ax^2 = 1)! Buon divertimento!

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
using namespace std;
int f(int a,int b,int c);
int main()
{    int opera;
     int operb;
     int operc;
     int delta;
     int x1;
     int x2;
     opera=1;
     printf ("inserisci l'operando b : ");
     scanf ("%d" , &operb);
     printf ("\ninserisci l'operando c:");
     scanf ("%d",&operc);
     delta=f(opera,operb,operc);
     system ("PAUSE");
     return 0;
}
                int f(int a,int b, int c)
               {int delta;
               int x1;
               int x2;
               int radice;
               delta=(pow(b,2)-(4*a*c));
               radice = (sqrt(delta));
               if (delta==0)
                            { int x1;
                              int x2;         
                              printf("\nX1 e X2 coincidono\n");
                              x1=(((-b)+(radice))/2);
                              printf ("\n x1 e' uguale a : %d", x1);
                              x2=(((-b)-(radice))/2);
                              printf ("\n x2 e' uguale a : %d\n", x2);
                              }
               else if (delta <= 0)
               {
                              printf ("\nNon ci sono x\n");
               }
               else
               {
               radice = (sqrt(delta));
               printf ("\nil delta e': %d\n", delta);
               printf ("\nla radice del delta e' : %d\n", radice);
               x1=(((-b)+(radice))/2);
               printf ("\n x1 e' uguale a : %d", x1);
               x2=(((-b)-(radice))/2);
               printf ("\n x2 e' uguale a : %d\n", x2);
               }
               return 0;
               }

venerdì 15 novembre 2013

Eccoci di nuovo con alcuni esercizi sulle funzioni e sulla restituzione dei parametri... nello specifico si tratta dell'esercizio della prima verifica di informatica!

#include <stdlib.h>
#include <stdio.h>
using namespace std;
int operazione(int a,int b);
int main()
{
 int x;
 int y;
 int decremento;
 printf (" Inserisci il primo operando : ");
 scanf (" %d", &x);
 printf (" \nInserisci il secondo operando : ");
 scanf (" %d",&y);
 decremento=operazione(x,y);
 printf ("\n Il decremento e' : %d\n", decremento);
 system ("PAUSE");
}
        int operazione(int a,int b)
        {
        int somma;
        int prodotto;
        somma=a+b;
        prodotto=a*b;
        printf (" \n La loro somma e' : %d", somma);
        printf (" \n Il loro prodotto e': %d", prodotto);
        -- a;
        return a;
        }

martedì 12 novembre 2013

Piccolo esercizio di "calcolatrice" con funzione contenente due parametri.
int somma(int a, int b);
int x;
int y;
int ris;
int main()
{
 printf("Inserisci il primo valore: ");
 scanf("%d",& x);
 printf("Inserisci il secondo valore: ");
 scanf("%d",& y);
 ris=somma(x,y);
 printf("somma= %d",ris);
system ("PAUSE")
}
int somma(int a, int b)
{
 int tot;
 tot=a+b;
 return tot;

}
Piccolo esercizio di "calcolatrice" con funzione contenente due parametri.
 
int somma(int a, int b);
int x;
int y;
int ris;
int main()
{
 printf("Inserisci il primo valore: ");
 scanf("%d",& x);
 printf("Inserisci il secondo valore: ");
 scanf("%d",& y);
 ris=somma(x,y);
 printf("somma= %d",ris);
system ("PAUSE")
}
int somma(int a, int b)
{
 int tot;
 tot=a+b;
 return tot;

}

venerdì 1 novembre 2013

Uso di google Drive , pre e post incremento variabili

Ecco il link ad un piccolo programma compilato per la visualizzazione del pre e del post incremento di una variabile!

Incremento variabile

giovedì 31 ottobre 2013

Prova di menu in dos

Ecco una prima prova di menu in dos, copiate o riscrivere il seguente codice nel DEV C++ :

#include <stdio.h>
#include <stdlib.h>
using namespace std;
void menu(); // prototipo di tipo VOID in modo che non restituisca nulla
int main()
{
 menu(); // chiamata della nostra funzione per la creazione di un menu!
 system ("PAUSE");
 return 0;
}
  void menu() // definizione qui creiamo il nostro menu
   {
    printf ("\t\t\tMENU\n");
    printf ("\t\t--------------------\n");
    printf ("\t\t-1 Prima Scelta\n " );
    printf ("\t\t-2 Seconda Scelta\n\n");
    printf ("\t\tfai la tua scelta...\n\n\n\n");
    }
                   Creare le proprie funzioni

Durante la scrittura dei nostri programma possiamo creare delle funzioni in questo modo...

#include <stdio.h>
#include <stdlib.h>
using namespace std;
int f(); // prototipo
int main()
{
f(); // chiamata
system ("PAUSE");
return 0;
}
int f() // definizione ( prottipo + chiamata)
{
printf ("ciao a tutti \n");
}

in questo modo richiamando la nostra funzione f() potremmo eseguire quando scritto nella definizione ( in questo caso viene eseguito il printf CIAO A TUTTI!) senza stare ogni volta a scrivere linee di codice, creando cosi le nostre librerie.

Alle funzioni posso essere assegnati nomi che richiamino l'utilizzo esempio se si crea una funzione di calcolo che esegue le operazioni, si potrebbe assegnare il nome di calcolo() (ricordarsi sempre le parentesi tonde...da quello si capisce che si tratta di una funzione). In un programma possiamo creare diverse funzioni, ogniuna con uno scopo diverso, ricordiamoci che le variabili dichiarate in una funzione sono specifiche di quella funzione e basta! e non possono , quindi, essere richiamate da altre funzioni, pena l'errore segnalato da parte del debugger in fase di compilazione del nostro codice.
Per il momento abbiamo visto due iscruzione, printf e lo scanf  che servono, rispettivamente, a visualizzare un messaggio e letteralmente a "scansionare" il valore e immagazzinarlo in una variabile, in modo che possa essere riusato dal programma.
Vediamo ora un esercizio che serve a "comprendere" come ragionano i compilatori, un modo molto umano di ragionare...più semplicemente da sinistra a destra, cosi come facciamo noi.

quindi scrivere ++a o b++ significa la stessa cosa? tutte e due incrementano la nostra variabile ( a oppure b) ma in che modo? Usiamo questo semplice programma per capire come avviene l'incremento..



#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main ()

{
int a=5; // dichiarazione di due variabili con un dato valore
int b=7;

printf(" %d\n" ,++a); // prima incremento a di uno poi stampo a
printf(" %d\n" ,b++); // prima stampo b poi incremento di 1
printf(" %d\n" ,b); // stampo b

system ("PAUSE");// il system "blocca" la finestra di dos per non farla chiudere
return 0;
}
Iniziamo quindi a vedere il nostro secondo programma con Dev C++!

Dopo aver lanciato il nostro compilatore, andiamo a scrivere questo codice..

#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main ()

{
    int operando1;
    int operando2;
    int somma;
    int sottrazione;
    int prodotto;
    int divisione;
    int modulo;
   
    printf (" inserisci il primo numero: \n");
    scanf ("%d" ,&operando1);
    printf (" Il size di operando1 e' %d\n" ,sizeof(operando1));
    printf (" inserisci il secondo numero: \n");
    scanf ("%d" ,&operando2);
    printf (" Il size di operando2 e' %d\n\n" ,sizeof(operando2));
   
    somma=operando1+operando2;
    prodotto=operando1*operando2;
    sottrazione=operando1-operando2;
    divisione=operando1/operando2;
    modulo=operando1 % operando2;
   
    printf ("operando1+operando2=risultato somma ---> %d+%d=%d" ,operando1,operando2,somma);
    printf ("\n operando1*operando2=risultato prodotto ---> %d*%d=%d" ,operando1,operando2,prodotto);
    printf ("\n operando1-operando2=risultato sottrazione ---> %d-%d=%d" ,operando1,operando2,sottrazione);
    printf ("\n operando1/operando2=risultato divisione ---> %d/%d =%d \n " ,operando1,operando2,divisione);
    printf ("\n operando1/operando2 = risultato modulo ---> %d/%d = %d \n" ,operando1 ,operando2 ,modulo);

system("PAUSE");
return 0;
}

In questo programma vediamo la dichiarazione di alcune variabili (int somma, int sottrazione, int prodotto etc egtc) , le variabili sono dei contenitori a cui possiamo assegnare dei valori (in questo caso int sta per numero intero).

Con questo codice potremmo fare un piccolo esempio di calcolatrice, ancora primitivo, che esegue tutte e quattro le operazioni dopo aver inserito due diversi operandi.