In breve: Un problema si risolve in passi chiari e ordinati. Il computer esegue solo istruzioni precise scritte da noi.
Che cos'è un problema da risolvere
Ogni giorno affrontiamo piccoli problemi. Scegliere il percorso per andare a scuola è un esempio.
In informatica un problema è una domanda con dati di partenza e un risultato da ottenere. Il nostro compito è descrivere come passare dai dati al risultato.
Il computer non capisce le frasi vaghe. Ha bisogno di istruzioni chiare, complete e nell'ordine giusto.
Le tre fasi del lavoro
Per risolvere un problema con il computer seguiamo tre fasi.
Analisi: leggiamo bene il testo. Individuiamo i dati che abbiamo e il risultato che vogliamo. Scriviamo cosa ci serve sapere.
Soluzione: pensiamo ai passi necessari. Mettiamo i passi in ordine. Questa sequenza ordinata si chiama algoritmo.
Codifica: traduciamo i passi in un linguaggio che il computer capisce. Questo testo si chiama programma o codice.
Un esempio pratico
Problema: calcolare la media di due voti.
Analisi. Dati di partenza: il primo voto e il secondo voto. Risultato voluto: la media.
Soluzione (algoritmo):
- Leggi il primo voto.
- Leggi il secondo voto.
- Somma i due voti.
- Dividi la somma per due.
- Mostra il risultato.
Codifica. Scriviamo questi passi in un linguaggio come Python o C. Il computer esegue le istruzioni e ci dà la media.
Un altro esempio quotidiano è una ricetta. Gli ingredienti sono i dati. Il piatto finito è il risultato. I passi della ricetta sono l'algoritmo.
Parole difficili
- Algoritmo: sequenza ordinata di passi che porta a un risultato.
- Dati: informazioni di partenza che servono per risolvere il problema.
- Codifica: traduzione dei passi in un linguaggio comprensibile al computer.
- Programma: insieme di istruzioni scritte per essere eseguite dal computer.
- Linguaggio di programmazione: linguaggio con regole precise per scrivere programmi.
Riferimenti
- Norma: Riordino degli istituti tecnici
- Obiettivo formativo coperto: ob.tecnico-amministrazione-finanza-marketing.informatica.cl1.problem-solving.01