Informatica Generale Marzia Buscemi

Slides:



Advertisements
Presentazioni simili
Informatica Generale Susanna Pelagatti
Advertisements

Informatica Generale Marzia Buscemi IMT Lucca
Il Software.
Software di base: Linguaggi di Programmazione
Linguaggi algoritmici
Classe III A A.s – 2010 Programma di Informatica
Classe III A A.s – 2011 Programma di Informatica 5 ore settimanali (3 laboratorio) Docenti –Prof. Alberto Ferrari –Prof. Alberto Paganuzzi.
Evoluzione dei linguaggi di programmazione
Elaboratore e Sistemi Operativo
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
Informatica Generale Susanna Pelagatti
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Informatica Generale Susanna Pelagatti
(sommario delle lezioni in fondo alla pagina)
Informatica Generale Marzia Buscemi
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Fondamenti di Informatica
Programmazione Procedurale in Linguaggio C++
Circuiti di memorizzazione elementari: i Flip Flop
Informatica di base A.A. 2003/2004 Algoritmi e programmi
File.
Alcuni esercizi e domande per il compitino quali sono le parti principali dellarchitettura di von Neumann? citare le caratteristiche salienti della RAM.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Corso di Informatica (Programmazione)
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Fondamenti di Informatica
Introduzione alla programmazione lll
Corso di Informatica Applicata - Lezione 3 - © 2005 Saverio De Vito Corso di Informatica Applicata Lezione 3 Università degli studi di Cassino Corso di.
Il Linguaggio Macchina
Unità Didattica 2 I Linguaggi di Programmazione
Strutture di controllo in C -- Flow Chart --
Espressioni condizionali
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Elementi di Informatica
Contatore: esempio di circuito sequenziale
Biologia Computazionale - Algoritmi
Il Calcolatore Elettronico
L' ARCHITETTURA DI VON NEUMANN
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
Architettura del calcolatore
Lo sviluppo del software e i linguaggi di programmazione
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
ECDL Patente europea del computer
Linguaggi per COMUNICARE
Unità centrale di processo
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
DIVERTIRSI CON SCRATCH
Dal problema all’ algoritmo
ORGANIZZAZIONE DI UN SISTEMA DI ELABORAZIONE
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Corso di Architetetture degli Elaboratori, A.A. 2004/ Architettura degli Elaboratori Elisa B.P. Tiezzi Orario ricevimento: Giovedì, ( Il materiale.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Esercizi.
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
Transcript della presentazione:

Informatica Generale Marzia Buscemi buscemi@di.unipi.it Ricevimento: Giovedì ore 16.00-18.00, Dipartimento di Informatica, stanza 306-PS o per posta elettronica Pagina web del corso: http://www.di.unipi.it/~buscemi/IG07.htm (sommario delle lezioni in fondo alla pagina) dddd

Circuiti logici permettono l’elaborazione dei dati in un calcolatore (esecuzione di operazioni, etc.) realizzano elettronicamente il comportamento delle funzioni dell’algebra booleana sono di due tipi: circuiti combinatori (output solo in funzione dell’input, non hanno memoria del passato) circuiti sequenziali (output in funzione dell’input e dello stato precedente, hanno memoria del passato)

Circuiti combinatori X Y n m n m Circuiti combinatori: a partire da un input producono un certo output. Più precisamente: Input: X = x1,...,xn variabili N=2n sequenze I={I1,...,IN} Output: Y= y1,...,ym variabili M=2m sequenze O={O1,...,OM} Un circuito combinatorio realizza una funzione h : I  O Es.: 0100...0  1010...1 m n X Y n m

Circuiti sequenziali f: I x S  S f(Ih,Sk)=Shk nuovo stato L’output è determinato non solo dall’input ma anche dallo stato del circuito (che dipende dagli input che si sono verificati negli istanti precedenti): Input: X=x1,...,xn variabili N=2n sequenze I={I1,...,IN} Output: Y=y1,...,ym variabili M=2m sequenze O={O1,...,OM} Stato: Z=z1,...,zl variabili L=2l sequenze S={S1,...,SL} Un circuito sequenziale realizza le funzioni: f: I x S  S f(Ih,Sk)=Shk nuovo stato g : I x S  O g(Ii,Sj)=Oij output

Circuiti sequenziali 2 S1 Diagramma di stato 2. Tavola di flusso S2 I1/O1 I1 I2 I3 S1 S1/O1 S2/O1 S2 S1/O2 S2/O2 S3/O2 S3 S2/O3 S1 I2/O1 I1/O2 S2 I2/ O2 I3/O3 I3/O2 S3 stati instabili sull’input I3

Circuiti sequenziali Y X asincroni: le transizioni tra gli stati avvengono istantaneamente, cioè quando le condizioni sono verificate (il circuito può essere instabile) sincroni: le transizioni avvengono solo in certi istanti (istanti di marcatura), segnalati da un segnale d’input p (segnale di marcatura) circ. seq. sincrono stato S n m Y X l p

Circuiti sequenziali sincroni Registro: circuito sequenziale sincrono basilare valore dello stato è il valore d’input all’ultimo istante di marcatura valore dell’output uguale allo stato tutti i circuiti sequenziali sincroni si possono scrivere usando registri X Y p

Circuiti sequenziali sincroni 2 Ogni circuito sequenziale sincrono si può rappresentare così: CC1 (funzione di tranzione degli stati f) S n CC2 (funzione degli output g) m l l Y X R p

La Programmazione

La programmazione: gli argomenti che tratteremo Cos’è un programma Com’è organizzata la memoria nel calcolatore (memoria centrale e memoria di massa) Linguaggi di programmazione Linguaggio macchina e assembler Linguaggi ad alto livello: strutture di controllo (sequenza, selezione, ciclo, ...) tipologie di programmazione (imperativa, a oggetti) linguaggi per ipertesti Strutture dati (array, record) Algoritmi (pseudocodice o diagramma di flusso) Traduzione di linguaggi

Elaborazione dei dati (esecuzione) Algoritmi e programmi Elaborazione dei dati (esecuzione) Dati di input Dati di output Trasformazione dei dati di input e esecuzione passi specificati da un opportuno algoritmo Codificati opportunamente Umano (conosce l’algoritmo e scrive il programma) Calcolatore (esegue il programma) programma

Algoritmi e programmi 2 Algoritmo (def) : Programma (def) una sequenza di azioni non ambigue che trasformi i dati iniziali nel risultato finale utilizzando un insieme di azioni elementari che possono essere eseguite da un opportuno esecutore. Programma (def) specifica di un algoritmo utilizzando un linguaggio di programmazione non ambiguo e direttamente comprensibile dal computer

Tipi di memoria indirizzo 01 10 0000011 00000110 contenuto Memoria centrale (RAM): formata da celle (o locazioni), cioè elementi di un bit aggregati in gruppi di otto (memorizzano un byte di memoria). Registri: particolari celle di memoria, che contengono i dati che vengono elaborati N.B. La RAM è volatile indirizzo 01 10 0000011 00000110 contenuto

Tipi di memoria 2 Memoria di massa (dischi): i dati sono memorizzati in modo permanente I byte in memoria di massa non sono singolarmente indirizzabili e sono aggregati in sequenza dette files. 00101011 10010000 01110001 bytes

Linguaggi di programmazione 1 Le istruzioni di un programma vengono codificate (come i numeri, i caratteri, etc.) Linguaggio macchina: l’insieme dei valori binari che codificano tutte le possibili istruzioni di un processore specifico per ogni calcolatore non è portabile (se cambia l’indirizzo di una locazione bisogna cambiare il programma) difficile per l’umano (gestire lunghe sequenze di bit)

Linguaggi di programmazione 2 Linguaggio assembler versione simbolica del linguaggio macchina (operazioni, dati indicati con nomi mnemonici). Specifico per ogni calcolatore I programmi vengono scritti come file di testo e “tradotti” in linguaggio macchina da assemblatori 1. LOAD Y, R1; 2. ADD 2, R1; 3. STORE R1, X; 00010100 11001011 00010110 00000010 00010111 11001111 traduzione (assemblatore ) indirizzo di y indirizzo di x

Linguaggi di programmazione 3 Linguaggi di alto livello permettono di scrivere programmi senza usare linguaggio macchina o assembler sono più vicini all’uomo che alla macchina sono portabili (i programmi vengono tradotti in linguaggio macchina) sono di vari tipi: imperativi (C, Pascal), funzionali (Lisp, Haskell), orientati a oggetti (Java), etc. 1. LOAD Y, R1; 2. ADD 2, R1; 3. STORE R1, X; 00010100 11001011 00010110 00000010 00010111 11001111 x=y+2 linguaggio di alto livello linguaggio assembler linguaggio macchina

Variabili e costanti variabili:celle di memoria caratterizzate da identificatore e valore (assunto mediante assegnamenti) tipi di dato: indicano la gamma di valori che possono assumere (determinano lo spazio in memoria, prevengono errori di programmazione) booleano (0,1), intero (numero massimo di bit per evitare overflow dal calcolatore) reale (per rappresentare virgola mobile) carattere (in C 1 byte: codice ASCII o numero) costanti: valori fissi di ciascun programma