Parte I.5 Cenni alla computazione
|
|
- Norma Damiano
- 6 anni fa
- Visualizzazioni
Transcript
1 Parte I.5 Cenni alla computazione Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 14, 2015 Elisabetta Elisabetta Ronchieri I Concetti Base Base
2 Argomenti Cosa è in grado di fare l elaboratore e come può sfruttare appieno le proprie abilità Concetto di funzione Quali sono i problemi risolvibili Classificazione dei problemi
3 Funzioni e loro calcolo
4 Funzione Dal punto di vista matematico una funzione è la corrispondenza tra un insieme di valori di ingresso e un insieme di valori di uscita. Ciascun valore in ingresso ha assegnato un valore di uscita univoco. Il calcolo della funzione è il processo di determinazione del valore di uscita dato il valore di ingresso. Calcolare le funzioni permette di risolvere i problemi. L informatica si prefigge di trovare tecniche per calcolare le funzioni che risolvono i problemi.
5 Tecnica: uso di tabelle Supponiamo che un programma usi una tabella per memorizzare tutte le corrispondenze tra valori di ingresso e quelli di uscita. Si ricerca nella tabella il valore di uscita della funzione a partire dal valore di ingresso. Calcolare la funzione significa ricercare un valore nella tabella. Questa soluzione presenta dei limiti: Non è possibile rappresentare in forma tabellare tutte le funzioni. Ne sono esempio la funzione di conversione delle unità di misura o di ordinamento.
6 Funzione di conversione Funzione che converte in Celsius le temperature espresse in Fahrenheit. Ad ogni misura della temperatura in Fahrenheit la funzione fa corrispondere il valore in Celsius. La tabella visualizza la funzione: E destinata a rimanere sempre incompleta non essendoci limite alle coppie di valori di ingresso e uscita. Fahrenheit (ingresso) Celsius (uscita) 1-17, , , , , ,
7 Funzione di ordinamento Funzione che ordina secondo una regola prestabilita i valori di ingresso di una lista. Ad ogni lista in ingresso fa corrispondere una lista in uscita i cui valori sono gli stessi dell ingresso ma ordinati. La tabella visualizza la funzione. E destinata a rimanere sempre incompleta non essendoci limite alle coppie di liste di valori di ingresso e uscita. Lista di valori (ingresso) Lista di valori (uscita)
8 Tecnica: uso di formule algebriche Supponiamo che un programma usi una formula algebrica. Calcolare la funzione significa seguire le istruzioni fornite dalla formula algebrica. Questa soluzione presenta dei limiti: Non è possibile usare le formule algebriche quando le relazioni tra ingresso e uscita sono troppo complesse. Ne sono esempio le funzioni trigonometriche, la funzione radice, la funzione che effetua la divisione tra interi.
9 Tecnica: uso di soluzioni sofisticate Per risolvere funzioni sempre più complesse si possono usare tecniche sofisticate. Di fatto per funzioni molto complesse non è possibile trovare una tecnica di risoluzione (un algoritmo) che associ ai valori di ingresso quelli di uscita. Il calcolo va oltre quello messo a disposizione dagli algoritmi. Queste sono le funzioni non computabili. Tutte le funzioni i cui valori di uscita possono essere determinate da algoritmi che usano valori di ingresso sono dette computabili.
10 Caratteristiche del computer Dallo studio delle funzioni computabili è possibile studiare i limiti delle capacità dell elaboratore. Se un calcolatore è stato costruito sulle basi della elaborazione delle funzioni computabili, sarà possibile sfruttarne la massima capacità di calcolo. Se un problema richiede il calcolo di una funzione non computabile, la sua elaborazione va oltre le capacità della macchina.
11 Macchina di Turing
12 Macchina di Turing E stata presentata da A. M. Turing nel E usata per individuare le capacità e i limiti delle macchine. E ancora usata per analizzare la potenza dei processi algoritmici (di calcolo).
13 Componenti della macchina di Turing Un nastro che si estende in modo indefinito alle due estremità, suddiviso in celle. Ogni cella può contenere un simbolo appartenente all insieme di simboli, detto alfabeto della macchina. Testina di lettura e scrittura. Unità di controllo che legge e scrive simboli su un nastro tramite la testina di lettura e scrittura.
14 Stati della macchina Durante il calcolo, la macchina si trova in ogni istante in uno stato che appartiene ad un insieme finito di stati. Gli stati speciali sono quello di inizio e fine del calcolo. All inizio del calcolo la macchina si trova nello stato iniziale. Alla fine del calcolo la macchina si trova nello stato finale.
15 Calcolo Il calcolo si compone di una sequenza di passi eseguita dall unità di controllo. Ogni passo consiste: nell osservare il simbolo presente nella cella corrente del nastro dove si trova la testina; scrivere un simbolo in quella cella; spostare la testina di una cella a sinistra o a destra; cambiare stato. L operazione da eseguire è determinata da un programma, il quale lo comunica all unità di controllo in base ai contenuti della cella su cui si trova la testina.
16 Macchina di Turing per incrementare un valore L alfabeto è dato dai simboli 0, 1 e *. * è usato per delimitare le stringhe di simboli che rappresentano numeri binari. * è la posizione iniziale che evidenzia l estremità destra di una stringa composta da 0 e 1. Gli stati della macchina sono INIZIO, SOMMA, RIPORTO, OVERFLOW, RITORNO e FINE. La macchina parte sempre dallo stato INIZIO.
17 Macchina di Turing per incrementare un valore Ingresso Uscita STATO direzione Valore INIZIO * * sx 5 SOMMA * * sx RIPORTO * * dx RITORNO * * dx RITORNO * * dx FINE * * 6 Questa macchina calcola la funzione successore. Tale funzione fa corrispondere ad ogni valore di ingresso n, intero non negativo, il valore di uscita n + 1. Il valore di ingresso è inserito sul nastro nella forma binaria. La macchina deve essere attivata per eseguire la funzione e leggere il valore di uscita dal nastro. Tale funzione è detta computabile secondo Turing o Turing computabile.
18 Tesi di Church-Turing Le funzioni Turing computabili sono tutte le funzioni computabili, secondo la tesi di Turing. La macchina di Turing può esprimere tutte le funzioni computabili. Questa ultima considerazione è detta tesi di Church-Turing. Le capacità di calcolo delle macchine di Turing sono prese come riferimento per paragonare le capacità di calcolo degli elaboratori ed evidenziare i loro limiti.
19 Linguaggi di programmazione universali
20 Linguaggi di programmazione universali Un linguaggio di programmazione universale è tale da scrivere programmi in grado di calcolare tutte le funzioni computabili. Se un problema non può essere risolto tramite un linguaggio di programmazione significa che non esiste un algoritmo in grado di risolverlo. Questo tipo di linguaggio è in genere non complesso. Sia rappresentato dal linguaggio essenziale.
21 Sintassi del linguaggio essenziale Le variabili sono configurazioni di bit che rappresentano interi non negativi. La variabile con la configurazione di bit 10 contiene il valore 2 Non è necessario dichiarare le variabili. Il linguaggio deve distinguere i nomi di variabili dagli altri termini. I nomi di variabili iniziano con una lettera dell alfabeto seguite da combinazioni di lettere e numeri. Esempi: ABC, A2. Ci sono tre istruzioni di assegnamento e una struttura di controllo (ciclo while). Ogni istruzione termina con ; Le istruzioni di assegnamento modificano i contenuti della variabile.
22 Esempio di programma per calcolare X x Y clear associa alla variabile il valore 0 incr incrementa di 1 il valore della variabile decr decrementa di 1 il valore della variabile while end è la struttura di controllo: Se la variabile è pari a 0, la struttura di controllo viene ignorata e si passa alla istruzione successiva; Se la variabile non è 0, viene eseguita la sequenza di istruzione all interno della struttura e il controllo ritorna all istruzione while. copia var1 in var2
23 Caratteristiche del linguaggio essenziale Tutti i programmi scritti nel linguaggio essenziale possono essere di riferimento per il calcolo delle funzioni computabili. Per calcolare la funzione basta eseguire il programma. Lo stesso linguaggio permette di calcolare le funzioni Turing computabili. Quindi può calcolare qualsiasi funzione computabile.
24 Funzione non computabile
25 Problema della terminazione E il problema di prevedere se un programma partito con certi valori di ingresso è in grado di terminare. Data la seguente porzione di programma: while X not 0 do; incr X; end; Se X vale 0, il ciclo non viene eseguito; Se X vale un qualsiasi altro valore, il ciclo sarà sempre eseguito e l esecuzione del programma non terminerà mai.
26 Tecnica di auto-riferimento Il programma può terminare o meno a seconda dei valori di ingresso delle variabili. E importante usare i valori giusti di ingresso per valutare la terminabilità o meno del programma. La tecnica di auto-riferimento prevede di assegnare alle variabili di un programma il programma stesso.
27 Controllo del fatto che un programma sia auto-terminante. Ogni programma essenziale è codificato come una sequenza di bit nel formato ASCII, a sua volta rappresentato nella forma binaria di un intero non negativo. Inizializzando la variabile X con il valore intero, si ottiene un ciclo infinito e la sua esecuzione non termina. Specificando la istruzione clear X prima della porzione di codice con while, il valore di X viene azzerato per cui non si entra nella struttura while-end. Programma essenziale while X not 0 do; incr X; end
28 Programma essenziale autoterminante Un programma essenziale è auto-terminante: se la sua esecuzione arriva a termine con tutte le variabili inizializzate alla rappresentazione codificata del programma; se la sua esecuzione termina quando inizia con se stesso come valore di ingresso.
29 Insolubilità del problema della terminazione Risolvere il problema della terminazione supera le capacità delle macchine. Supponiamo esista una funzione di terminazione che assuma: 1 per i programmi auto-terminanti; 0 per i programmi non auto-terminanti. Tale funzione non è computabile e si dimostra per assurdo. Una istruzione è falsa se non è vera. Dire La funzione di terminazione è computabile non è vero. Rientra nel problema non decidibile.
30 Prova della indecidibilità del problema della terminazione Dimostriamo che la funzione della terminazione non è computabile. Si procede per assurdo. Si suppone l esistenza di un programma che terminerà con: la variabile X uguale a 1, se il valore di ingresso rappresenta un programma auto-terminante o la variabile X uguale a 0 in caso contrario Se esiste un programma di questo tipo, lo si modifica con una struttura while-end per crearne uno nuovo. while X not 0 do;... end
31 Prova della indecidibilità del problema della terminazione Se il nuovo programma fosse auto-terminante e usando la codifica di se stesso come ingresso: se la variabile X fosse pari a 1, l esecuzione sarebbe intrappolata nel ciclo infinito, quindi se il nuovo programma è auto-terminante, allora non lo è. se la variabile X fosse pari a 0, l esecuzione della struttura while-end non sarebbe eseguita e terminerebbe, quindi se il nuovo programma non è auto-terminante, allora lo è. Quindi il programma iniziale modificato con una struttura while-end diventa un programma che non è auto-terminante e non è terminante. Quini è impossibile l esistenza del programma iniziale.
32 Complessità dei problemi
33 Complessità di un problema Riguarda il tempo che una macchina impiega a calcolare una soluzione. Non riguarda la dimensione del programma della soluzione. Un problema è complesso se tutte le sue soluzioni richiedono molto tempo. Questa complessità è detta temporale o time complexity. L efficienza di un algoritmo è inversa alla complessità: Più efficiente equivale a meno complesso
34 Complessità di un problema La complessità temporale di un problema è la complessità della sua soluzione migliore. Si esprime come (f(n)) theta grande n è la dimensione dei dati di ingresso f(n) è una espressione matematica in n Se un problema può essere risolto da un algoritmo in un tempo (f(n)), il problema è in (f(n)). Un problema (f(n)) se ha almeno una soluzione con una complessità in (f(n)).
35 Problemi trattabili (polinomiali) Sono i problemi la cui soluzione è eseguibile in un tempo polinomiale. In questo caso la funzione f(n) è un polinomio o è limitato superiormente da un polinomio. Esempi: Conteggio di valori in una tabella (database) con n record tempo lineare K x n Ordinare una serie di valori con n valori tempo K x n x log2(n)
36 Grafici delle espressioni matematiche n, lg n, n lg n, n 2 n 2 lg n e n lg n sono limitate superiormente da n 2 Un problema è polinomiale se è limitato superiormente da un polinomio. I problemi polinomiali rientrano nell insieme P. I problemi non in P sono problemi non trattabili o intrattabili.
37 Problemi non trattabili (non polinomiali) Sono i problemi la cui soluzione è eseguibile in un tempo più che polinomiale. Il problema è detto non trattabile. Esempio Permutazioni di caratteri con n caratteri tempo K x n!
38 Problemi non eseguibili Sono i problemi la cui soluzione richiede una esecuzione eccessivamente lunga richiederebbe anni o secoli Un esempio è il problema Non Calcolabile (NP) È indipendente dalla tecnologia Esempio: il problema del commesso viaggiatore Il commesso viaggiatore deve visitare vari clienti in città diverse senza superare il budget di spesa Il problema è trovare il percorso che non superi i chilometri consentiti Non si conosce un metodo risolutivo p.e.: intelligenza artificiale
39 Classificazione dei problemi NPcompleto polinomiale Difficoltà esponenziale non computabili terminazione
40 Referenza Glenn Brookshear, Informatica una panoramica generale, 11-esima versione, Pearson, Paragrafp 5.3, Cap 10.
Rappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
DettagliProblemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
DettagliMacchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29
Macchine di Turing Francesco Paoli Istituzioni di logica, 2016-17 Francesco Paoli (Istituzioni di logica, 2016-17) Macchine di Turing 1 / 29 Alan M. Turing (1912-1954) Francesco Paoli (Istituzioni di logica,
DettagliL ELABORATORE ELETTRONICO
L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti
DettagliElementi di Informatica A. A. 2016/2017
Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Algoritmi e Programmi Elementi
DettagliIl concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
DettagliL ELABORATORE ELETTRONICO!
L ELABORATORE ELETTRONICO! Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti
DettagliTeoria della Calcolabilità!
Teoria della Calcolabilità! Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo.! L'origine risale alla prima metà del ventesimo secolo, quando i logici matematici
DettagliPrincipio di composizione delle MT
Principio di composizione delle MT La definizioni date fanno riferimento a situazioni in cui la macchina sia capace di risolvere problemi singoli. E possibile far sì che macchine progettate per problemi
DettagliComplessità Computazionale
Complessità Computazionale La teoria della Computabilità cattura la nozione di algoritmo nel senso che per ogni problema sia esso decisionale o di calcolo di funzione stabilisce dei criteri per determinare
DettagliINFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)
INFORMATICA Cosa è l informatica Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) E una scienza E una tecnologia Cosa può essere automatizzato nell
DettagliInformatica Teorica. Macchine a registri
Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire
DettagliSomma di numeri binari
Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di
DettagliLa codifica. dell informazione
00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111
DettagliI.4 Rappresentazione dell informazione
I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione
DettagliCorso di Informatica di Base
Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere
DettagliElaborazione dell informazione
Elaborazione dell informazione Primo esempio Ricominciamo dai numeri (45 + 25) è definita rigorosamente Un primo calcolatore (a) Figura 1.1 Configurazione del pallottoliere (a) prima e (b) dopo l esecuzione
DettagliALGORITMI: PROPRIETÀ FONDAMENTALI
ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse
DettagliInformatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza
Macchine di Turing Argomenti della lezione Definizione della macchina di Turing Riconoscimento e accettazione di linguaggi Macchine a più nastri La macchina di Turing èun è automa che può leggere e scrivere
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliLa codifica. dell informazione
La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero
DettagliTeoria della Calcolabilità!
Teoria della Calcolabilità!! Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo.!! L'origine risale alla prima metà del ventesimo secolo, quando i logici matematici
DettagliScaletta. Cenni di computabilità. Cosa fa un programma? Definizioni (1/2) Definizioni (2/2) Problemi e domande. Stefano Mizzaro 1
Scaletta Cenni di computabilità Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 23 27 novembre 2013
DettagliTuring cercò di fornire una risposta matematica al problema CHE COSA SIGNIFICA CALCOLARE?
STORIA DELLE CONOSCENZE SCIENTIFICHE SULL UOMO E SULLA NATURA a.a. 2016 2017 Prof. Roberto Giuntini, PhD. Introduzione alla storia dell intelligenza artificiale e della robotica Modulo II: Le macchine
DettagliIl Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
DettagliCertificati dei problemi in NP
Certificati dei problemi in NP La stringa y viene in genere denominata un certificato Un Certificato è una informazione ausiliaria che può essere utilizzata per verificare in tempo polinomiale nella dimensione
Dettagliin termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito
DettagliI.4 Rappresentazione dell informazione - Numeri con segno
I.4 Rappresentazione dell informazione - Numeri con segno Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 20, 2015 Argomenti Introduzione 1 Introduzione
DettagliCapitolo 8: Teoria della complessitá
Capitolo 8: Teoria della complessitá 1 La Teoria della calcolabilitá considera aspetti qualitativi della soluzione di problemi. Distingue il calcolabile dal non calcolabile. La Teoria della complessitá
DettagliElaboratore Elettronico
L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati)) per produrre rre altri oggetti
Dettagli3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura
DettagliAlgoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo
1 Cos è l informatica? L informatica è la scienza della rappresentazione e dell elaborazione dell informazione Algoritmi e loro proprietà Proprietà formali degli Algoritmi Efficienza rispetto al tempo
DettagliITLCC 2006/10/6 19:09 page 7 #3
ITLCC 2006/10/6 19:09 page 7 #3 Capitolo 2 Macchine di Turing SOMMARIO In questo capitolo introdurremo il modello di calcolo proposto dal logico matematico inglese Alan Turing, in un suo famoso articolo
DettagliLa codifica digitale
La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore
DettagliElementi di Complessità Computazionale
Elementi di Complessità Computazionale Ultima modifica 23.06.2004 Il problema Esiste una misura oggettiva per valutare l'efficienza di un algoritmo? In che relazione sono gli input di un algoritmo con
DettagliIntroduzione a Matlab
INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi
DettagliCorso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 2 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 09 Marzo 2010 Controlli automatici
DettagliSommario Codifica dei dati Macchina Astratta Definizioni Esempi
Sommario Codifica dei dati Macchina Astratta Definizioni Esempi 1 2 Codifica dei dati È possibile introdurre la teoria della computabilità facendo riferimento ad algoritmi che elaborano numeri naturali
DettagliMa il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione
Problemi che i calcolatori non possono risolvere E importante sapere se un programma e corretto, cioe fa uello che ci aspettiamo. E facile vedere che il programma Ma il programma in Fig. 8.2 del libro?
DettagliProblemi, istanze, soluzioni
lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Marco Liverani (liverani@mat.uniroma3.it)
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliIntroduzione agli Algoritmi
Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione
DettagliCodifica binaria. Rappresentazioni medianti basi diverse
Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla
DettagliAlgoritmi e soluzione di problemi
Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)
DettagliCorso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi
Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un
Dettagli04 - Numeri Complessi
Università degli Studi di Palermo Scuola Politecnica Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 04 - Numeri Complessi Anno Accademico 2015/2016 M. Tumminello,
DettagliConcetti di base dell ICT
Informatica Linguaggio di programmazione Computer Bit Algoritmo Linguaggio macchina Informatica: Informazione automatica Gli anglosassoni usano il termine Computer Science = Scienza dei Calcolatori Computer:
DettagliParole note, nuovi significati: linguaggio, determinismo e infinito
Parole note, nuovi significati: linguaggio, determinismo e infinito Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico
DettagliFondamenti di Informatica 1 (I Modulo) Introduzione agli algoritmi. Roberto Basili a.a
Fondamenti di Informatica 1 (I Modulo) Introduzione agli algoritmi Roberto Basili a.a. 2006-2007 2007 Informatica Col termine Informatica si intende attualmente l insieme delle discipline scientifiche
DettagliAlgoritmo per A. !(x) Istanza di B
Riduzioni polinomiali Una funzione f: T*!T* è detta computabile in tempo polinomiale se esiste una macchina di Turing limitata polinomialmente che la computi. Siano L 1 e L 2 " T* due linguaggi. Una funzione
DettagliDiagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto
Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto 14 1. Dato un numero dire se è positivo o negativo 2. e se il numero fosse nullo? 3. Eseguire il prodotto tra
DettagliUnità di apprendimento 6. Dal problema al programma
Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 1 Conosciamo gli algoritmi e i linguaggi In questa lezione impareremo: cos è un problema come affrontarlo come descrivere
DettagliLa tesi di Church-Turing e
La tesi di Church-Turing e l indecidibilità Automi e algoritmi i La domanda d fondamentale dll della teoria dll della calcolabilità è: Quali risultati possiamo e non possiamo ottenere mediante algoritmi?
DettagliCosa è l Informatica?
Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore
DettagliIl linguaggio dei computer: rappresentazione in binario e algoritmi di conversione 20 settembre 2017
Il linguaggio dei computer: rappresentazione in binario e algoritmi di conversione 20 settembre 2017 Architettura degli Elaboratori L Architettura (informatica) è l insieme dei criteri in base ai quali
DettagliPROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
DettagliRappresentazione dei Dati
Parte II I computer hanno una memoria finita. Quindi, l insieme dei numeri interi e reali che si possono rappresentare in un computer è necessariamente finito 2 Codifica Binaria Tutti i dati usati dagli
DettagliSommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo
Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi Istruzioni variabili e tipi Sottoprogrammi Strutture di controllo Ricorsione 1 2 Obiettivo Ciclo di sviluppo di programmi Risoluzione
Dettagli04 - Numeri Complessi
Università degli Studi di Palermo Facoltà di Economia CdS Statistica per l Analisi dei Dati Appunti del corso di Matematica 04 - Numeri Complessi Anno Accademico 2013/2014 M. Tumminello, V. Lacagnina e
DettagliInformatica e Bioinformatica: Algoritmi
Informatica e Bioinformatica: Algoritmi 20 Marzo 2014 Programmi Applicativi Programmi Applicativi Sistema Operativo (lezione 3) Macchina Hardware (lezione 1 e 2) La macchina hardware permette l esecuzione
DettagliINFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno
INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno : Gli Algoritmi INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze
DettagliFondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 I numeri reali Sommario Conversione dei numeri reali da base 10 a base B Rappresentazione dei numeri reali Virgola fissa Virgola mobile (mantissa
DettagliIntroduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
DettagliInformazione e sua rappresentazione: codifica
Corso di Calcolatori Elettronici I Informazione e sua rappresentazione: codifica ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Il concetto di informazione Qualunque informazione è definita
DettagliProgrammare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi
MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme
DettagliLa macchina di Turing
La macchina di Turing (Esercitazione) I. Frosio AIS Lab. frosio@dsi.unimi.it 1/32 Cosa è la macchina di Turing? Algoritmo: sequenza di istruzioni elementari che termina in un numero finito di passi; Macchina
DettagliIstruzioni, algoritmi, linguaggi
Istruzioni, algoritmi, linguaggi 1 Algoritmo per il calcolo delle radici reali di un equazione di 2 o grado Data l equazione ax 2 +bx+c=0, quali sono i valori di x per cui l equazione è soddisfatta? 2
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Rappresentazione dell Informazione Barbara Masucci Cosa studiamo oggi Ø Un moderno elaboratore è un sistema elettronico digitale programmabile Ø Il suo comportamento è flessibile
DettagliUn ripasso di aritmetica: Conversione dalla base 10 alla base 2
Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre
DettagliRappresentazione delle frazioni proprie Aritmetica in binario Barbara Masucci
Architettura degli Elaboratori Rappresentazione delle frazioni proprie Aritmetica in binario Barbara Masucci Punto della situazione Ø Abbiamo visto Ø ll sistema posizionale pesato, in particolare le rappresentazioni
DettagliAlgoritmi e Linguaggi
Algoritmi e Linguaggi Programmi e linguaggi Un calcolatore è solo un esecutore rapidissimo di istruzioni Un programma è un insieme di istruzioni codificate in un opportuno linguaggio 2 / 21 Linguaggi e
DettagliAlgoritmi e diagrammi di flusso
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria orso di Laurea in Ingegneria Medica lgoritmi e diagrammi di flusso Rev.1.0 of 01-04-6 Risoluzione di un problema Risoluzione di problemi
DettagliRisolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: http://it.wikipedia.org/wiki/al-khwarizmi Un
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliDalla precedente lezione: LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 3 LA RAPPRESENTAZIONE DEI DATI (1) 28/02/2016
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 3 LA RAPPRESENTAZIONE DEI DATI (1) Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
DettagliELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI
ELEMENTI DI PROGRAMMAZIONE a.a. 22/3 MACCHINE, ALGORITMI, PROGRAMMI Andrea Prevete, UNINA2 23 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a stati finiti)... macchine di
DettagliMODULO 1. Prof. Onofrio Greco. Prof. Greco Onofrio
ECDL MODULO 1 Prof. Onofrio Greco Modulo 1 Concetti di base dell ICT Modulo 2 Uso del Computer e Gestione dei File Modulo 3 - Elaborazione testi Modulo 4 Foglio Elettronico Modulo 5 Uso delle Basi di Dati
DettagliAbilità Informatiche e Telematiche
Abilità Informatiche e Telematiche (Laurea Triennale + Laurea Magistrale) Marco Pedicini mailto:marco.pedicini@uniroma3.it Corso di Laurea Magistrale in Informazione, Editoria e Giornalismo, Università
DettagliTeoria della Calcolabilità
Teoria della Calcolabilità n Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo n L origine risale alla prima metà del ventesimo secolo, quando i logici matematici
DettagliAlgoritmi, Strutture Dati e Programmi. UD 1.d: Dati e Tipi di Dato
Algoritmi, Strutture Dati e Programmi : Dati e Tipi di Dato Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Dati: Variabili e Costanti Un algoritmo (e il programma che ne è rappresentazione)
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliInformatica, Algoritmi, Linguaggi
Elementi di Informatica e Applicazioni Numeriche T Informatica, Algoritmi, Linguaggi Cos'è l'informatica? Che cos'è l'informatica? Cos'è l'informatica? Che cos'è l'informatica? Dell'informatica possiamo
DettagliSistemi di Elaborazione delle Informazioni
SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 I linguaggi di programmazione e gli
DettagliPROBLEMI ALGORITMI E PROGRAMMAZIONE
PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL
Dettagli1 Esercizi in pseudocodice
Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.
Dettagli1.2f: Operazioni Binarie
1.2f: Operazioni Binarie 2 18 ott 2011 Bibliografia Questi lucidi 3 18 ott 2011 Operazioni binarie Per effettuare operazioni è necessario conoscere la definizione del comportamento per ogni coppia di simboli
DettagliConcetti di base sugli automi e sui linguaggi formali
Concetti di base sugli automi e sui linguaggi formali Andrea Burattin 18 marzo 2005 Sommario Piccolo insieme di concetti sul funzionamento degli automi (a stati finiti, a pila,...), delle grammatiche libere
DettagliProblema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
DettagliDalla prima lezione. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI 28/02/2016. Concetto di algoritmo
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
Dettagli3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi
0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore
DettagliLA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
DettagliTipi di dato semplici
Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma
DettagliCORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1
CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 Lezione 1 (Introduzione e Definizioni) Docenti Docente: Prof. Michele Colajanni Lezioni (Aula IV): martedì 10:00-12:45 Esercitazioni (Laboratorio): mercoledì
DettagliAlgoritmi di ricerca. Per ricerca si intende qui il procedimento di localizzare una particolare informazione in un elenco di dati.
E. Calabrese: Fondamenti di Informatica Algoritmi-1 Algoritmi di ricerca Per ricerca si intende qui il procedimento di localizzare una particolare informazione in un elenco di dati. Per esempio: - cercare
DettagliTEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE
TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE Riccardo Dondi Dipartimento di Scienze dei linguaggi, della comunicazione e degli studi culturali Università degli Studi di Bergamo Informazione sul corso
DettagliIl calcolatore universale, origini e nuovi paradigmi
Il calcolatore universale, origini e nuovi paradigmi Lucia Pomello Università degli studi di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione 24 febbraio 2017 L evoluzione dell
DettagliAritmetica dei Calcolatori Elettronici
Aritmetica dei Calcolatori Elettronici Prof. Orazio Mirabella L informazione Analogica Segnale analogico: variabile continua assume un numero infinito di valori entro l intervallo di variazione intervallo
DettagliStudio degli algoritmi
COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.2006/07 Prof. V.L. Plantamura Dott.ssa A. Angelini Studio degli algoritmi Dato un problema P, le problematiche riguardano: Sintesi
DettagliUn monomio è in forma normale se è il prodotto di un solo fattore numerico e di fattori letterali con basi diverse. Tutto quanto sarà detto di
DEFINIZIONE Espressione algebrica costituita dal prodotto tra una parte numerica (coefficiente) e una o più variabili e/o costanti (parte letterale). Variabili e costanti possono comparire elevate a potenza
Dettagli