18.08.2013 Views

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

• richiamare una funzione che non esiste<br />

• confrontare un numero intero con una stringa<br />

• assegnare un valore ad una costante (3 = x)<br />

• assegnare un valore ad una espressione (x + y = 3)<br />

Gli errori logici sono più difficili da identificare, in quanto sono collegati, appunto, <strong>alla</strong> logica<br />

di funzionamento del programma. Per questo motivo è difficile rilevarli <strong>per</strong> mezzo di procedure<br />

automatiche. Inoltre si manifestano tipicamente in fase di esecuzione del programma, cosa che<br />

complica ulteriormente il debugging. Esempi di errori logici sono:<br />

• effettuare un ciclo <strong>per</strong> un numero di volte errato<br />

• combinare in modo errato più test nelle istruzioni condizionali<br />

2.10 Testing<br />

Il testing è la fase nella quale, un programma realizzato ed eseguibile, che quindi è corretto<br />

dal punto di vista sintattico, viene collaudato <strong>per</strong> verificarne la correttezza semantica, ovvero si<br />

verifica che l’algoritmo implementato svolga correttamente le o<strong>per</strong>azioni previste.<br />

Il testing si realizza generalmente fornendo in ingresso al programma opportuni valori di input<br />

<strong>per</strong> verificare che l’output corrispondente sia corretto.<br />

2.11 Manutenzione<br />

Un aspetto talvolta trascurato della programmazione è relativo <strong>alla</strong> manutenzione. Spesso il<br />

programmatore non deve sviluppare ex novo un programma, ma si trova a dover modificare un<br />

programma.<br />

Il problema nasce dal fatto che spesso il programma è stato scritto da altri programmatori,<br />

oppure è stato scritto dallo stesso programmatore, ma è passato un <strong>per</strong>iodo di tempo sufficiente<br />

da far dimenticare i dettagli dell’implementazione.<br />

La manutenzione di un programma è notevolmente facilitata se si utilizza uno stile di programmazione<br />

chiaro (vedi Sezione 15) e si commenta opportunamente il codice, in corrispondenza<br />

dei punti che possono risultare particolarmente difficili da interpretare.<br />

2.12 Linguaggi di programmazione<br />

Un programma viene realizzato scrivendo del codice sorgente utilizzando un linguaggio di programmazione<br />

(Sezione 2.6), ovvero un linguaggio con regole sintattiche ben definite, che <strong>per</strong>mettono<br />

di interpretare univocamente le specifiche del programmatore.<br />

Esistono molti diversi linguaggi di programmazione, ciascuno dei quali ha caratteristiche specifiche<br />

che lo rendono adatto a compiti specifici. Quindi <strong>per</strong> ciascuna tipologia di applicazione (es.<br />

web, accesso a database, sistemi o<strong>per</strong>ativi, sistemi embedded, scripting, ambienti di simulazione,<br />

interfacce grafiche, calcoli matematici, applicazioni di controllo, ecc.) esiste almeno un linguaggio<br />

appositamente sviluppato <strong>per</strong> effettuare le particolari o<strong>per</strong>azioni specifiche dell’applicazione in<br />

modo più semplice e diretto di quanto si potrebbe fare con altri linguaggi. Perciò, in generale,<br />

un solo linguaggio è poco flessibile <strong>per</strong> poter essere utilizzato in contesti molto diversi tra loro.<br />

28

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!