martedì 14 ottobre 2014

ESERCIZIO 14\10\2014

typedef struct persona
               {      char cognome[15];
                      char nome[15];
                      float stipendio;
               }Dipendente;
 
Caricamento e visualizzazione della struct
 
ESERCIZIO
 
typedef struct persona
               {      char cognome[15];
                      char nome[15];
                      float stipendio;
               }Dipendente; 
#include <iostream>
using namespace std;
      
int main()
{  
    int dim;
   
    cout<<"Quanti dipendenti vuoi inserire?"<<endl;
    cin>>dim;
    Dipendente *singolo;
    singolo=new Dipendente[dim];
    int i;
    int scelta;
    int continua;
   int numero=0;

  do
    {    
    cout<<"Cosa deideri fare?"<<endl;
    cout<<"-------------"<<endl;
    cout<<"1)Inserire un dipendente"<<endl;
    cout<<"2)Visualizzare un dipendente"<<endl;
    cin>>scelta;
   
    numero=1;
   
    if (scelta == 1)
    {
    for (i=0;i<dim;i++)
    {
     cout<<"Dipendente numero: "<<numero<<endl;
     cout<<"inserisci il cognome: ";
     cin>>singolo[i].cognome;
     cout<<"inserisci il nome: ";
     cin>>singolo[i].nome;
     cout<<"inserisci lo stipendio: ";
     cin>>singolo[i].stipendio;
     cout<<"--------"<<endl;
     numero++;
     }
     }
     if (scelta > 1)
     {  for (i=0;i<dim;i++)
        {
         cout<<singolo[i].cognome<<endl;
         cout<<singolo[i].nome<<endl;
         cout<<singolo[i].stipendio<<endl;
        }
     }
     cout<<"vuoi continuare?"<<endl;
     cout<<"1)si 2)no"<<endl;
     cin>>continua;
     }while (continua<2);
     cout<<"------Fine------"<<endl;
     delete singolo;
     system("pause");
}
Esercizio eseguito da Sissa Giulia & Crimaldi Marco(blog: http://4infserale.blogspot.it/)

mercoledì 8 ottobre 2014

ESERCIZIO 08/10/2014

Creare la CLASSE PERSONA con i seguenti Metodi:
- inserimento dati
- visualizza dati
- aggiorna dati
e le seguenti Proprietà:
- nome
- cognome
- data di nascita
- città
 
Scrivere il MAIN che utilizza la CLASSE PERSONA e ne mostri le funzionalità.
 
Derivare la CLASSE STUDENTE con le seguenti proprietà:
- classe
- sezione
- indirizzo
 
ESERCIZIO:
 
#include <iostream>
using namespace std;
class Persona
{
public:
char nome[15];
char cognome[15];
char data[15];
char citta[15];

void inserimento()
{
cout<<"Inserisci il nome: ";
cin>>nome;
cout<<"inserisci il cognome: ";
cin>>cognome;
cout<<"inserisci la data di nascita (formato ggmmaaaa): ";
cin>>data;
cout<<"Inserisci la citta' d'origine: ";
cin>>citta;
cout<<"Inserimento completato!"<<endl;
}
void visualizza()
{
cout<<nome<<endl;
cout<<cognome<<endl;
cout<<data<<endl;
cout<<citta<<endl;
}
void aggiorna()
{
int scelta;
cout<<" Quale campo vuoi aggiornare?"<<endl;
cout<<" 1) Nome "<<endl;
cout<<" 2) Cognome "<<endl;
cout<<" 3) Data di nascita "<<endl;
cout<<" 4) Citta' "<<endl;
cin>>scelta;

if (scelta == 1)
{
cout<<" Aggiorna il nome: "<<endl;
cin>>nome;
}
if (scelta == 2)
{
cout<<" Aggiorna il cognome: "<<endl;
cin>>cognome;
}
if (scelta == 3)
{
cout<<" Aggiorna la data di nascita: "<<endl;
cin>>data;
}
if (scelta == 4)
{
cout<<" Aggiorna la citta': "<<endl;
cin>>citta;
}
if (scelta > 4)
{
cout<<" Niente da aggiornare! "<<endl;
}
}
};

int main()

{
int continua;
int sceltamain;
Persona singolo;

do
{
cout<<" Cosa desideri fare? "<<endl;
cout<<" 1) Inserire una nuova persona"<<endl;
cout<<" 2) Visualizzare l'ultima persona inserita "<<endl;
cout<<" 3) Aggiornare un dato inserito "<<endl;
cout<<" 4) Uscire "<<endl;
cin>>sceltamain;

switch(sceltamain)
{
case 1:
singolo.inserimento();
break;
case 2:
singolo.visualizza();
break;
case 3:
singolo.aggiorna();
break;
case 4:
break;
}
cout<<" Vuoi continuare ? "<<endl;
cout<<" 1) Si "<<endl;
cout<<" 2) No "<<endl;
cin>>continua;
}while((continua ==1));
}

mercoledì 1 ottobre 2014

Il concetto di EREDITARIETA'

Cos'è l'EREDITARIETA'?
L'ereditarietà serve a riciclare il vecchio codice e aggiungere le nuove parti al nuovo codice, in questo caso le nuove classi che si andranno a creare acquisiranno le proprietà delle vecchie classi, migliorando o aggiungendo delle nuove caratteristiche.
Nell'informatica esiste il concetto di ereditarietà dove un oggetto "figlio" eredità tutte, o alcune, proprietà del "padre".

Il passaggio di parametri avviene tramite tre regole fondamentali:
  1. PUBLIC
  2. PROTECTED
  3. PRIVATE
Public: indica che tutti i membri al suo interno sono pubblici e quindi possono essere ereditati:
Protected: indica che tutti i membri al suo interno sono protetti, nel senso che sono privati, ma possono essere ereditati;
Private: (default) indica che tutti i membri al suo interno sono provati e quindi non possono essere ereditati.

Quindi, un membro protetto è inaccessibile dall'esterno, come un membro privato, ma l'unica differenza è che il membro protetto può essere ereditato come i membri pubblici.

Specificatori di accesso alla classe base
Accesso dei membri
nella classe base
private
protected
public
Accessibilità dei membri ereditati
private:
inaccessibili
inaccessibili
inaccessibili
protected:
privati
protetti
protetti
public:
privati
protetti
pubblici

fonti: http://www.bo.cnr.it/corsi-di-informatica/corsoCstandard/Lezioni/31Eredita.html

Istruzioni CIN e COUT

Esistono due tipi di istruzioni per la visualizzazione e l'acquisizione di un dato. Prima, in C++, usavamo l'istruzione printf e l'istruzione scanf; ora andremo ad usare l'istruzione CIN e l'istruzione COUT. Per poter usare queste due nuove istruzioni c'è però bisogno di una nuova libreria: # include <iostream> .

L'istruzione CIN serve per acquisire un dato da tastiera e assegnarlo ad una variabile, necessita delle " >> "
Esempio:

 main()
{
int a //dichiarazione variabile di tipo intero. L'utente stesso andrà ad assegnare un valore ad 'a'
cin >> a ; //acquisizione del dato e assegnazione alla variabile 'a'
}

Per visualizzare il valore della variabile 'a' di tipo intero basterà aggiungere: cout << a .

L'istruzione COUT ha la funzione di far visualizzare a schermo una variabile; necessita, come il cin, delle " << "
Esempio:

cout << "ciao" //questa istruzione ci farà visualizzare a video la parola 'ciao'

mercoledì 24 settembre 2014

COSTRUTTORI E DISTRUTTORI

All'interno delle classi c'è un costruttore è un distruttore. Il costruttore ha uno scopo particolare: costruire un oggetto e creare spazio nella RAM per l'oggetto. Distruttore: libera lo spazio dalla RAM creato dal costruttore. Nel linguaggio C se non vengono inseriti dal programmatore ci sono già di default. Riconosco un costruttore perché ha lo stesso nome della classe, es Persona (); il distruttore lo riconosco dal simbolo ~ davanti al costruttore, es ~Persona(); 

Persona :: Persona() 
{
X=5

Persona :: ~Persona()
{

}

Il costruttore inizializza una variabile. Possono esistere infiniti costruttori. Sovrapposizione delle funzioni SOLO in C++, cioè fornisce la possibilità di creare più funzioni con stesso nome ma con parametri diversi. 

giovedì 18 settembre 2014

SECONDA LEZIONE, Mercoledì 17 Settembre 2014

 
PROGRAMMAZIONE ORIENTATA AGLI OGGETTI
 
Si interagisce con l'oggetto attraverso l'interfaccia.
Chi crea e conosce com'è fatto l'oggetto? Il programmatore. 
Esistono 2 tipi di programmatori: chi usa l'oggetto e chi lo gestisce. 
Contenitori di oggetti si chiamano FRAMEWORK. 
Nei FRAME la prima cosa da imparare è l'interfaccia per poter interagire con gli oggetti. Il programmatore ha bisogno di linguaggi di programmazione orientati agli oggetti per programmare, tra cui: JAVA, C#, C++. Esiste un linguaggio totalmente ad oggetti: EIFFEL. 
Il progetto dell'oggetto si chiama CLASSE. Classe -> Oggetto. 
Come si creano gli oggetti? Nello stesso modo in cui si creavano le variabili, cioè con la dichiarazione: tipo e il nome della variabile, es INT A; per l'oggetto: tipo, cioè la classe in questo caso, perché si parla si oggetti, e il nome della variabile. Quando si crea un oggetto si crea un' ISTANZA. Ogni oggetto ha una funzione e uno scopo specifico e al suo interno possiamo trovarci altri oggetti. 
La classe contiene variabili, funzioni o altri oggetti. 

PRIMA LEZIONE, as 2014-2015

 
  1. creazione e utilizzo Blog Personale
  2. utilizzo Tutorial YouTube
  3. utilizzo materiali presenti su SlideShare
  4. Interpreti e compilatori presenti su: Ideone.com
  5. Piattaforma Moodle
  6. Forme didattiche utilizzate:
    1. Didattica per progetti
    2. Laboratoriale
    3. OnLine
Presentazione del programma scolastico 2014-2015
  1. Blog Personale
  2. Canale YouTube
  3. Drive (per la condivisione di materiali)
SW free da utilizzare:
  1. CamStudio o equivalente per la produzione di filmati e tutorial
  2. FreeMind per la produzione di mappe mentali
  3. CMap per la produzione di mappe concettuali
  4. Editor per scrittura di applicazioni:
    1. PHP
    2. Javascript