LINGUAGGI - COMPILATORI - INTERPRETI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "LINGUAGGI - COMPILATORI - INTERPRETI"

Transcript

1 LINGUAGGI - COMPILATORI - INTERPRETI Per poter risolvere un dato problema utilizzando un computer è necessario che questo venga guidato da una serie di istruzioni che specificano, passo dopo passo, la sequenza di azioni che devono essere compiute. Esiste il problema di comunicare al computer gli algoritmi tramite i quali operare. Questo problema è risolto definendo un linguaggio che sia comprensibile sia all utente che al computer e nel quale vengano espressi gli algoritmi. LINGUAGGI Un linguaggio, naturale od artificiale, è un sistema di segni, di natura qualsiasi, creato per poter comunicare delle conoscenze. Per linguaggio artificiale si intende un linguaggio creato dall uomo, secondo precise regole convenzionali, per particolari finalità. I linguaggi naturali ed artificiali presentano una differenza fondamentale : l univocità del significato che in essi assumono le parole, le frasi e le altre costruzioni linguistiche. Infatti mentre il significato di una parola o di una frase in un linguaggio naturale varia anche sensibilmente, secondo il contesto del discorso, nei linguaggi artificiali ed in particolare in quelli di programmazione ogni parola o frase ha un significato assolutamente univoco. I linguaggi naturali ed artificiali presentano però un analogia : qualunque frase oltre ad essere costruita in modo corretto deve avere un significato. Come nel caso dei linguaggi naturali, anche per lo studio dei linguaggi di programmazione, occorre conoscere l insieme dei simboli che questi riconoscono come propri cioè l Alfabeto. Occorrerà anche stabilire come comporre tra loro i simboli dell alfabeto definendo sia le azioni che possono essere descritte dal linguaggio che le regole che sono necessarie per richiedere l esecuzione di tali azioni. E necessario allora affrontare lo studio dei linguaggi di programmazione secondo 2 direttrici precise : 1) lo studio delle regole che specificano le costruzioni valide (SINTASSI) 2) lo studio delle interpretazioni e del significato da dare ad ogni elemento del linguaggio (SEMANTICA) Un ALFABETO è un insieme finito di simboli; si definisce stringa una successione finita di simboli. Un LINGUAGGIO, da questo punto di vista, è un sottoinsieme, opportunamente definito, ricavato dall insieme di tutte le stringhe che possono essere generate a partire dall alfabeto. Ogni elemento di un linguaggio sarà detto PAROLA del linguaggio. Esisteranno sia stringhe che appartengono al linguaggio che stringhe che non vi appartengono. La SINTASSI del linguaggio è composta da una serie di regole per poter stabilire se una stringa appartiene o meno al Linguaggio. Invece la GRAMMATICA è l insieme delle regole che permettono di generare le stringhe di un linguaggio. Pertanto un generico linguaggio di programmazione deve possedere un alfabeto mediante il quale, tramite delle regole grammaticali, si costruiscono delle stringhe corrette; tramite la sintassi si può poi decidere quali stringhe grammaticalmente corrette appartengono al linguaggio ed infine, per mezzo dell analisi semantica si può assegnare un ben definito significato ad ogni stringa appartenente al linguaggio. Storia del linguaggi Fino alla fine degli anni 50 la programmazione era sostanzialmente un opera di minuziosa traduzione dei singoli blocchi di un algoritmo in una sequenza di cifre binarie, ottali, hex secondo un codice, LM, rispondente alle caratteristiche specifiche dell elaboratore che doveva eseguire il programma. Linguaggio macchina Con il termine programma in LM facciamo riferimento ad un algoritmo codificato in una forma direttamente interpretabile dalla CPU e residente in MC. Il LM è quindi una codifica binaria con cui richiedere alla CPU l esecuzione delle operazioni previste dai circuiti logici dell ALU, che dipende dalle particolarità tecniche hardware e perciò varia in base al tipo di computer. Ogni elaboratore è caratterizzato da un unico linguaggio macchina, stabilito all atto della sua costruzione. Ogni circuito logico realizza una determinata operazione sui dati binari. In fase di costruzione di un elaboratore elettronico viene determinata perciò la gamma e il tipo di operazioni eseguibili dalla macchina. Ad ogni singola operazione viene associato un codice binario stabilendo una corrispondenza biunivoca tra le combinazioni di gruppi di bit di lunghezza prefissata e i vari circuiti o i tipi di operazioni. La codifica avviene per mezzo di una lista di informazioni a lunghezza fissa dette istruzioni che occupano delle locazioni di memoria adiacenti in una stessa area, indicata come area di programma. In un altra zona, detta area dati, vengono posti i valori su cui opera il programma. Un elaboratore dispone di diverse classi di istruzioni con diversi tipi di formati. Con il termine formato si intendono le parti che compongono le istruzioni stesse e cioè : Codice operativo Indirizzo op1 Indirizzo op2 Indirizzo risul. 1

