Di cosa si occupa l’informatica



Scaricare 252 Kb.
03.12.2017
Dimensione del file252 Kb.



di cosa si occupa l’informatica

  • di cosa si occupa l’informatica

  • una definizione della scienza informatica

  • cosa è un algoritmo

  • algoritmi, soluzioni, problemi

  • cosa è un computer

  • computer di ieri e di oggi



Per definire una scienza diciamo di che

  • Per definire una scienza diciamo di che

  • cosa si occupa:

  • la chimica si occupa della struttura e composizione della materia

  • la biologia si occupa degli organismi viventi

  • l’informatica si occupa di … ???



di studiare i computer?

  • di studiare i computer?

  • di come si scrivono i programmi per computer?

  • di come si utilizzano i computer?



i primi studi di informatica risalgono agli anni 1920-1940, quando i computer non esistevano ancora

  • i primi studi di informatica risalgono agli anni 1920-1940, quando i computer non esistevano ancora

  • “ L’informatica non si occupa più dei computer di quanto l’astronomia si occupi di telescopi, la chimica di provette e becher.” (Fellows & Parberry)



la conoscenza dell’informatica può passare attraverso l’apprendimento di un linguaggio di programmazione

  • la conoscenza dell’informatica può passare attraverso l’apprendimento di un linguaggio di programmazione

  • ma l’utilizzo dei linguaggi è solo uno strumento per testare le soluzioni proposte per i problemi



la conoscenza dell’informatica può passare attraverso l’apprendimento di applicazioni software

  • la conoscenza dell’informatica può passare attraverso l’apprendimento di applicazioni software

  • ma saper utilizzare un software sta all’informatica come la patente di guida sta all’ingegneria meccanica



di studiare i computer



quindi comprende:

  • quindi comprende:

  • lo studio delle proprietà formali degli algoritmi

  • lo studio delle implementazioni degli algoritmi

  • lo studio dell’applicazione degli algoritmi



il nome deriva da quello del matematico persiano al-Khowarizmi (780-850?)

  • il nome deriva da quello del matematico persiano al-Khowarizmi (780-850?)

  • informalmente si definiscono come procedure per la soluzione di problemi

  • es: l’insieme di regole di calcolo per calcolare il massimo comune divisore, è un algoritmo inventato da Euclide nel IV secolo a.C.





la ricetta consente

  • la ricetta consente

  • con pochi semplici ingredienti

  • ad un cuoco che sa fare poche semplici operazioni con i suoi utensili

  • di produrre la torta





la ricetta rimane la stessa se scritta in italiano, francese, inglese, hindi …

  • la ricetta rimane la stessa se scritta in italiano, francese, inglese, hindi …

  • la procedura descritta è l’algoritmo

  • l’algoritmo è una entità astratta indipendente dalla forma in cui viene espresso

  • l’algoritmo rimane lo stesso se scritto in linguaggi di programmazione diversi



la ricetta comprende operazioni elementari che un qualunque cuoco sa eseguire, descritte ad un ragionevole livello di astrazione

  • la ricetta comprende operazioni elementari che un qualunque cuoco sa eseguire, descritte ad un ragionevole livello di astrazione

  • Es.: in una ricetta potremmo trovare

    • versate un cucchiaio di zucchero …
    • ma non
    • prendete 2.343 granelli di zucchero, sollevate il braccio con una angolazione di 14 gradi ad una velocità di 50 cm/sec …


allo stesso modo, l’algoritmo comprende operazioni elementari che un qualunque hardware sa eseguire, descritte in modo indipendente da un linguaggio di programmazione o una macchina che le esegue:

  • allo stesso modo, l’algoritmo comprende operazioni elementari che un qualunque hardware sa eseguire, descritte in modo indipendente da un linguaggio di programmazione o una macchina che le esegue:

    • somma due numeri
    • ma non
    • - somma 2 + 2


la ricetta può produrre torte diverse se applicata ad ingredienti diversi

  • la ricetta può produrre torte diverse se applicata ad ingredienti diversi

  • l’algoritmo può risolvere problemi diversi se applicato ad input diversi



dato un problema l’informatica lo può risolvere se:

  • dato un problema l’informatica lo può risolvere se:

  • esiste un algoritmo di soluzione

  • esiste un programma che descrive l’algoritmo

  • esiste un computer che può eseguire materialmente il programma



il fatto che non si vede il risultato di un algoritmo se non si ha una sua descrizione in un linguaggio di programmazione ed una macchina su cui gira spiega perché si tende a ridurre l’informatica allo studio ed utilizzo dei computer, o alla scrittura di programmi per i computer

  • il fatto che non si vede il risultato di un algoritmo se non si ha una sua descrizione in un linguaggio di programmazione ed una macchina su cui gira spiega perché si tende a ridurre l’informatica allo studio ed utilizzo dei computer, o alla scrittura di programmi per i computer



