[Tutorial] Primi passi nella programmazione in C++

Aperto da marcoff, 26 Settembre 2006, 23:10:11

Discussione precedente - Discussione successiva

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

marcoff

Ricapitolando abbiamo espresso il concetto di porgrammazione accennando la definizione di algoritmo.

Per essere più chiari sul concetto di algoritmo passiamo ad un tipo di approccio più pratico.

Prendiamo in considerazione un problema:

Lo scopo del nostro algoritmo dovrà essere la somma di due numeri.

In questo caso mi propongo per fare l'esempio di un algoritmo che risolva la npstra problematica.
Molti libri di testo spiegano gli algoritmi usando la pseudocodifica,io per rendere l'approccio più semplice mi limito a scrivere il mio banale algoritmo in italiano.

Per sommare due numeri, che per comodita chiamo numero1 e numero2 dovrò fare:

assegno al valore somma il valore di numero1
aggiungo al valore somma il valore di numero2

trasformando il tutto in pseudocodifica si avrà:

// dichiarazione variabili
numero1,numero2,somma := integer;

// assegnazione di un valore

somma := numero1;

// aggiungo all'attuale valore di somma
// di numero2:

somma := somma + numero2

// ora in somma ho il valore di numero1 + numero2

Spero con questre semplici nozioni di essere stato chiaro sul concetto di algoritmo.

Per capacitarmi della mia chiarezza chiedo alle persone interessate di scrivere un algoritmo per calcolare la somma di cinque numeri.

A disposizione per chiarimenti.









 


 



.... when i am good, i am good..... when i am bad, i am better...

marcoff

Ah dimenticavo, le righe startate con i caratteri // sono commenti.
Excuse me.






.... when i am good, i am good..... when i am bad, i am better...

marcoff

Se per qualcuno qualcosa dovesse risultare poco chiaro, si esponga e faccia domande.
Io sono a disposizione per qualsiasi tipo di chiarimento in merito a qualsiasi problematica sulla programmazione.
Sia sugli argomenti descritti in questa discussione, sia su problematiche diverse.

A disposizione per chiarimenti.

.... when i am good, i am good..... when i am bad, i am better...

marcoff

USARE LE VARIABILI


In genere un programmatore non viene valutato in base alla soluzione di un problema (anche se è sempre un bene che il problema venga risolto), ma in base al modo e ai mezzi che vengono usati per arrivare alla soluzione.

In realtà c'è un proverbio che dice "Tutte le strade portano a Roma", ed è vero, io per andare a Milano potrei scegliere di passare prima per Palermo.

Oppure potrei partire con cinque amici con cinque macchine diverse, a Milano ci arrivo comunque.

Un algoritmo per essere valido deve effettuare una stima del tempo di esecuzione calcolata in base alla complessità del problema.

Per effettuare un'addizione o una sottrazione risulta sicuramente più semplice che risolvere un'equazione differenziale.

Spesso e soprattutto oggi (come ho accennato nella mia introduzione) che i programmatori campano di programmazione non si guarda più alla pulizia del codice, oppure all'efficienza dell'algoritmo ma si guarda solamente alla funzionalità, cosa a mio avviso errata.

Un buon modo per rendere un programma leggibile, manutenibile ed efficiente e capire in che modo devono essere usate le variabili, come esse vanno dichiarate, e come devono essere assegnati i valori.

Un buon programmatore cerca sempre di usare il miglior numero di variabili possibile in quanto ogni variabile occupa una parte di memoria.




:):):):):)

.... when i am good, i am good..... when i am bad, i am better...

marcoff

TIPI DI VARIABILI

Si possono avere diversi tipi di variabili, ognuno dei quali ha uno scopo e una valenza ben preciso.

In C++ abbiamo i seguenti tipi:
bool ==> rappresenta i tipi booleani (vero/falso)
int ==> rappresenta i numeri interi
char ==> rappresenta i caratteri
wchar_t ==> rappresenta i caratteri unicode estesi non rappresentabili sulla tavola ascii
float ==> rappresenta i reali a singola precisione
double ==> rappresenta i reali a doppia precisione
enum ==> rappresenta un tipo enumerato
void ==> null.