2 La lunghezza dei vari campi ( espressa in numero di bits ) varia da elaboratore ad elaboratore; significativa risulta essere quella del codice operativo dal cui valore si può risalire al massimo repertorio di istruzioni possibili n -> 2 n Per le classi di istruzioni vedere programma di III Esistevano delle difficoltà ad operare in LM : 1. enorme disparità tra tempo di programmazione e tempo di esecuzione 2. i programmi erano molto sensibili agli errori di difficile localizzazione 3. i programma non erano documentabili 4. lunghi tempi di apprendimento 5. difficoltà in quanto tutto ( variabili ed istruzioni ) dovevano essere scritte in termini di cifre binarie 6. difficoltà di prova di un programma 7. necessità di scomporre l algoritmo in passi elementari 8. nessuna portabilità : il programma in LM doveva essere ogni volta adattato alle caratteristiche del computer utilizzato, costringendo il programmatore alla consocenza dettagliata delle caratteristiche tecniche della macchina Fu presto evidente che i lunghi controlli necessari,per stilare correttamente un programma in LM erano in realtà dei processi meccanici e come tali potevano essere affidati ad un altro programma. In fatti il lavoro di assegnazione di indirizzi alle istruzioni ed ai dati è molto semplice e ripetitivo. Il primo stadio di sviluppo fu costituito dai cosiddetti Linguaggi Simbolici a Basso Livello i quali consentivano di specificare i dati e le istruzioni mediante dei simboli cioè dei codici mnemonici che sostituivano i codici operativi, gli indirizzi ed in dati espressi in forma binaria. Linguaggi Assembler I linguaggi assemblativi sono linguaggi simbolici a basso livello. Simbolici in quanto fanno uso di simboli : codici mnemonici al posto dei codici operativi (es. ADD al posto di 0010) e nomi di variabili al posto degli indirizzi di memoria (es. AREA al posto di 0ABE0). A basso livello in quanto esiste sempre una corrispondenza biunivoca con le istruzioni in LM. Ciò permette al programmatore di sfruttare al meglio le prestazioni hardware, offrendogli quindi la massima possibilità di ottimizzazione dei programmi in termini di tempo di esecuzione e occupazione di memoria. I programmi per contro sono rigidamente dipendenti dalle caratteristiche della macchina e non portabili su un altro sistema. I vantaggi che si ottengono nell utilizzare un linguaggio assemblativo, al posto di quello macchina, sono : la possibilità di usare dei simboli al posto dei codici operativi e degli indirizzi facilità nella scrittura e nella lettura dei programmi semplificazione nella prova e correzione di un programma Per contro i punti 7. e 8. degli svantaggi del LM risultano ancora persistenti. Infatti ogni computer ha un suo assembler ( nessuna portabilità ) e l algoritmo deve essere scomposto in passi elementari (corrispondenza uno a uno con LM). Descriviamo ora le caratteristiche comuni a tutti i linguaggi assemblativi in termini di formato : Label Codice operativo Operando Commento dove : label : è utilizzata per l identificazione dell istruzione Codice operativo : indica il tipo di operazione che deve essere svolta Operando : indica il valore oppure l indirizzo del dato che viene utilizzato nell operazione in forma simbolica Commento : facoltativo, descrive le funzioni dell istruzione Classi di istruzioni per l assembler : dichiarative logico-aritmetiche controllo controllo programma 2

