Il computer ragiona? Problemi e algoritmi Cos’è un problema? Problema è qualsiasi situazione della quale non conosciamo la soluzione Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e perciò dobbiamo trovare una strategia Per risolvere il problema individuiamo una sequenza di istruzioni elementari che, partendo da ciò che conosciamo, arrivi a dare la soluzione Paola Pianegonda 2 SCHEMA Dati in ingresso Elaborazione Paola Pianegonda Dati in uscita 3 Problemi! Che problemi? Problemi di ricerca di informazioni Trovare l’indirizzo di una persona Stabilire se un numero è il più grande/piccolo di una sequenza data Stabilire se una parola segue alfabeticamente un’altra Paola Pianegonda 5 Problemi di elaborazione dei dati Calcolare quanto si è speso per acquistare un certo numero di prodotti Trovare il perimetro di una figura geometrica Calcolare il totale di una fattura ……… Paola Pianegonda 6 Problemi di decisione Per andare a scuola è più economico il motorino o l’autobus? È più interessante l’offerta telefonica della Vodafone o quella di Tim? In quale distributore è più conveniente andare a fare benzina? … Paola Pianegonda 7 Risolvere un problema Capire il testo Problema Individuare e distinguere ciò che è noto da ciò Interpretazione che è NON lo è Modello Costruire un modello risolutivo Algoritmo Costruire e spiegare il procedimento Eseguire le operazioni stabilite nel procedimento Esecuzione nell’ordine in cui si presentano Verificare che i risultati ottenuti corrispondano alla soluzione cercata Verifica Paola Pianegonda 8 Algoritmo Un algoritmo è una sequenza finita di operazioni elementari che porta alla soluzione di tutti i problemi dello stesso tipo. Paola Pianegonda 9 Linguaggio di progetto È il linguaggio utilizzato per la costruzione degli algoritmi È necessario che esso sia non ambiguo e “universale” Per questo utilizza sia il linguaggio matematico che la lingua inglese Paola Pianegonda 10 Struttura Il linguaggio di progetto prevede la suddivisione dell’algoritmo in 3 parti: RIGA DI INTESTAZIONE SEZIONE DICHIARATIVA SEZIONE ESECUTIVA Paola Pianegonda Nome dell’algoritmo Dichiarazione delle variabili e delle costanti utilizzate Procedimento risolutivo 11 Flow chart È uno dei metodi più usati per la rappresentazione grafica degli algoritmi Si rappresenta con un insieme di figure geometriche collegate da frecce Paola Pianegonda F V 12 Inizio La prima forma geometrica è un’ELLISSE che serve ad indicare l’INIZIO del flow chart. Essa ha una sola freccia in uscita Paola Pianegonda Inizio 13 Dati di input I dati di input sono i dati CONOSCIUTI del problema, quelli che vengono elaborati per arrivare alla soluzione. La forma geometrica utilizzata è il PARALLELOGRAMMA che presenta DUE frecce, una in ingresso e l’altra in uscita Paola Pianegonda Dati di input 14 Operazioni La forma geometrica usata per le operazioni da svolgere sui dati è il RETTANGOLO. Anch’esso ha DUE frecce, una in ingresso e l’altra in uscita Paola Pianegonda Operazioni 15 Condizione Quando si deve fare una SCELTA tra due o più possibilità si usa il ROMBO. Esso ha almeno TRE frecce, una in ingresso e due in uscita; di quelle in uscita una viene seguita se la condizione posta risulta vera, l’altra se risulta falsa. V Paola Pianegonda Vero o falso? F 16 Dati di output I dati di output sono quelli che si vogliono conoscere e sono pertanto il risultato dell’elaborazione La forma geometrica utilizzata è il PARALLELOGRAMMA che presenta DUE frecce, una in ingresso e l’altra in uscita Paola Pianegonda Dati di output 17 Fine L’ultima forma è un’ELLISSE che serve ad indicare la FINE del flow chart. Essa ha una sola freccia in ingresso Paola Pianegonda Fine 18 Quale chiave? Come si può trovare, in un mazzo di chiavi, quella che apre la porta? Paola Pianegonda 19 inizio Prendi una chiave Inserisci la chiave nella serratura V La porta si apre? F Togli la chiave dal mazzo F Le chiavi sono finite? V FINE Nessuna chiave apre la porta fine Paola Pianegonda 20