INFORMATICA E INFORMAZIONE INFORMATICA = INFORMAZIONE + AUTOMAZIONE L’INFORMATICA è una scienza che abbraccia molteplici discipline scientifiche e tecnologiche ed usa il COMPUTER come strumento per: • • • TRASMETTERE TRASFORMARE CONSERVARE L’ INFORMAZIONE 1 INFORMATICA E INFORMAZIONE Il COMPUTER è uno strumento in grado di eseguire un insieme di azioni che a partire da una INFORMAZIONE (o DATO) iniziale producono una INFORMAZIONE finale o RISULTATO con lo scopo di risolvere un problema. Dati Risultati COMPUTER INPUT OUTPUT 2 I PROBLEMI Che cos’è un PROBLEMA? E’ un quesito che attende una soluzione Esempi: - Risolvere un equazione di primo grado - Calcolare il m.c.m tra due numeri - Dato un elenco di nomi e numeri di telefono relativi trovare il numero di una determinata persona Non tutti i problemi hanno una soluzione. Noi comunque ci concentreremo sui problemi risolvibili (funzioni calcolabili) Il COMPUTER è il supporto per esprimere la soluzione dei problemi, NON per risolverli L’ ATTIVITA’ dell’uomo consiste nell’individuare la “sequenza di ordini giusti” da dare al COMPUTER per arrivare alla soluzione del problema. 3 RISOLUZIONE dei PROBLEMI RISOLVERE UN PROBLEMA soluzione Stato Stato iniziale finale o O DATI INGRESSO RISULTATO verifica 4 RISOLUZIONE dei PROBLEMI RISOLVERE UN PROBLEMA significa trovare un procedimento risolutivo, ovvero una sequenza di azioni che espresse tramite un elenco di istruzioni e interpretate da un esecutore portino da informazioni iniziali a produrre dei risultati che non siano in contraddizione con i dati iniziali, soddisfacendo quindi un criterio di verifica risolutore Dati iniziali Processo risolutivo Esecutore (parametri) Dati finali (risultati) Criterio di verifica Le istruzioni devono essere impartite in un LINGUAGGIO noto all’esecutore in modo che sia in grado di interpretarle 5 RISOLUZIONE dei PROBLEMI Problema “ben formulato”: Un problema si dice ben formulato quando: • • • • non è evidente apriori che non esistono soluzioni il criterio di verifica è univoco ed è noto come applicarlo l’insieme dei dati iniziali è completo a partire dallo stesso insieme di dati iniziali si ottengono sempre gli stessi risultati 6 Dal problema all’algoritmo Ogni azione è descritta da una procedura o algoritmo che contiene l’elenco delle istruzioni per la soluzione di un problema. La descrizione delle istruzioni di un algoritmo dipende da diversi fattori: •i dati di ingresso a disposizione •le capacità dell’esecutore (capacità, mezzi e possibilità di comunicazione con l’esterno) •il linguaggio compresso dall’esecutore 7 Algoritmo Def.: l’ algoritmo è una sequenza finita di passi per risolvere una classe di problemi in un tempo finito Metodo risolutivo (algoritmo) Esecutore Dati capace di eseguire le azioni descritte dall’algoritmo Risultati Tanto più le capacità dell’esecutore sono limitate tanto più le istruzioni impartite devono essere dettagliate 8 Algoritmo Proprietà (1) • Eseguibilità ogni azione deve essere eseguita in un tempo finito Proprietà (2) l’algoritmo deve essere: • • Non- Ambiguità ogni azione deve essere interpretata in modo univoco dall’esecutore • Finitezza il numero di azioni che compongono l’algoritmo deve essere finito • • applicabile a qualsiasi insieme dei dati d’ingresso appartenenti al dominio di definizione. costituito da operazioni elementari costituito da regole non ambigue che possano essere interpretate in modo univoco da qualsiasi esecutore 9 Algoritmi e Programmi La formulazione di un algoritmo in linguaggio comprensibile all’esecutore è detta programma. problema algoritmo Metodo risolutivo programma Linguaggio di programmazione Due algoritmi si dicono equivalenti quando a partire dagli stessi dati d’ingresso producono gli stessi risultati pur avendo diversa efficienza ed essendo formulati in modo completamente diverso. 10