martedì 12 novembre 2013

Esercizio Verifica

Scrivere prototipo e definizione di una funzione alla quale passare 2 parametri interi che svolga:
1.       Visualizzi contemporaneamente somma e prodotto tra i due parametri
2.       Restituisca il primo parametro decrementato di uno

Scrivere il main che richiami la funzione del precedente esercizio e ne visualizzi i due parametri ed il risultato restituito dalla funzione .


#include <stdio.h>

int funz1(int a,int b);  \\Prototipo Funzione
int oper1;   
int oper2;
int ris;

int main()
{
printf("Inserisci il primo valore: ");
scanf("%d",&oper1);   \\Valore inserito dall'utente salvato in variabile oper1
printf("\nInserisci il secondo valore: ");
scanf("%d",&oper2);   \\Valore inserito dall'utente salvato in variabile oper2
printf("\nI valori inseriti sono: %d e %d",oper1,oper2);
ris=funz1(oper1,oper2);   \\Chiamata Funzione e salva il risultato restituito nella variabile ris
printf("\nIl risultato della funzione e': %d",ris);   \\Stampa risultato restituito da funzione 
}

int funz1(int a,int b)  \\Definizione funzione
{
int somma;
int molt;
somma=a+b;  \\somma i due valori inseriti dall'utente e salva il risultato in variabile somma
molt=a*b;   \\moltiplica i due valori inseriti dall'utente e salva il risultato in variabile molt
printf("\nLa somma tra i due valori e': %d la moltiplicazione tra i due valori e': %d",somma,molt);   
\\Stampa di variabili somma e molt
return a-1;   \\restituisce il primo valore inserito dall'utente decrementato
}

Esercizio IF / ELSE (su calcolatrice con funzioni)

#include <stdio.h>

//PROTOTIPO FUNZIONI
float somma(float x, float y);  
//funzione somma con 2 parametri FLOAT per il passaggio dei dati contenuti in a e b
float sott(float x,float y);  
//funzione sottrazione con 2 parametri FLOAT per il passaggio dei dati contenuti in a e b
float molt(float x,float y);  
//funzione moltiplicazione con 2 parametri FLOAT per il passaggio dei dati contenuti in a e b
float div(float x,float y);  
//funzione divisione con 2 parametri FLOAT per il passaggio dei dati contenuti in a e b
int modulo(int x,int y);      
//funzione modulo con 2 parametri INT per il passaggio dei dati contenuti in a e b

//DICHIARAZIONI VARIABILI
float a;                      
//variabile contenitore primo operando
float b;                      
//variabile contenitore secondo operando
float ris;                  
//variabile contenitore risultati funzioni FLOAT
int mod;                      
//variabile contenitore risultati funzione MODULO
int menu;                    
//variabile contenitore scelta menù

using namespace std;