3 input/output Dichiarative : usate per la descrizione di costanti, variabili e per la definizione di aree di memoria. In questo caso la label rappresenta il nome associato al dato. Il codice operativo specifica il tipo di operazione che si intende fare. Il campo operandi indicherà il valore associato oppure la grandezza dell area. Logico-aritmetiche, Input/output, controllo = LM Controllo programma : danno disposizioni sul modo in cui deve essere eseguito il programma. Vengono chiamate anche pseudoistruzioni perché all atto della traduzione non generano alcun codice oggetto. I programma scritti in forma simbolica devono però essere tradotti in una forma comprensibile alla macchina; questa funzione di traduzione è svolta da alcuni programmi che prendono il nome di Assemblatori. Essi generano un istruzione in codice macchina per ogni istruzione simbolica e inoltre hanno il compito di gestire gli indirizzi dei dati e delle istruzioni, assegnando ai diversi nomi simbolici definiti nel programma delle posizioni assolute in MC. La codifica viene fornita al computer attraverso un qualsiasi dispositivo di input e assegnata come dato di input al programma assemblatore, che produce come output un equivalente programma in LM o in un linguaggio intermedio. In generale, dato che nel campo operandi di un istruzione possono apparire simboli non ancora definiti, sono necessari 2 passi ( o scansioni) di elaborazione da parte dell assemblatore. La prima scansione determina l indirizzo di ogni simbolo, mentre la seconda genera le istruzioni in codice oggetto e gli appropriati indirizzi. E il caso delle forward reference, ovvero dei salti in avanti ad etichette non ancora definite. L assemblatore per funzionare utilizzerà una tabella dei codice macchina, una tabella delle pseudoistruzioni, e creerà una tavola dei simboli e il codice macchina. Ovviamente fra i compiti dell assemblatore vi sarà anche quello di effettuare un analisi lessicale e sintattica e segnalare opportuni errori ( in genere una lista prodotta su un tabulato di stampa) che non permetterà la traduzione in LM. E anche possibile avere tutto un gruppo di istruzioni in corrispondenza di una sola istruzione definita nel linguaggio simbolico; in tal caso si parla di macroistruzioni e di macroassemblatori. IL codice viene espanso e sostituito ogni qual volta nel sorgente viene richiamata la macro istruzione ( non è pertanto equivalente al concetto di sottoprogramma nei linguaggi evoluti). L assembler in conclusione semplifica notevolmente il lavoro al programmatore, consentendogli di lavorare in una forma più semplice e veloce e contemporaneamente preservando quelle caratteristiche di ottimizzazione delle risorse della macchina già presenti nel LM: Tuttavia persistono 2 problemi fondamentali ovvero la non portabilità e la necessità di scomporre l algoritmo in passi elementari. E per rispondere a queste esigenze che sono sorti i linguaggi evoluti o di terza generazione. I linguaggi evoluti si propongono, seppure in modo parziale, di risolvere i 2 problemi rimasti in sospeso. Sono infatti linguaggi in cui ogni frase assume un significato LOGICO-OPERATIVO, ovvero non c è più corrispondenza biunivoca con una singola istruzione in LM, ma ogni istruzione in L.E. ha un significato più ampio es. repeat..until). Inoltre il nucleo dei linguaggi evoluti risulta portabile. Problemi continuano a sussistere per quanto concerne le istruzioni di I/O (in quanto strettamente legate al Sistema Operativo) e le istruzioni aggiuntive appartenenti a particolari librerie e caratteristiche esclusivamente di particolari versioni del linguaggio. I vantaggi derivanti dall uso dei linguaggi evoluti possono essere così riassunti : tempo di apprendimento minore documentazione più accurata maggiore portabilità facilità di prova e correzione Ovviamente è necessario riportare le istruzioni del linguaggio evoluto in una forma comprensibile alla macchina. Tale funzione è svolta da quei programmi, appartenenti sempre alla categoria dei traduttori, che vengono indicati coi nomi Compilatori ed Interpreti. Un Compilatore esegue la traduzione di un programma scritto in L.E. ( source) in un programma scritto in codice macchina (object). Vengono analizzate tutte le istruzioni del source sulle quali viene effettuato un controllo lessicale, sintattico e semantico. Se non sono presenti errori, il compilatore effettuerà la traduzione in codice oggetto. La fase di compilazione risulta completamente separata da quella di esecuzione. Il codice oggetto prodotto verrà memorizzato e sarà a disposizione per successive esecuzioni. L interprete invece analizza ogni istruzione del source, effettuando controlli lessicali, sintattici e semantici e, prima del controllo dell istruzione successiva, viene eseguita l istruzione corrente. 3