Per qualsiasi domanda in merito ai tipi di variabile io rimango a disposizione, in quanto ritengo queste nozioni importantissime ai fini di una programmazione pulita ed efficiente.



.... when i am good, i am good..... when i am bad, i am better...

ATI72

Qesta discussione è molto interessante ho fatto un corso per progammatori ma devo dire che in sei mesi ho appreso praticamente nulla ti seguo e ti faccio i miei complimenti :)

ATI72

af624726

ehehhe bravo bravo... continua così e sappi che mi dovrai aiutare per il progetto di algoritmi ;):D
The Doctor: Think you've seen it all? Think again. Outside those doors, we might see anything. We could find new worlds, terrifying monsters, impossible things. And if you come with me... nothing will ever be the same again!

marcoff

Oggi il mio grande amico Glide ha dato un utile tocco tecnico alla corrente discussione, ringrazio Glide e soprattutto ringrazio tutti quelli che come voi stanno dando un pò di importanza a quello che io sto facendo.

Questo per me oltre ad essere un ottimo antistress (ed io ne accumulo abbastanza), è anche un buon modo per rivivere e far riaffiorare concetti acquisiti molto tempo fa.

Per cui ripeto, rimango a disposizione di tutti quelli che ne hanno bisogno.

Per quanto riguarda af624726 sappi che non solo potrai contare su qualche mia consulenza, ma se spulcio un pò i miei residui bellici (universitari) dovrei avere anche del materiale che potrebbe esserti utile.

Grazie ancora a tutti.

:););):);)



Questo messaggio è stato aggiornato da marcoff il 26/10/2006  alle ore  20:58:07
.... when i am good, i am good..... when i am bad, i am better...

marcoff

IL TIPO DI VARIABILE.

Abbiamo accennato finora quali siano i tipi di variabili comunemente usati in un linguaggio di programmazione come il c++.
Ora vediamo di analizzare le peculiarità di ogni tipo,
un pò più nel dettaglio.

In un linguaggio come il c++ ogni variabile che viene utilizzata è caratterizzata da un type (tipo).

Il tipo descrive in modo categorigo quale è la modalità di memorizzazione della variabile e quali sono le operazioni possibili su di essa.
 

*-- IL TIPO BOOL --*

Il tipo bool occupa un byte, e viene usato per rappresentare valori quali true e false.
Talvolta esso viene trattato come un tipo particolare di intero in quanto può assumere i valori 0 e 1, dove
0 = false e 1 = true.

Esempio:
//dichiarazione variabile;
bool var;
//inizializzazione della variabile
var = false;
//uso della variabile
if (a > 2)
   var = true;

analogamente:

//dichiarazione variabile;
bool var;
//inizializzazione della variabile
var = 0;
//uso della variabile
if (a > 2)
   var = 1;


*-- IL TIPO INT --*

Il tipo int (intero) occupa dai 2 ai 4 byte, e viene usato per rappresentare numeri interi
Il tipo intero è un type un po' più articolato per il linguaggio di programmazione in quanto la sua dichiarazione può essere variabile a seconda dell'uso che se ne vuol fare
Nel linguaggio c++ per rappresentare il tipo intero si usano le seguenti parole chiave con relative combinazioni e per ognuna di esse cambia il tipo di dichiarazione.

LONG INT
occupa 32 bit e può rappresentare un range variabile da -2147483648 a 2147483647

SHORT INT
occupa 16 bit e può rappresentare un range variabile da -32768 a 32767

UNSIGNED LONG
occupa 32 bit e può rappresentare un range da da 0 a 4294976295

CHAR
occupa 8 bit e può rappresentare un range da  -128 a 127

UNSIGNED CHAR
occupa 8 bit e può rappresentare un range da  0 a 255

E' facile notare che con la clausola UNSIGNED una variabile può assumere solo valori positivi.



.... when i am good, i am good..... when i am bad, i am better...

girox

avevo sbagliato discussione, è questa qiella che mi interessa, anche perchè più recente.

non riprende più?