Sei sulla pagina 1di 6

DEV C++ E I LINGUAGGI DI PROGRAMMAZIONE

Il linguaggio di programmazione si dice artificiale (formale) ed soggetto a delle regole di sintassi.


Lambiente DEV consente di compilare, correggere (fare il debug) ed eseguire il programma (per questo
motivo viene definito IDE). Con console si intendono tastiera e monitor, i dispositivi di input e output
principali.

Le fasi della programmazione:

-EDITING: la fase in cui si scrivono materialmente le istruzioni. Ci aiuta nella visualizzazione del testo
leditor, strettamente legato allambiente di sviluppo integrato (IDE), evidenziando parole chiave in
grassetto, in rosso stringhe, commenti, ecc. A volte ci pu indicare in questa fase eventuali errori.

-COMPILAZIONE: Il linguaggio di programmazione ad alto livello ragiona in macroistruzioni, pi vicine


alluomo, mentre il linguaggio macchina, compreso dal microprocessore, ragiona in microistruzioni dette
anche elementari. Allora si programma ad alto livello ma si traduce poi in basso livello. Questa operazione la
compiono programmi specifici che caratterizzano appunto questa fase. Esiste per una differenza tra
compilatori e interpreti:

-I compilatori traducono tutto in una volta prima dellesecuzione e creano un file detto oggetto che verr
eseguito dalla CPU. Per questo motivo non devono essere presenti errori in questo file, altrimenti il
programma non verr nemmeno lanciato in esecuzione. Il vantaggio, per, consiste nellavere unesecuzione
molto pi veloce (cos lavora il C).

-Gli interpreti invece prendono unistruzione, la traducono e la eseguono una alla volta (si dice che traducono
in runtime). In questo caso possibile individuare immediatamente lerrore, ma lesecuzione risulter molto
pi lenta, ed inoltre non creando un file apposito per la compilazione, possibile risalire al codice, a
discapito del programmatore.

-LINKER: in questa fase vengono introdotte tutte le librerie, che hanno nome proprio ed estensione .h e
che comprendono una serie di istruzioni (routine) impacchettate e messe a disposizione nella fase di codifica
e che semplificano per esempio istruzioni di I/O, sulle stringhe, operazioni matematiche, ecc. Il file .exe
risulter pi pesante del file oggetto perch presenta anche le istruzioni delle librerie per il microprocessore.

-DEBUG: la fase di identificazione e correzione di errori. In questa fase, a prescindere che nellambiente
integrato sia presente un compilatore o un interprete possibile eseguire le operazioni una alla volta per
trovare lerrore. In C gli errori indicati con la lettera E (error) sono errori gravi, sintattici, ci vuol dire che
il programma non viene mandato in esecuzione. Quelli indicati con la W (warning) sono pi degli
avvertimenti, cio il programma viene mandato in esecuzione ma possibile che eventuali risultati risultino
sbagliati (errori logici).

In un programma possiamo distinguere:

1. Una parte introduttiva


2. Una parte dove si identificano le variabili
3. Il programma
LIDENTIFICAZIONE DELLE VARIABILI

Le variabili sono insiemi di dati modificabili situati in una porzione di memoria. Bisogna identificarle,
dandogli un nome di battessimo e inizializzarle mediante diverse operazioni. Il loro valore pu variare nel
corso dellesecuzione di un programma. Le costanti identificano una porzione di memoria il cui valore non
varia nel corso dellesecuzione del programma. Devono essere identificate sempre, sono sempre dati e
possono essere numeriche, caratteri o stringhe (un insieme di caratteri). Larray un elenco di valori, cio
ununica variabile composta da tanti elementi (variabile multipla). La variabile di tipo INT occupa 4 byte,
quella CHAR un solo byte. Quindi la stringa unarray di tipo CHAR. Mentre le variabili possono cambiare
durante lesecuzione del programma, le costanti si cambiano durante la sua codifica. Per identificare una
variabile non possibile utilizzare spazi, accenti e numeri allinizio del loro nome (ad esempio si pu
identificare una variabile come n1 ma non come 1n). Lunico carattere speciale consentito lunderscore
(il trattino basso _). Il C case sensitive, cio c differenza tra lettere minuscole e maiuscole
nellidentificazione delle variabili. Si preferisce utilizzare tutti caratteri maiuscoli quando si parla di costanti.
La variabile FLAG di tipo booleano (nel C standard 0=falso 1=vero e si dichiara come int). Si utilizza
solitamente in caso di errore e ne si assegna un valore (per convenzione 1, ma in ogni caso il sistema la
percepisce come una normalissima variabile) in particolari casi. Le variabili hanno unambiente di
definizione (o scope) che pu essere locale o globale. Le variabili locali sono dichiarate dentro un blocco,
quelle globali sono dichiarate prima del main, cio prima del programma principale. Se sono dichiarate
dentro il main valgono per il main, se sono dichiarate dentro blocchi valgono solo per quel blocco.