4 L interprete presenta un nucleo principale che esegue la scansione del programma sorgente, frase per frase, e una "collezione di sottoprogrammi ognuno predisposto all esecuzione di un certo tipo di istruzione del linguaggio. Poiché nell interpretazione l eventuale errore riscontrato viene segnalato immediatamente, il programmatore può mettere a punto il proprio programma operando in modo conversazionale. Per tale ragione l interprete è sicuramente preferibile in fase di debugging e di stesura del programma. Tuttavia la natura del processo, che prende in considerazione una sola istruzione per volta, non si adata facilmente al caso di richiami a sottoprogrammi, strutture dati complesse, ecc. Riassumendo : la differenza principale tra i due processi risiede nel fatto che una volta che il programma in L.E. è stato compilato, questa operazione di traduzione non deve più essere fatta ogni volta che si desidera l esecuzione del programma. Al contrario, quando si esegue il processo di interpretazione, non rimane traccia delle singole righe tradotte dopo l esecuzione e quindi ogni volta che è richiesta l esecuzione del programma interpretato deve essere speso un tempo ulteriore per una nuova verifica sintattica e la conseguente interpretazione. SE, per contro, consideriamo il lavoro di ricerca dell errore, si può notare che compilando, anche per semplici errori di sintassi, deve essere eseguita una nuova compilazione completa del programma prima di poterne vedere l esecuzione effettiva. Da questo punto di vista il processo di interpretazione consente una maggiore elasticità, riducendo i tempi di debugging; infatti è possibile interrompere l esecuzione con opportuni comandi ed eseguire in modo interattivo la verifica sia della sintassi che del contenuto delle variabili. Il procedimento seguito dall interprete porta ad una maggiore lentezza nell esecuzione dei programmi rispetto a quelli compilati : per esempio le istruzioni contenute in un ciclo vengono analizzate e tradotte ogni volta che il ciclo viene ripetuto. E da notare inoltre che un programma in linguaggio interpretato, anche dopo alcune prove di esecuzione, non dà garanzia di correttezza sintattica in quanto vengono controllate soltanto le istruzioni effettivamente eseguite FASI DELLA COMPILAZIONE Il processo di compilazione consiste in una serie di passi successivi che in genere appaiono come un unico passo. Ognuno di essi produce un risultato intermedio che costituisce l input per il passo successivo. Le fasi logicamente distinte in cui può suddividersi un processo di compilazione possono essere così riassunte : 1. ANALISI LESSICALE (SCANNER): In questa fase vengono riconosciuti gli elementi base (o atomi) di un linguaggio. Può essere incontrato un elemento non assimilabile a nessun tipo previsto da parte dell analizzatore automatico (es. nome variabile costruito irregolarmente). IL programma viene analizzato secondo la seguente sequenza di operazioni : scansione sequenziale di tutte le istruzioni riconoscimento e separazione gli uni dagli altri degli elementi base del programma classificazione degli atomi come identificatori, costanti, ecc. Questa terza operazione nasce da un esigenza ben precisa : gli elementi che compaiono nelle frasi sono disomogenei tra loro e per poterli trattare in modo automatico devono essere resi facilmente riconoscibili. Questo scopo viene raggiunto attribuendo a ciascuno di essi un codice che ne definisce il tipo. Inoltre ogni elemento deve essere riconosciuto per distinguerlo da un altro dello stesso tipo ; viene pertanto attribuito un numero distintivo per ogni elemento. Alla fine della fase di analisi lessicale si formano una o più tabelle di descrittori degli elementi del linguaggio. Le parole chiavi del linguaggio sono già contenute in una tabella interna. 2. ANALISI SINTATTICA (PARSER) : in questa fase vengono riconosciute le strutture sintattiche elementari e segnalati eventuali errori. 3. ANALISI SEMANTICA : in questa fase viene interpretato il significato associato ad ogni struttura che può portare direttamente alla produzione del codice oggetto oppure ad una rappresentazione intermedia. 4. GENERAZIONE DEL CODICE : in questa fase viene prodotto il codice oggetto. Le prime tre fasi dipendono dal linguaggio mentre la quarta dipende dall elaboratore ospite e non gode sicuramente della caratteristica di portabilità. Svantaggi nell utilizzo dei linguaggi evoluti Uno degli svantaggi più sentiti è l inefficienza dei programmi prodotti. Il compilatore non è in grado di effettuare valutazioni, quali il livello d uso di una variabile o se essa, non essendo più necessaria, può essere eliminata. Inoltre non può far uso di esperienze precedenti per semplificare in modo intelligente i codici da eseguire. Il programma oggetto risultante è pertanto più lento e più lungo del necessario. Questo 4

