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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Capitolo 2<br />

Dal problema al programma,<br />

<strong>passando</strong> dall’algoritmo<br />

Uno degli scopi fondamentali dell’informatica è la risoluzione di problemi. Informalmente,<br />

<strong>per</strong> problema si intende un compito che si vuole far risolvere automaticamente a un calcolatore.<br />

I problemi di interesse sono solitamente parametrici, nel senso che dipendono da dati i<br />

cui valori non sono noti al momento in cui si vuole affrontare e risolvere il problema. Tali dati<br />

divengono quindi dei parametri da fornire <strong>alla</strong> procedura di risoluzione del problema al momento<br />

in cui questa viene eseguita.<br />

Per risolvere un problema bisogna svolgere le seguenti attività:<br />

• comprendere il problema<br />

• definire un procedimento risolutivo (algoritmo) <strong>per</strong> il problema<br />

• implementare l’algoritmo in un linguaggio di programmazione<br />

La descrizione del problema non fornisce (in genere) un metodo <strong>per</strong> calcolare il risultato.<br />

Affinché un problema sia risolvibile, in generale è necessario che la sua definizione sia chiara<br />

e completa. Non tutti i problemi sono risolvibili attraverso l’uso del calcolatore. In particolare<br />

esistono classi di problemi <strong>per</strong> le quali la soluzione automatica non è proponibile. Ad esempio:<br />

• il problema può presentare infinite soluzioni<br />

• <strong>per</strong> alcuni problemi non è stato trovato un metodo risolutivo<br />

• <strong>per</strong> alcuni problemi è stato dimostrato che non esiste un metodo risolutivo automatizzabile<br />

Nel seguito ci si concentrerà su problemi che, ragionevolmente, ammettono un metodo risolutivo.<br />

2.1 Esempi di problemi<br />

Alcuni esempi di problemi da risolvere sono:<br />

• dati due numeri trovare il maggiore<br />

• dati a e b, risolvere l’equazione ax + b = 0<br />

23

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

Saved successfully!

Ooh no, something went wrong!