Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
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