5 è uno dei motivi per cui, in particolari ambienti dove il tempo di esecuzione di un programma è un elemento significativo, l assembler è ancora utilizzato. Molti compilatori prevedono l utilizzo di una successiva fase di ottimizzazione, proprio per risolvere almeno parzialmente questo problema. PARAMETRI DI STIMA DI UN LINGUAGGIO EVOLUTO portabilità versatilità ( ricchezza di strutture dati e di controllo ) leggibilità velocità di traduzione modularità ottimizzazione Classificazione Linguaggi FORTRAN (53-54) : indirizzato a problemi scientifici ALGOL (58) : è sorto come un linguaggio universale per la produzione di algoritmi COBOL (59) : finalizzato espressamente alle applicazioni commerciali e gestionali RPG (62) : è stato sviluppato in ambiente IBM allo scopo di facilitare la redazione di tabulati e tabelle BASIC ( 63-64) : linguaggio algoritmico di carattere generale, non indirizzato ad alcuna specifica applicazione, di facile apprendimento ed utilizzo PASCAL (68) : linguaggio di carattere generale che consente un alto livello di strutturazione sia degli algoritmi che dei dati ed offre la possibilità di definire tipo di dati diversi da quelli standard ( ambiente didattico ) C (74) : per la produzione di software di base in ambiente Unix ADA (79) : sorto per fra fornte alla necessità di un linguaggio ed uno standard di documentazione univoco Sono tutti linguaggi della 3 generazione : imperativi. Linguaggi della 4 generazione : Linguaggi per DB : nati per manipolare Basi di Dati (DBIV, ambiente Oracle, Paradox, ecc) Linguaggi della 5 generazione : LISP (58) : indirizzato alla manipolazione di espressioni simboliche e di dati in genere strutturati a liste dinamiche ( intelligenza artificiale e robotica) PROLOG (72) : ispirato alla logica formale : utilizzato soprattutto in ambienti di intelligenza artificiale Linguaggi Object oriented : Visual Basic, Visual C, Delphi, ecc Esempio Prolog : padre(giorgio,mario). Padre(giorgio,mario) Sono fatti fratello (a,b) : - padre(c,a) ^ padre (c,b) regola Si esegue scrivendo :? - fratello(mario,luca) La risposta all esecuzione sarà si o no. Per eseguire usa i fatti e le regole. 5

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Programmi. Algoritmi scritti in un linguaggio di programmazione

