










































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Una panoramica sui programmi veloci e i nuovi strumenti di memoria, discutendo l'evoluzione degli algoritmi indispensabili come compressione dati, indicizzazione motori di ricerca, crittografia e apprendimento automatico. Verranno inoltre presentate diverse tecnologie di codifica come Unicode, Morse, Alfabeto NATO, codici a barre e QR code. Il testo illustra anche il controllo dell'errore e il modello di Von Neumann.
Tipologia: Appunti
1 / 50
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!











































Pensiero computazionale = processo mentale per far risolvere problemi ad un agente, sia esso persona o macchina, fornendogli una serie di istruzioni che deve eseguire in autonomia. COS’E’ L’INFORMATICA? La disciplina dell’informatica è lo studio sistematico dei processi algoritmici che descrive e trasforma l’informazione: la loro teoria, analisi, design, efficienza, implementazione e applicazione. La domanda fondamentale sottostante a tutta l’informatica è: “cosa può essere efficacemente automatizzato?” COSA NON E’ L’INFORMATICA
Computer = concetto legato allo svolgimento di calcoli numerici (in uso dal sedicesimo secolo). Si parlava di computer umano – calcoli lunghi e noiosi svolti da parsone: astronomia, tavole matematiche... Dal fine ‘800 il computer diventa una macchina calcolatrice e dal 1930 diventa macchina digitale programmabile. STORIA DELLO SVILUPPO TECNOLOGICO Sistemi di calcolo:
- Scheda perforata , primo impiego produttivo di informazioni digitali. Schede perforate usate per censimento della popolazione negli USA (1890). Digitalizzazione dell’informazione: Dati rappresentati da numeri binari, composti da 2 cifre 0/1.
L'informatica nasce come branca della matematica ---> alla fine dell’800 i matematici si interrogavano sui fondamenti della matematica. Hilbert propose 23 problemi fondamentali matematici fondamentali da risolvere nel corso del XX secolo. Il più importante – il problema della decisione : esiste un procedimento per decidere se una proposizione è o meno conseguenza logica di altre? Per Hilbert in matematica si può sempre stabilire se un’affermazione è vera o falsa. THRING E CHURCH, TEORIA DEGLI ALGORITMI Turing e Church contestarono Hilbert dicendo che esistono proposizioni indicibili. Partendo da ciò nasce l’idea di ALGORITMO. -------> invenzione della macchina di Turing , una macchina in grado di calcolare ogni funzione calcolabile (è una macchina immaginaria). Tra le proposizioni decidibili alcune sono più facili di altre. Ci sono quindi diverse classi di complessità di problemi. Alcuni problemi possono essere risolti solo in tempi immensi. SHANNON E LA TEORIA DELL’INFORMAZIONE Pone le basi teoriche per la progettazione di circuiti binari che sono costituiti da bit ( binary digit ), variabili che assumo o il valore 0 o 1. Fonda la teoria dell’informazione: pone il problema di come ricostruire informazioni emesse da un emittente e affette da rumore. CHOMSKY E I LINGUAGGI FORMALI Ha inventato i linguaggi formali : definiti da insiemi di produzioni grammaticali che li generano. Identifica 4 tipi di linguaggi formali caratterizzati da diverse grammatiche. ETIMOLOGIA DEGLI ALGORITMI La parola deriva da un matematico persiano che ha scritto un trattato riferito ai sistemi numerici indiani. Algorismus = sistema numerico decimale ------> poi si trasforma in Algorithmus Algoritmi indispensabili:
Dato un problema computazionale, ci sono molti algoritmi che lo risolvono. Alcuni sono più efficienti di altri. Problema della ricerca :
Esempio: cercare zuzzurellone sul dizionario
Algoritmo di ricerca dicotomica Sotto-lista da esaminare = tutta la lista... a. Finché l’elemento non è stato trovato e la sottolista non è vuota, esamino l’elemento intermedio della sottolista:
Abbiamo scritto algoritmi in ---> pseudocodice = descrizione informale di un algoritmo che usa le convenzioni di un linguaggio di programmazione ma è pensata per essere letta da un umano e non da una macchina. Ci sono diverse tipologie di istruzioni:
Quanto tempo impiega l’algoritmo di ricerca dicotomica per cercare un valore? Domanda mal posta. La risposta dipende da:
In un certo linguaggio di programmazione esegue un confronto in 10 nanosecondi (10 alla –8 s). IL GIOCO DELLE TORRI DI HANOI Soluzione:
Diversi problemi computazionali possono avere diverse complessità. Complessità di un problema = prestazioni del più veloce algoritmo in grado di risolverlo. Un algoritmo è:
Le quantità sono nella natura, i numeri sono un costrutto umano (invenzione umana). Ci sono molti schemi diversi di numerali. NOTAZIONE POSIZIONALE DECIMALE Rappresentiamo i numeri in notazione posizionale in base decimale:
Si fa la somma tra i singoli bit usando le somme in colonna Un computer usa un numero prederifinito n di bit per rappresentare numeri. Quindi c’è un limite ai numeri rappresentabili (es. 32 bit, 64 bit).
I caratteri usati nel codice Ascii possono essere usati anche per creare immagini grafiche. ALTRI CODICI 1) Ascii esteso