la soluzione di un problema richiede che:

  • la soluzione di un problema richiede che:

  • esista una descrizione formale della soluzione (ALGORITMO)

  • l’algoritmo sia descritto in un linguaggio di programmazione (PROGRAMMA SOFTWARE)

  • un computer esegua materialmente i passi del programma (HARDWARE)



l’algoritmo consente

  • l’algoritmo consente

  • ad una macchina (computer) che sa fare poche semplici operazioni con i suoi semplici utensili

  • di produrre la soluzione di problemi anche molto complessi



Il programma che descrive l’algoritmo è semplicemente la traduzione di ogni passo dell’algoritmo

  • Il programma che descrive l’algoritmo è semplicemente la traduzione di ogni passo dell’algoritmo

  • nella lingua che il computer è in grado di comprendere

  • ovvero in una serie di semplici operazioni che un computer è in grado di eseguire



oggi i computer:

  • oggi i computer:

  • fanno volare aerei e astronavi

  • controllano centrali elettriche e impianti industriali sofisticati

  • elaborano immagini e testi

  • comunicano nel linguaggio degli esseri umani … PIÙ O MENO … come vedremo in dettaglio!



esistono problemi NON risolvibili dai computer cioè per i quali

  • esistono problemi NON risolvibili dai computer cioè per i quali

  • è formalmente dimostrato che non esiste soluzione algoritmica

  • esiste una soluzione algoritmica ma i computer attuali impiegherebbero troppo tempo per realizzarla

  • non è ancora stata trovata una soluzione algoritmica (es. Intelligenza Artificiale)



NOTABENE: tra i problemi NON risolvibili ci sono quelli dell’Intelligenza Artificiale!!!

  • NOTABENE: tra i problemi NON risolvibili ci sono quelli dell’Intelligenza Artificiale!!!

  • Quindi anche quelli della linguistica computazionale e la Traduzione Automatica!!!



Gli algoritmi sono eseguibili se hanno:

  • Gli algoritmi sono eseguibili se hanno:

  • input e output specificato

  • determinatezza (specifica dei passi e della loro sequenza)

  • efficacia (eseguibilità meccanica senza altro contributo che l’input)

  • terminazione (tempo di esecuzione non infinito)



una macchina che sa eseguire poche elementari operazioni

  • una macchina che sa eseguire poche elementari operazioni

  • un motore di esecuzione di istruzioni

  • ma è programmabile cioè può simulare comportamenti di altre macchine (e dell’uomo) sulla base di insiemi strutturati di istruzioni (=programmi) fornite dall’uomo



il telaio inventato nel 1801 da Joseph Jacquard in Francia

  • il telaio inventato nel 1801 da Joseph Jacquard in Francia

  • la macchina teorizzata nel 1936 da Alan Turing in Inghilterra

  • Mark I

  • ENIAC

  • EDVAC costruita nel 1951 da John von Neumann negli USA



è l’idea astratta di una macchina che ha sullo stesso dispositivo di memoria dati e programma

  • è l’idea astratta di una macchina che ha sullo stesso dispositivo di memoria dati e programma

  • esegue solo operazioni semplici (lettura, scrittura, cancellazione e spostamento) su una memoria in forma di nastro



Electronic Numerical Integrator And Calculator

  • Electronic Numerical Integrator And Calculator

  • Costruita dall’esercito USA nel 1946

  • Eckert, Mauchley e Atanasoff



ENIAC

  • ENIAC

  • programmata esternamente mediante fili, connettori ed interruttori

  • programmare la macchina per lo svolgimento di un nuovo compito significava modificare le impostazioni di migliaia di interruttori



ENIAC:

  • ENIAC:

  • 18.000 valvole

  • 30 metri di lunghezza

  • 3 metri di altezza

  • 3 tonnellate di peso



è la prima macchina reale con programma memorizzato

  • è la prima macchina reale con programma memorizzato

  • la sua unità di memoria contiene sia i dati che il programma

  • le istruzioni sono inserite in memoria ed eseguite senza alcun ulteriore intervento umano



Adottano l’architettura della macchina di von Neumann:

  • Adottano l’architettura della macchina di von Neumann:

  • unità di input

  • unit di output

  • Central Processing Unit (CPU)

  • memoria



Svolgono le semplici operazioni sulla memoria descritte da Turing:

  • Svolgono le semplici operazioni sulla memoria descritte da Turing:

  • scrittura

  • lettura

  • cancellazione

  • spostamento



sono dei grandi insiemi di interruttori

  • sono dei grandi insiemi di interruttori

  • gli interruttori sono passati da valvole a transistor a circuiti integrati

  • ma rimane vero che ogni interruttore ha 2 soli stati (accesso e spento) che corrispondono ai 2 valori necessari alla codifica digitale





Condividi con i tuoi amici:


©astratto.info 2019
invia messaggio

    Pagina principale