Programmi. Algoritmi scritti in un linguaggio di programmazione Programmi Algoritmi scritti in un linguaggio di programmazione Sistema operativo:programma supervisore che coordina tutte le operazioni del calcolatore Programmi applicativi esistenti Sistemi di videoscrittura

Dettagli

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Linguaggi per COMUNICARE Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Sintassi e semantica dei linguaggi Un informazione può : Essere

Dettagli

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Scopo della lezione. Informatica. Informatica - def. 1. Informatica Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio Il Concetto Intuitivo di Calcolatore Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini I Problemi e la loro Soluzione Problema: classe

Dettagli

Richiami di informatica e programmazione

Richiami di informatica e programmazione Richiami di informatica e programmazione Il calcolatore E una macchina usata per Analizzare Elaborare Collezionare precisamente e velocemente una grande quantità di informazioni. Non è creativo Occorre

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore

Dettagli

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

Dettagli

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Gli elaboratori utilizzano memoria per Dati da elaborare Istruzioni eseguite dall elaboratore software differenti risoluzione problemi differenti Algoritmo

Dettagli

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro

Dettagli

La Macchina Virtuale

La Macchina Virtuale Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1 Ernesto Cappelletti (ErnestoCappelletti) IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 6 April 2012 1. Requisiti per la scrittura del software secondo la norma UNI EN ISO 13849-1:2008

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli

Informazione e dato. Gabriella Trucco

Informazione e dato. Gabriella Trucco Informazione e dato Gabriella Trucco Cos è l informatica? Informatica? Trattamento automatico delle informazioni INFORMATICA Informazione Informazione: Qualcosa che quando viene fornito dissipa un dubbio,

Dettagli

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Raggruppamenti Conti Movimenti

Raggruppamenti Conti Movimenti ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

Corso di INFORMATICA 2 (Matematica e Applicazioni)

Corso di INFORMATICA 2 (Matematica e Applicazioni) Università di Camerino Scuola di Scienze e Tecnologie Sezione di Matematica Corso di INFORMATICA 2 (Matematica e Applicazioni) Anno Accademico 2014/15 3 Anno Primo Semestre Docenti: Paolo Gaspari Roberto

Dettagli

Linguaggio C. Fondamenti. Struttura di un programma.

Linguaggio C. Fondamenti. Struttura di un programma. Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE

Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE hardware Firmware, software memorizzato su chip di silicio Sistema Operativo venduto con l, comprende vari programmi di gestione del sistema Applicativo,

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) Un insieme è una collezione di oggetti. Il concetto di insieme è un concetto primitivo. Deve esistere un criterio chiaro, preciso, non ambiguo, inequivocabile,

Dettagli

Origini e caratteristiche dei calcolatori elettronici

Origini e caratteristiche dei calcolatori elettronici Origini e caratteristiche dei calcolatori elettronici Lunedì, 09 ottobre 2006 Supercomputer, mainframe 1 Server, workstation, desktop, notebook, palmare Un po di storia 1642 Biagio Pascal 1671 Leibniz

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 4-Panoramica delle generazioni 1 Prerequisiti Monoprogrammazione e multiprogrammazione Multielaborazione Linguaggio macchina Linguaggi di programmazione e compilatori Struttura

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

Architettura dei calcolatori e sistemi operativi. Assemblatore e Collegatore (Linker) Capitolo 2 P&H Appendice 2 P&H

Architettura dei calcolatori e sistemi operativi. Assemblatore e Collegatore (Linker) Capitolo 2 P&H Appendice 2 P&H Architettura dei calcolatori e sistemi operativi Assemblatore e Collegatore (Linker) Capitolo 2 P&H Appendice 2 P&H Sommario Il processo di assemblaggio Il collegatore (linker) 2 Assemblatore: traduzione

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Informazioni generali Docente: Prof.ssa Dora Giammarresi: giammarr@mat.uniroma2.it Tutor:??? Informazioni generali

Dettagli

Gestione del workflow

Gestione del workflow Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario

Dettagli

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio AXO Architettura dei Calcolatori e Sistema Operativo processo di assemblaggio linguaggio assembly è il linguaggio simbolico che consente di programmare un calcolatore utilizzando le istruzioni del linguaggio