int main()
{
printf("Inserire il primo valore: ");
scanf("%f",&a);     //contenitore primo operando
printf("\nInserire il secondo valore: ");
scanf("%f",&b);    //contenitore primo operando
printf("\n\n\tMENU CALCOLATRICE\n\n");  //visualizzo menu scelte operazioni disponibili all'utente
printf("1) Somma\n");
printf("2) Sottrazione\n");
printf("3) Moltiplicazione\n");
printf("4) Divisione\n");
printf("5) Modulo\n");
printf("6) Esci");
printf("\nScegli l'operazione da effettuare: ");
scanf("%d",&menu);    //contenitore scelta operazione che l'utente desidera effettuare


if(menu==1)  
//confronto scelta effettuata da utente con richiamo relativa funzione da eseguire
        {
        ris=somma(a, b);   
//chiamata funzione somma con passaggio parametri a e b, poi valore restituito da funzione assegnato a variabile ris
        printf("\n\nIl risultato della somma tra %.2f e %.2f e': %.2f",a,b,ris);   
//visualizzo valore operando e risultato operazione eseguita   
        }
else   
//altrimenti verifico condizione successiva
        if(menu==2)
//confronto scelta effettuata da utente con richiamo relativa funzione da eseguire
                   {
                   ris=sott(a, b);  
//chiamata funzione sottrazione con passaggio parametri a e b, poi valore restituito da funzione assegnato a variabile ris
                   printf("\n\nIl risultato della sottrazione tra %.2f e %.2f e': %.2f",a,b,ris);   
//visualizzo valore operando e risultato operazione eseguita
                   }
        else   
//altrimenti verifico condizione successiva
                if(menu==3)  
//confronto scelta effettuata da utente con richiamo relativa funzione da eseguire
                           {
                           ris=molt(a, b);   
//chiamata funzione moltiplicazione con passaggio parametri a e b, poi valore restituito da funzione assegnato a variabile ris
                           printf("\n\nIl risultato della moltiplicazione tra %.2f e %.2f e': %.2f",a,b,ris);   
//visualizzo valore operando e risultato operazione eseguita    
                           }
                else   
//altrimenti verifico condizione successiva
                           if(menu==4)   
//confronto scelta effettuata da utente con richiamo relativa funzione da eseguire
                                      {
                                      ris=div(a, b);   
//chiamata funzione divisione con passaggio parametri a e b, poi valore restituito da funzione assegnato a variabile ris
                                      printf("\n\nIl risultato della divisione tra %.2f e %.2f e': %.2f",a,b,ris);   
//visualizzo valore operando e risultato operazione eseguita    
                                      }
                           else   
//altrimenti verifico condizione successiva
                                   if(menu==5)   
//confronto scelta effettuata da utente con richiamo relativa funzione da eseguire
                                              {
                                              mod=modulo(a, b);  
//chiamata funzione modulo con passaggio parametri a e b, poi valore restituito da funzione assegnato a variabile INTERA mod
                                              printf("\n\nIl resto della divisione tra %.2f e %.2f e': %d",a,b,mod);   
//visualizzo valore operando e risultato operazione eseguita      
                                              }
                                   else  
//altrimenti in caso di scelte diverse da 1 2 3 4 5 visualizzo la scritta fine e chiudo programma
                                              printf("\n\nFine");                  
}

//DEFINIZIONI FUNZIONI
float somma(float x,float y)   //variabili x e y contengono valori a e b passati dalla chiamata di funzione
{
        float tot;   //dichiaro variabile tipo float tot  
        tot=x+y;   //assegno a tot risultato x+y
        return tot;   //restituisco a chiamata funzione valore contenuto in variabile tot
}

float sott(float x,float y)   //variabili x e y contengono valori a e b passati dalla chiamata di funzione
{
        float tot;   //dichiaro variabile tipo float tot  
        tot=x-y;   //assegno a tot risultato x-y
        return tot;   //restituisco a chiamata funzione valore contenuto in variabile tot
}

float molt(float x,float y)   //variabili x e y contengono valori a e b passati dalla chiamata di funzione
{
        float tot;   //dichiaro variabile tipo float tot  
        tot=x*y;   //assegno a tot risultato x*y
        return tot;   //restituisco a chiamata funzione valore contenuto in variabile tot
}

float div(float x,float y)   //variabili x e y contengono valori a e b passati dalla chiamata di funzione
{
        float tot;   //dichiaro variabile tipo float tot  
        tot=x/y;   //assegno a tot risultato x/y
        return tot;   //restituisco a chiamata funzione valore contenuto in variabile tot
}