LE ISTRUZIONI SU C++

IN Operazione di lettura per il


microprocessore

microprocesso
re
OUT Operazione di scrittura per il microprocessore

Main una parola chiave. Ogni istruzione deve terminare con il punto e virgola ( ; ). Le istruzioni
servono allutente per interfacciarsi con il microprocessore.

Cout (console out) unistruzione di output (al monitor).

Cin (console input) unistruzione di input (dalla tastiera).

LISTRUZIONE COUT<<

cout<<x

Operatore di
inserzione
Questa operazione indica che si manda un oggetto (in questo caso la variabile x) sul dispositivo standard di
output. Quindi il microprocessore prende il contenuto della variabile x e la scrive sul monitor. Quando si
parla di costanti bisogna inserirle tra gli apici.

cout<<Mario si visualizza Mario sul monitor

cout<<nome si visualizza il contenuto della variabile nome sul monitor.

unoperazione conservativa.

LISTRUZIONE CIN>>

cin>>eta

Operatore di estrazione, cio estrae quello che lutente


scrive sulla tastiera e lo comunica al microprocessore.

Con questa operazione il programma scrive in memoria ci che scrive lutente da tastiera. A destra
delloperatore devono essere inserite solo variabili. Subito prima ogni cin>> preferibile inserire un
cout<< per specificare cosa deve fare lutente (prompt).

unoperazione distruttiva.

LASSEGNAZIONE

Lassegnazione costituita da due membri: al primo si trova la variabile.

m=(n1+n2)\2

m sar la variabile. Possiamo distinguere lL value che lindirizzo di memoria (a sinistra) e lR value, il
valore effettivo (a destra). Praticamente in questo caso il programma, prima calcola loperazione di destra e
poi, solo successivamente, lo scrive nella zona di memoria m. E distruttiva a sinistra.

<<ENDL E \N

Per andare a capo dopo unistruzione di cout possibile:

-digitare cout<<<<endl, ma in questo caso si andr solo a capo, senza spaziature tra un rigo e laltro, a
meno che non se ne digitino pi di uno.

-digitare cout<<\n. In questo caso possibile

GLI OPERATORI

Possono essere:

-aritmetici;
-relazionali o di confronto: < (minore), > (maggiore), >= (maggiore o uguale), (minore o uguale)<=, ==
(uguale), != (not uguale, diverso). Possono essere visti come una domanda che avr una risposta di tipo
booleano (vero o falso).

-booleani o logici (mettono in relazione due enunciati);

-di assegnazione (+,+=,-,-=,). Si interpretano da destra verso sinistra.

possibile fare una distinzione se prendiamo in considerazione gli operandi. Gli operatori si dicono binari
quando sono due gli operandi. Unari quando uno solo, come il NOT.

TIPI DI OPERATORI TIPI DI OPERANDI TIPI DI RISULTATO


Aritmetici Numeri Numero
Confronto Numeri o caratteri, ma Booleano
comunque operandi
dello stesso tipo
Logici Booleani Booleano

GLI OPERATORI ARITMETICI

*(Moltiplicazione) /(Divisione intera se i numeri sono interi) +(Somma) -(Sottrazione o meno di


negazione, dipende dai casi)% (Modulo, calcola il resto di una divisione intera. Pu essere utilizzato per
vedere se un numero divisibile per un altro o per restringere il range dei valori o per contatori circolari
come orologi.)

PRIORIT NEGLI OPERATORI ARITMETICI

1.(NEGAZIONE)
2.* / %
3.+ -
La priorit stabilisce lordine con cui vanno letti gli operatori. Lassociativit stabilisce la lettura degli
operatori nel caso in cui essi abbiano stessa priorit. Negli operatori aritmetici da sinistra verso destra, in
quelli di assegnazione da destra verso sinistra.

GLI OPERATORI DI CONFRONTO

Hanno tutti la stessa priorit e gli operandi sono inseriti a due a due. Quindi: 18<eta && eta<=25. Non
possibile scrivere un compreso(18<x<25) come in matematica ma bisogna utilizzare loperatore logico
AND (&&).

GLI OPERATORI LOGICI

-AND (&&)

-OR (||)

-NOT (!)
In questo caso il not ha la priorit maggiore poich unario, e si mette sempre prima delloperando (!x e non
x!).

TAVOLA DI VERIT AND

x y x&&y
F F F
F T F
T F F
T T T
TAVOLA DI VERIT OR

x y x||y
F F F
F T T
T F T
T T T
TAVOLA DI VERIT NOT

x !x
F T
T F

LEGGE DI DE MORGAN
La legge di De Morgan afferma che la negazione dellAND lOR dei negati e viceversa, cio la negazione
dellOR lAND dei negati. Il contrario di:

(n>=10) && (n<20)

Sar:

(n<10) || (n>=20)