Dettagli

PREMESSA AUTOMAZIONE E FLESSIBILITA'

PREMESSA AUTOMAZIONE E FLESSIBILITA' PREMESSA In questa lezione analizziamo i concetti generali dell automazione e confrontiamo le diverse tipologie di controllo utilizzabili nei sistemi automatici. Per ogni tipologia si cercherà di evidenziare

Dettagli

Analizzatore lessicale o scanner

Analizzatore lessicale o scanner Analizzatore lessicale o scanner Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner, attraverso un esame carattere per carattere dell'ingresso,

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi) Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) 3. (testo di riferimento: Bellini-Guidi) Ing. Agnese Pinto 1 di 28 Linguaggi di programmazione Un programma è un algoritmo

Dettagli

SCUOLA PRIMARIA SCIENZE NATURALI E SPERIMENTALI. Competenza: 1. Comunicazione efficace Indicatore: 1.1 Comprensione

SCUOLA PRIMARIA SCIENZE NATURALI E SPERIMENTALI. Competenza: 1. Comunicazione efficace Indicatore: 1.1 Comprensione SCUOLA PRIMARIA SCIENZE NATURALI E SPERIMENTALI Competenza: 1. Comunicazione efficace Indicatore: 1.1 Comprensione Descrittori Classe 1 Descrittori Classe 2 Descrittori Classe 3 Descrittori Classe 4 Descrittori

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15 WG TRANSLATE Pagina 1 di 15 Sommario WG TRANSLATE... 1 1.1 INTRODUZIONE... 3 1 TRADUZIONE DISPLAY FILE... 3 1.1 Traduzione singolo display file... 4 1.2 Traduzione stringhe da display file... 5 1.3 Traduzione

Dettagli

Nozione di algoritmo. Gabriella Trucco

Nozione di algoritmo. Gabriella Trucco Nozione di algoritmo Gabriella Trucco Programmazione Attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su particolari informazioni (dati), allo scopo di risolvere

Dettagli

CHE COS È L INFORMATICA

CHE COS È L INFORMATICA CHE COS È L INFORMATICA Prof. Enrico Terrone A. S. 2011/12 Definizione L informatica è la scienza che studia il computer sotto tutti i suoi aspetti. In inglese si usa l espressione computer science, mentre

Dettagli

Problemi, Algoritmi e Programmi

Problemi, Algoritmi e Programmi MASTER Information Technology Excellence Road (I.T.E.R.) Problemi, Algoritmi e Programmi Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Introduzione

Dettagli

MAPPE DI KARNAUGH. Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica.

MAPPE DI KARNAUGH. Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica. MAPPE DI KARNAUGH 1. Generalità Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica. E ovvio che più semplice è la funzione e più semplice

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura

Dettagli

Cos è un Calcolatore?

Cos è un Calcolatore? Cos è un Calcolatore? Definizione A computer is a machine that manipulates data according to a (well-ordered) collection of instructions. 24/105 Riassumendo... Un problema è una qualsiasi situazione per

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

Dettagli

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. PROGETTO SeT Il ciclo dell informazione Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. Scuola media Istituto comprensivo di Fagagna (Udine) Insegnanti referenti: Guerra Annalja, Gianquinto

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

PLC Sistemi a Logica Programmabile Il linguaggi di programmazione

PLC Sistemi a Logica Programmabile Il linguaggi di programmazione PLC Sistemi a Logica Programmabile Il linguaggi di programmazione Prof. Nicola Ingrosso Guida di riferimento all applicazione applicazione dei Microcontrollori Programmabili IPSIA G.Ferraris Brindisi nicola.ingrosso

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

Informazione analogica e digitale

Informazione analogica e digitale L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

Dettagli

Situazione Attuale. Le persone svolgono molte operazioni ripetitive ed occupano il proprio computer per le elaborazioni..

Situazione Attuale. Le persone svolgono molte operazioni ripetitive ed occupano il proprio computer per le elaborazioni.. Gestione Presenze Situazione Attuale Con sistemi classici di rilevazione presenze installati in azienda Le persone svolgono molte operazioni ripetitive ed occupano il proprio computer per le elaborazioni..

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Progettazione di un Database

