Fondamenti di Informatica

Slides:



Advertisements
Presentazioni simili
Informatica Generale Marzia Buscemi
Advertisements

Informatica Generale Susanna Pelagatti
Linguaggi algoritmici
La struttura fisica e logica di un elaboratore
STRUTTURA DEL PERSONAL COMPUTER
Introduzione allarchitettura dei calcolatori 2/ed Carl Hamacher, Zvonko Vranesic, Safwat Zaky Copyright © 2007 – The McGraw-Hill Companies srl Versione.
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Informatica Generale Susanna Pelagatti
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Fondamenti di Informatica
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
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)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
1 Informazioni generali r Stefano Leonardi m Tel.: m URL: / r Ricevimento:
Il Linguaggio Fortran 90: 1. Preliminari
SOFTWARE Lhardware è la parte che si può prendere a calci; il software quella contro cui si può solo imprecare. SOFTWARE E linsieme dei dati e dei programmi.
Struttura dei sistemi operativi (panoramica)
Linguaggi di Programmazione 1 docente: Maurizio Tucci Lezione 0.1 Concetti di Base.
Il Linguaggio Macchina
Com’è fatto un elaboratore?
Unità Didattica 1 Algoritmi
Unità Didattica 2 I Linguaggi di Programmazione
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Fondamenti di Informatica Algoritmi
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Architettura dell’elaboratore
Elementi di Informatica
Informatica: il trattamento automatico dell’informazione
Dall’algoritmo al programma.
Algoritmi e Programmazione strutturata
STRUTTURA GENERALE DI UN ELABORATORE
L' ARCHITETTURA DI VON NEUMANN
PROGRAMMAZIONE: linguaggi
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
Architettura del calcolatore
Unità centrale di processo
STRUTTURA DELL’ELABORATORE
Architettura del calcolatore
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
ORGANIZZAZIONE DI UN SISTEMA DI ELABORAZIONE
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Algoritmi.
L’esecuzione dei programmi
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Elementi di Informatica SciGeo a.a. 2002/2003. Docente Giorgio Delzanno Ufficio 104 – I piano Dipartimento di Informatica e Sc. Inf. Tel
Il calcolatore Stefano Cagnoni e Monica Mordonini
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Informatica e Informatica di Base
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.
STRUTTURA DELL’ELABORATORE
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

Fondamenti di Informatica Prof. Stefano Leonardi URL: www.dis.uniroma1.it/~leon/didattica/meccanica/

Informazioni generali Stefano Leonardi Tel.: 06 49918341 Email: leon@dis.uniroma1.it Ricevimento: Roma: venerdì, ore 11-13, Dip. Informatica e Sistemistica, via Salaria 113 II piano, 00198 Roma Tutore: Ing. Tanya Buhnik Testo adottato: Stephen J. Chapman, Fortran 90/95: guida alla programmazione, McGraw-Hill, 2000 M. Cadoli, Dispensa per il Corso di Laurea in Ingegneria Aereospaziale, A.A. 2000-2001, In distribuzione presso la libreria ``L'Universitaria'', Viale Ippocrate 99, Roma. Copie delle Trasperenze del Corso disponibili sul sito Web del Corso

Elaborazione automatica dell’informazione Risoluzione di problemi che richiedono la manipolazione dell’informazione attraverso l’ausilio di uno strumento di calcolo automatico Occorre: Definire un metodo di risoluzione di un problema informatico Rappresentare il metodo di risoluzione in un linguaggio comprensibile al calcolatore Rappresentare l’informazione in modo adeguato alla sua memorizzazione e manipolazione

Esempio: Ricerca in un’agenda In un’agenda personale si opera una ricerca sequenziale nella pagona corrispondente alla lettera iniziale del cognome In un elenco telefonico si procede a partire da un punto approssimativamente vicino alla lettera iniziale, quando la pagina e’ stata individuata si procede con una ricerca sequenziale Il metodo risolutivo è quindi legato al modo in cui l’informazione è rappresentata

Algoritmi e Linguaggi di Programmazione Algoritmo: Metodo risolutivo formalizzato in un insieme di passi bene definiti che permetto di risolvere il problema Linguaggio di programmazione: permette di descrive l’algoritmo in un Programma comprensibile alla macchina Rappresentazione delle informazioni attraverso tipi di dato rappresentabile in un linguaggio di programmazione

Problemi Informatici Dati due numeri trovare il maggiore Dato un elenco di nomi e numeri di telefono, trovare il nimero di telefono di un apersona Data una rete stradale, determinare il cammino di lunghezza minima per raggiungere una determinata destinazione Determinare se un programma si ferma in un numero finito di passi su un determinato insieme di input Decidere, per ogni valore x e per ogni funzione f(x), se f(x) è costante