int modulo(int x,int y)   //variabili x e y contengono valori a e b passati dalla chiamata di funzione
{
        int tot;   //dichiaro variabile tipo intero tot  
        tot=x%y;   //assegno a tot risultato x%y
        return tot;   //restituisco a chiamata funzione valore contenuto in variabile tot



mercoledì 6 novembre 2013

Esercizio 05/11/2013 Carattere e Stringa

Scrivere un programma che una volta ricevuto un carattere dall'utente faccia visualizzare il carattere come "char", come valore decimale e come valore esadecimale.
_________________________________________________________________________________

//Direttive per il coprocessore
#include <stdio.h>   //Inclusione delle Librerie

char a='3';   //Variabile di tipo char a cui è assegnato il carattere '3'

using namespace std;

int main()
{
    printf("\nIl carattere assegnato alla variabile 'A' e': %c a cui corrisponde il valore decimale %d ed esadecimale %x ",a,a,a);
    //visualizza il valore assegnato, il numero decimale e esadecimale corrispondente da tabella ASCII
    printf("\n\nInserisci un carattere: ");
    scanf("%c",&a);  //acquisisco il carattere inserito dall'utente e lo salvo nella variabile "a"
    printf("\nIl carattere inserito e': %c a cui corrisponde il valore decimale %d ed esadecimale %x ",a,a,a);
    //visualizza il valore assegnato, il numero decimale e esadecimale corrispondente da tabella ASCII
}

Esercizio 05/11/2013 Funzioni con Parametri

Scrivere un programma che inseriti due valori dall'utente ne esegua somma, moltiplicazione, sottrazione e modulo tramite funzioni con parametri.
_________________________________________________________________________________

#include<stdio.h> //richiamo la libreria

int somma(int a, int b); //prototipo della funzione somma
int molt(int a, int b);  //prototipo della funzione moltiplicazione
int sott(int a, int b);  //prototipo della funzione sottrazione
int modulo(int a, int b);//prototipo della funzione modulo
int x; //variabile contenitore del primo valore inserito dall'utente
int y; //variabile contenitore del secondo valore inserito dall'utente
int ris;  //variabile contenitore del valore restituito dalle funzioni

using namespace std;

int main()
{
 
printf("Inserisci il primo valore: ");  //chiediamo all'utente di inserire un valore da tastiera
scanf("%d",& x);  //momorizzo il valore inserito dall'utente nella variabile x
printf("Inserisci il secondo valore: ");//chiediamo all'utente di inserire un valore da tastiera
scanf("%d",& y);  //momorizzo il valore inserito dall'utente nella variabile y
ris=somma(x,y);   //chiamo la funzione somma e salvo il valore restituito nella variabile ris
printf("\n\nIl risultato della somma tra i due valori è: %d",ris);  //visualizzo il contenuto della variabile ris
ris=molt (x,y);   //chiamo la funzione molt e salvo il valore restituito nella variabile ris
printf("\n\nIl risultato della moltiplicazione tra i due valori è: %d",ris);  //visualizzo variabile ris
ris=sott (x,y);   //chiamo la funzione sott e salvo il valore restituito nella variabile ris
printf("\n\nIl risultato della sottrazione tra i due valori è: %d",ris);  //visualizzo variabile ris
ris=modulo (x,y); //chiamo la funzione modulo e salvo il valore restituito nella variabile ris
printf("\n\nIl resto della divisione tra tra i due valori è: %d",ris);  //visualizzo variabile ris

}

int somma(int a, int b) //definizione della funzione somma dove i parametri a e b ricevono i valore di x e y
{
int tot;
tot=a+b;
return tot;         //la funzione somma restituisce in chiamata il valore contenuto nella variabile tot
}

int molt(int a, int b) //definizione della funzione molt dove i parametri a e b ricevono i valore di x e y
{
int tot;
tot=a*b;
return tot;        //la funzione molt restituisce in chiamata il valore contenuto nella variabile tot
}

int sott(int a, int b) //definizione della funzione sott dove i parametri a e b ricevono i valore di x e y
{
int tot;
tot=a-b;
return tot;        //la funzione sott restituisce in chiamata il valore contenuto nella variabile tot
}

int modulo(int a, int b) //definizione della funzione modulo dove i parametri a e b ricevono i valore di x e y
{
int tot;
tot=a%b;
return tot;       //la funzione modulo restituisce in chiamata il valore contenuto nella variabile tot
}

lunedì 28 ottobre 2013

arduino

#define ledRosso   9
#define ledBlu    10
#define ledVerde  11
#define ledGiallo 12
#define button1 7
#define button2 6
int cont=0;

void setup()
  {
      pinMode (button1 ,INPUT);
      pinMode (button2 ,INPUT);
      pinMode (ledRosso,OUTPUT);
      pinMode (ledGiallo,OUTPUT);
      pinMode (ledVerde,OUTPUT);
      pinMode (ledBlu,OUTPUT);
  }

void loop()
{

  if (digitalRead(button1)==HIGH)
     {
     delay(200);
     cont==0;
     }
   
  if (digitalRead(button2)==HIGH)
     {
     delay(200);
     cont==1;
     }
 
  switch(cont)
    {
      case 0:
         digitalWrite (ledRosso,HIGH);
         digitalWrite (ledBlu,HIGH);
         digitalWrite (ledVerde,HIGH);
         digitalWrite (ledGiallo,HIGH);
         delay(2000);
         digitalWrite (ledRosso,LOW);
         digitalWrite (ledBlu,LOW);
         digitalWrite (ledVerde,LOW);
         digitalWrite (ledGiallo,LOW);
         delay(2000);
     break;
     case 1:
         digitalWrite (ledRosso,HIGH);
         digitalWrite (ledBlu,HIGH);
         digitalWrite (ledVerde,HIGH);
         digitalWrite (ledGiallo,HIGH);
         delay(1000);
         digitalWrite (ledRosso,LOW);
         digitalWrite (ledBlu,LOW);
         digitalWrite (ledVerde,LOW);
         digitalWrite (ledGiallo,LOW);
         delay(1000);
     break;
   }
   
}

______________________________________________________________________________
#define ledRosso   9
#define ledBlu    10
#define ledVerde  11
#define ledGiallo 12
#define button 7

void setup()
  {
      pinMode (button1 ,INPUT);
      pinMode (button2 ,INPUT);
      pinMode (ledRosso,OUTPUT);
      pinMode (ledGiallo,OUTPUT);
      pinMode (ledVerde,OUTPUT);
      pinMode (ledBlu,OUTPUT);
  }
 
  void loop()
  {

    if (digitalRead(button1)==HIGH)
      {
      digitalWrite (ledRosso,HIGH);
      digitalWrite (ledBlu,HIGH);
      digitalWrite (ledVerde,HIGH);
      digitalWrite (ledGiallo,HIGH);
      delay(2000);
      digitalWrite (ledRosso,LOW);
      digitalWrite (ledBlu,LOW);
      digitalWrite (ledVerde,LOW);
      digitalWrite (ledGiallo,LOW);
      delay(2000);
      }
    if (digitalRead(button2)==HIGH)
      {
      digitalWrite (ledRosso,HIGH);
      digitalWrite (ledBlu,HIGH);
      digitalWrite (ledVerde,HIGH);
      digitalWrite (ledGiallo,HIGH);
      delay(1000);
      digitalWrite (ledRosso,LOW);
      digitalWrite (ledBlu,LOW);
      digitalWrite (ledVerde,LOW);
      digitalWrite (ledGiallo,LOW);
      delay(1000);
      }
 
}
 

_______________________________________________________________________________




#define ledRosso   9
#define ledBlu    10
#define ledVerde  11
#define ledGiallo 12
#define button 7

void setup()
  {
      int i=0;
      pinMode (button ,INPUT);
      pinMode (ledRosso,OUTPUT);
      pinMode (ledGiallo,OUTPUT);
      pinMode (ledVerde,OUTPUT);
      pinMode (ledBlu,OUTPUT);
  }
 
  void loop()
  {

    if (digitalRead(button)==HIGH)
    {
    delay(200);
    i++;
    }
    switch(i)
    {  
      case 0:
         digitalWrite (ledRosso,LOW);
         digitalWrite (ledBlu,LOW);
         digitalWrite (ledVerde,LOW);
         digitalWrite (ledGiallo,LOW);
         break;
      case 1:
         digitalWrite (ledRosso,HIGH);
         break;
      case 2:
         digitalWrite (ledRosso,LOW);
         digitalWrite (ledBlu,HIGH);
         break;
      case 3:
         digitalWrite (ledRosso,HIGH);
         digitalWrite (ledBlu,HIGH);
         break;
      case 4:
         digitalWrite (ledRosso,LOW);
         digitalWrite (ledBlu,LOW);
         digitalWrite (ledVerde,HIGH);
         break;
      case 5:
         digitalWrite (ledRosso,HIGH);
         break;
      case 6:
         digitalWrite (ledRosso,LOW);
         digitalWrite (ledBlu,HIGH);
         break;
      case 7:
         digitalWrite (ledRosso,HIGH);
         break;
      case 8:
         digitalWrite (ledRosso,LOW);
         digitalWrite (ledBlu,LOW);
         digitalWrite (ledVerde,LOW);
         digitalWrite (ledGiallo,HIGH);
         break;
      case 9:
         digitalWrite (ledRosso,HIGH);
         break;
      case 10:
         digitalWrite (ledRosso,LOW);
         digitalWrite (ledBlu,HIGH);
         break;
     case 11:
         digitalWrite (ledRosso,HIGH);
         break;
     case 12:
         digitalWrite (ledRosso,LOW);
         digitalWrite (ledBlu,LOW);        
         digitalWrite (ledVerde,HIGH);
         break;
    case 13:
         digitalWrite (ledRosso,HIGH);
         break;
    case 14:
         digitalWrite (ledRosso,LOW);
         digitalWrite (ledBlu,HIGH);
         break;
    case 15:
         digitalWrite (ledRosso,HIGH);
         break;  
    case 16:
         i=0;
         break;  
   }
 
}

venerdì 25 ottobre 2013

Programma Calcolatrice

//DIRETTIVE PER IL COPROCESSORE

//INCLUSIONE DELLE LIBRERIE

#include <stdio.h> //Libreria funzioni scanf e printf

using namespace std;

//CORPO DEL PROGRAMMA

int main()
{
//Dichiarazione delle Variabili. FORMA: tipo nome_variabile;

float operando1;
float operando2;
float risultato;

printf("Inserire valore Operando1 : ");
scanf("%f",&operando1);
printf("Inserire valore Operando2 :  ");
scanf("%f",&operando2);
risultato=operando1+operando2;
printf("\n\nLa somma di %.2f + %.2f e': %.2f",operando1,operando2,risultato);
risultato=operando1-operando2;
printf("\n\nLa sottrazione di %.2f - %.2f e': %.2f",operando1,operando2,risultato);
risultato=operando1*operando2;
printf("\n\nLa moltiplicazione di %.2f * %.2f e': %.2f",operando1,operando2,risultato);
risultato=operando1/operando2;
printf("\n\nLa divisione di %.2f / %.2f e': %.2f",operando1,operando2,risultato);

}

/*
Classe:
3A Informatica Serale
Data:
22/10/2013
*/



lunedì 21 ottobre 2013

IDE integrated development environment

Un ambiente di sviluppo integrato (in lingua inglese integrated development environment ovvero IDE è un software che, in fase di programmazione, aiuta i programmatori nello sviluppo del codice sorgente di un programma.
Ne esistono diversi (DEV C++, Eclipse, Block Code), noi utilizzeremo il DEV C++.

Ma cosa c'è dietro un IDE?
Un ambiente di sviluppo integrato nasconde dietro alla sua intefaccia grafica diversi programmi:
- GUI.............................. interfaccia grafica
- EDITOR....................... per scrivere testo in formato ASCII, file sorgente
- COMPILATORE......... esegue le traduzione del linguaggio, produce file intermedi .obj (moduli oggetto)
- LINKER...................... rilega i file .obj prodotti dal compilatore e forma il file .exe su disco fisso
- LOADER.................... prende il file dal disco e lo carica in memoria centrale RAM
- DEBUGER.................. cerca errori presenti all'interno del codice, non produce file




Utilizzo di IDE DEV C++:

Prima di tutto una volta lanciato il programma dobbiamo creare un nuovo file
FILE->NUOVO->SORGENTE
a questo punto nell'Editor possiamo iniziare a scrivere il nostro sorgente:
#include <stdio.h>
// inclusione delle librerie, tutte le librerie finiscono con .h
using namespace std;
/* stringa obbligatoria da includere in C++
inizio programma*/
int main ()
{
printf("Ciao a tutti");
}
salviamo il file in formato .cpp
Abbiamo scritto il nostro primo programma in DEV C++

Ora creiamo qualcosa di più complesso e interattivo:

#include <stdio.h>

using namespace std;

int main ()
{
int a;
int b;
int tot;

      printf("Inserisci il valore si A: ");
      scanf("%d", &a);
// %d avvisa il compilatore che riceverà un valore intero e lo salverà nella variabile a
      printf("\nInserisci il valore si B: ");
      scanf("%d", &b);
    tot=a+b;
      printf("\nA + B = %d", tot);
    tot=a-b;
      printf("\nA - B = %d", tot);
    tot=a*b;
      printf("\nA x B = %d", tot);
}