Progettazione di un Database Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di

Dettagli

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN ALGORITMI E MACCHINA DI VON NEUMANN 1 COMPUTER= ELABORATORE NON CERVELLO ELETTRONICO CERVELLO: Capacità decisionali ELABORATORE: Incapacità di effettuare scelte autonome di fronte a situazioni impreviste

Dettagli

Reti sequenziali sincrone

Reti sequenziali sincrone Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T

Dettagli

Informatica - A.A. 2010/11

Informatica - A.A. 2010/11 Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire

Dettagli

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Università Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

L informatica nella scuola: mezzo o fine?

L informatica nella scuola: mezzo o fine? L informatica nella scuola: mezzo o fine? Il paradigma della ricerca in didattica; L introduzione del computer nell insegnamento delle matematiche. 1 La comunicazione delle matematiche ed il computer come

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

Scienze della Comunicazione Università di Salerno. UD 3.2a: Introduzione alla Programmazione

Scienze della Comunicazione Università di Salerno. UD 3.2a: Introduzione alla Programmazione UD 3.2a: Introduzione alla Programmazione Bibliografia Curtin, (vecchie edizioni) 12.1 Curtin (IV edizione): 11.1 Questi lucidi Il concetto di programma memorizzato Gli elettrodomestici di uso quotidiano

Dettagli

Dispensa 3. 1.1 YACC: generalità

Dispensa 3. 1.1 YACC: generalità Dispensa 3 1.1 YACC: generalità Il tool Yacc (acronimo per Yet Another Compiler Compiler) è uno strumento software che a partire da una specifica grammaticale context free di un linguaggio scritta in un

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

Come ragiona il computer. Problemi e algoritmi

Come ragiona il computer. Problemi e algoritmi Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Problema Strategia

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

Base di dati e sistemi informativi

Base di dati e sistemi informativi Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per

Dettagli

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006 Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione Corso di Sistemi Operativi A. A. 2005-2006 Link e permessi Link Un riferimento ad un file è detto link Ogni file può avere un numero

Dettagli

Informatica per le discipline umanistiche 2 lezione 14

Informatica per le discipline umanistiche 2 lezione 14 Informatica per le discipline umanistiche 2 lezione 14 Torniamo ai concetti base dellʼinformatica. Abbiamo sinora affrontato diversi problemi: avere unʼidentità online, cercare pagine Web, commentare il

Dettagli

Sistemi di Elaborazione delle Informazioni. Corso di Laurea per "Tecnico Ortopedico" 03

Sistemi di Elaborazione delle Informazioni. Corso di Laurea per Tecnico Ortopedico 03 Sistemi di Elaborazione delle Informazioni Corso di Laurea per "Tecnico Ortopedico" a.a. 2002-03 03 Prof. Luigi Borrelli Facoltà di Medicina e Chirurgia Università degli Studi di Napoli - Federico II a.a.

Dettagli

PROCESSO DI INDICIZZAZIONE SEMANTICA

PROCESSO DI INDICIZZAZIONE SEMANTICA PROCESSO DI INDICIZZAZIONE SEMANTICA INDIVIDUAZIONE DEI TEMI/CONCETTI SELEZIONE DEI TEMI/CONCETTI ESPRESSIONE DEI CONCETTI NEL LINGUAGGIO DI INDICIZZAZIONE TIPI DI INDICIZZAZIONE SOMMARIZZAZIONE INDICIZZAZIONE

Dettagli

DATABASE. A cura di Massimiliano Buschi

DATABASE. A cura di Massimiliano Buschi DATABASE A cura di Massimiliano Buschi Introduzione Con Microsoft Access: Immissione dati e interrogazione Interfaccia per applicazioni e report Ma prima bisogna definire alcune conoscenze di base sui

Dettagli

23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi

23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi Dalla scorsa lezione LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica LA MACCHINA DI VON NEUMANN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico

Dettagli