Problemi Informatici, cont. Trasformazione di un insieme di valore in ingresso in un insieme di valori in uscita La descrizione del problema non fornisce il metodo di soluzione La descrizione del problema può essere ambigua, ex 3. Il problema non ha alcun metodo risolutivo noto. Il problema non può essere risolto attraverso un calcolatore, funzioni non calcolabili, ex 4, 5. La quantità di risorse necessari per risolvere il problema è proibitiva.

Algoritmi e Programmi Algoritmo descrive il metodo risolutivo. Proprietà: non ambiguità eseguibilità in un tempo finito finitezza dell’esecuzione del processo su ogni possibile input Ogni passo dell’algoritmo deve essere non ambiguo, ex, ricerca in un elenco telefonico non è un algoritmo Programma: sequenza di istruzioni comprensibili alla macchina direttamente o attraverso l’ausilio di altri programmi Determinare il metodo risolutivo può essere molto complesso.

Ex: MCD(m,n). Algoritmo 1 Calcola l’insieme I dei divisori di m. Calcola l’insieme J dei divisori di n. Calcola l’insieme dei divisori comuni k=I J Calcola il numero massimo di k MCD(m,n) è il numero trovato Procedere per astrazioni fino ad esprimere l’algoritmo in fasi traducibili in istruzioni elementari nel linguaggio di programmazione Ex: Specifica la ricerca del massimo, l’intersezione tra due insiemi, etc...

Ex: MCD(m,n). Algoritmo 2 Algoritmo di Euclide 1. m o n se m=n MCD(m,n) = 2. MCD(m-n,n) se m>n 3. MCD(n-m,m) se n>m Finchè m<>n svolgi le seguenti azioni: Se m>n allora sostituisci a m il valore m-n altrimenti sostituisci a n, n-m MCD(m,n) è uno dei due numeri

I grafi di flusso Notazione grafica per descrivere istruzioni e l’ordine di esecuzione tra esse Le informazioni oggetto del calcolo sono riferite attraverso nomi di variabile o di costante Assumiamo per il momento i problemi trattare solo di numeri interi Nel calcolo delle espressioni, ai nomi vengono sostituiti i rispettivi valori.

Esercizi Esprimere l’algoritmo di Euclide attraverso la notazione dei grafi di flusso Esprimere l’algoritmo di ricerca del massimo di un insieme di 100 valori in input attraverso la notazione dei grafi di flusso

Struttura di un elaboratore Insieme di risorse tra loro coordinate per eseguire il processo di calcolo Organi di Input (Tastiera, Mouse, etc.) Organi di Output ( Schermo, Stampante) Memoria: Contiene le istruzioni dei programmi, i dati di ingresso, i risultati parziali del calcolo Memoria si distingue tra Memoria Centrale e Memorie Perifieriche

Memoria centrale Dati sono rappresentati in formato binario. Ogni numero e’ una sequenza di due soli valori: 0,1. Informazione elementare prende il nome di bit. Una sequenza di 8 bits è detta byte. Ad ogni cella di memoria è associato un indirizzo, il numero di ordine della cella dell’intera memoria La Memoria centrale (RAM, Random Access Memory) ha un tempo di accesso molto basso, nanosecondi La sua dimensione è tipicamnete di alcuni Gbytes Il contenuto viene perso quando il computer è disconnesso

Memoria di Massa Dischi magnetici, CD-ROM Possono essere visti come dispositivi di output Mantengono l’informazione memorizzata in modo permanente Capacità di memorizzazione praticamente illimitata Minore velocità della memoria centrale, millisecondi

Processore Processore suddiviso in: Unità aritmetico-logica che esegue i calcoli logici ed aritmetici Unità di controllo che sovrintende all’esecuzione delle istruzioni ed alla gestione delle risorse coinvolte nell’esecuzione, e.g. I/O. Le istruzioni a livello macchina sono estrememamente semplici e fanno direttamente riferimento alla posizione dei dati e delle istruzioni in memoria E’ quindi necessario avere Linguaggi di alto livello

Processore cont. Puo’ accedere solo alle informazioni in memoria centrale Scambia dati con le unità di ingresso ed uscita Le istruzioni vengono prelevate dalla memoria centrale, decodificate, e viene predisposta la sua esecuzione Occorre stabilire ad ogni istante la prossima istruzione da eseguire, e.g. flusso di controllo del programma

Processore cont. L’Unità Centrale contiene diversi registri: Contatore di Programma: indica la prossima istruzione da eseguire Registro Istruzione: indica l’istruzione da interpretare e poi da eseguire Accumulatori: contengono gli operandi di una data istruzione Parola di stato: indica informazioni rispetto l’ultima istruzione esguita, ex: resto 0, segno, etc.

Fasi della vita di un programma Compilatori: permettono di verificare la correttezza sintattica di un programma in un linguaggio ad alto livello Realizzano la traduzione in linguaggio macchina Il programma tradotto viene quindi eseguito Interpreti: eseguono il programma al momento della sua traduzione