Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma La Sapienza.

Slides:



Advertisements
Presentazioni simili
I Linguaggi di programmazione
Advertisements

Informatica Generale Marzia Buscemi
LINGUAGGIO DI PROGRAMMAZIONE C
Prof. Rebecca Montanari Anno accademico 2011/2012
Fondamenti di Informatica I a.a Fondamenti di Informatica I Presentazione del corso Docenti Monica Bianchini Monica Bianchini Dipartimento di.
Laboratorio di Linguaggi Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in Informatica.
Sistema operativo MS-DOS
Introduzione al linguaggio C
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
Classe III A A.s – 2010 Programma di Informatica
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
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
Array multidimensionali
Selezione - approfondimento
Algoritmi e Programmazione
Massa Laura Mela Enrica
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Programmazione Procedurale in Linguaggio C++
Reti Logiche e Architettura dei Calcolatori Luciano Gualà home page
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Informatica A (informatica grafica) Allievi di Ingegneria Civile, L-Z
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Laboratorio di Linguaggi lezione IV Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Laboratorio di Linguaggi lezione II Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Laboratorio di Linguaggi P R I M O C O M P I T I N O Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
Laboratorio di Linguaggi lezione II Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica
Introduzione al linguaggio C++ 5 lezioni
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
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)
Fondamenti di Informatica
LIP Laboratorio di Informatica: Programmazione Rosario Pugliese
Laboratorio di Calcolo I 1) Introduzione Università Roma Tre Corso di Studi in Fisica AA 2002/03.
Corso di Laurea in Ingegneria Informatica Laboratorio di Sistemi Operativi II anno, III periodo 2 crediti 13 ore di lezione 16 ore di esercitazione.
Fondamenti di Informatica
La macchina di von Neumann
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
STRUTTURA GENERALE DI UN ELABORATORE
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
CODIFICA Da flow-chart a C++.
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
Dal problema all’ algoritmo
la traduzione dei programmi
Elettronica Digitale (II Parte) 10-11_5 1 ELETTRONICA DIGITALE II (5) 6/12 Il processo di assemblaggio.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
1 LABORATORIO DI INFORMATICA Ingegneria Informatica Dott. Giorgio Cicerchia a.a ° Ciclo.
Corsi di Laurea in Biotecnologie
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Informatica e Bioinformatica Informazioni generali sul corso Corso di Laurea in Biologia Università degli Studi di Padova AA
Informatica e Bioinformatica Informazioni generali sul corso Corso di Laurea in Biologia Molecolare Università degli Studi di Padova AA
Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma “La Sapienza”
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Concetti Fondamentali sulla Programmazione
Elementi di Informatica SciGeo a.a. 2002/2003. Docente Giorgio Delzanno Ufficio 104 – I piano Dipartimento di Informatica e Sc. Inf. Tel
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Il software Claudia Raibulet
Esercizi.
Informatica e Informatica di Base
Laboratorio di Linguaggi... altre D O M A N D E ! Marco Tarini Università dell’Insubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso.
Fabio Scotti – Università degli Studi di Milano 1 Lezione 1 e 2 Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani.
Transcript della presentazione:

Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma La Sapienza

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone2 Introduzione al Corso (1) Scopo del Corso – programmazione e formalizzazione – strumenti: C, Linux Sintassi del linguaggio C Problemi di matematica, logica, statistica

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone3 Introduzione al Corso (2) Formato: – 3 Lezioni la settimana ( 9 settimane) in due giornate, Lunedi e Martedi – La lezione del Lunedi sarà dalle 12 alle 13 al ritorno in Aula Conversi – 1 Laboratorio (3 ore) la settimana Venerdi pomeriggio in Via Tiburtina 205 Si inizia Venerdi 5 Ottobre – Ultimi 3 Laboratori valutati con voto – Singoli o gruppi di due studenti

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone4 Introduzione al Corso (3) Pagina Web del canale A – Logistica del Laboratorio – aula Informatica Via Tiburtina – aula Informatica N.E. Fisica – PC con Linux – laula di Fisica e disponibile per laboratorio libero in alcune ore da definirsi

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone5 Introduzione al Corso (4) Testo: L.M.Barone, E.Marinari, G.Organtini, F.Ricci- Tersenghi Programmazione Scientifica, ed. Pearson 35, copre corsi dei tre anni Materiali utili sul sito – un buon manuale del linguaggio C è Kelley & Pohl: C-Didattica e Programmazione ed.Addison & Wesley (~ 30 Euro)

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone6 Introduzione al Corso (5) Il laboratorio NON basta Lavoro a casa: – Compilatore C per Windows – Sistema Linux virtuale: installare Cygwin da CD o scaricarlo dalla rete ( se avete lADSL – lcc

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone7 Introduzione al Corso (6) Mio indirizzo – Ricevimento previa mail Esami: prova pratica + media voti laboratorio pesata Date esami: inizio e fine Febbraio

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone8 Calcolatori Calcolatori Digitali – Informazione codificata utilizzando numeri (digits) – 2 numeri sistema binario (bits = binary digits) 1/0 Interruttore acceso/spento Tensione V=0/V=-0.8 (NIM) Condensatore Carico/Scarico Compiti – Eseguire operazioni logiche e/o numeriche – Operazioni complesse spezzate in operazioni elementari

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone9 Architettura HW di base Processore ALU CPU I/O Bus Memory Bus

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone10 Software Insieme di istruzioni e dati trattati dal computer Le istruzioni possono essere a diversi livelli – Istruzioni macchina: insieme limitato di funzioni specifiche della CPU Leggi un byte da una locazione di memoria Somma tra loro il contenuto di due registri Esegui le istruzioni a partire dalla locazione m – Istruzioni di alto livello: funzioni che vengono tradotte in sequenze di istruzioni in linguaggio macchina prima di essere eseguite

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone11 Il sistema operativo Il sistema operativo è linsieme di programmi che gestisce il computer: – permette linterazione con il mondo esterno (Input/Output) – permette di eseguire programmi dellutente – bilancia le risorse del sistema Sullo stesso PC possono convivere o alternarsi diversi sistemi (es.Linux e Windows o MacOS)

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone12 Linguaggi di alto livello Linguaggi sintatticamente complessi facili da usare dagli umani: la traduzione in linguaggio macchina viene fatta dietro le scene Si possono classificare in procedurali (C, FORTRAN, PASCAL) e Object Oriented (C++,JAVA)

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone13 Compilatori Traduttore da linguaggio di alto livello a linguaggio macchina Linguaggi evoluti – Versatilità, Semplicità, Flessibilità – Indipendenti dalla macchina file.c File sorgente file.o File oggetto Compilatore

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone14 Linker Uno o più files oggetto devono essere collegati alle librerie Librerie: insieme di files oggetto preparati dal produttore del compilatore con le istruzioni per lesecuzione di compiti comuni – Librerie matematiche – Librerie grafiche – Servizi di I/O Loperazione di link può essere esplicita o implicita

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone15 Linguaggio Macchina Ad ogni istruzione è associato un codice di N bit La CPU inizia caricando il byte presente nella locazione 0 e lo interpreta come istruzione A seconda dellistruzione si interpretano i bytes successivi

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone16 Esempio Supponiamo che i seguenti codici binari corrispondano alle seguenti istruzioni 001ldA, XCarica il contenuto della memoria X nel registro A 010ldB, XCarica il contenuto della memoria X nel registro B 011sumABSomma i contenuti dei registri A e B e metti il risultato in A 100setA, XScrivi nella memoria X il contenuto del registro A

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone17 Esempio Ed ora supponiamo che la memoria del nostro computer sia così riempita: AddressContent

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone18 Esempio Ed ora supponiamo che la memoria del nostro computer sia così riempita: AddressContent viene interpretato come una istruzione e quindi come ldA,X. Di conseguenza il byte successivo contiene il valore di X.

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone19 Esempio Ed ora supponiamo che la memoria del nostro computer sia così riempita: AddressContent (5) viene dunque caricato nel registro A – è un DATO Il registro A non è visibile

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone20 Esempio Ed ora supponiamo che la memoria del nostro computer sia così riempita: AddressContent viene nuovamente interpretato come una istruzione e dunque come ldB, X. Nel registro B viene caricato il numero 011 (3)

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone21 Esempio Ed ora supponiamo che la memoria del nostro computer sia così riempita: AddressContent rappresenta listruzione di somma del contenuto dei registri A e B. In A finisce il valore 8 (5+3)

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone22 Esempio Ed ora supponiamo che la memoria del nostro computer sia così riempita: AddressContent listruzione di somma non ha parametri perciò il byte successivo è ancora unistruzione: setA, X dove X=0

© 2008 Laboratorio di Calcolo - Prof.L.M.Barone23 Caratteristiche del C (strong) typing tutte le variabili vanno dichiarate ogni istruzione è terminata dal ; parole riservate: char, double, float, int,long, short, unsigned, while, for, do, if, then, else, void Tokens: parole chiave, identificatori, costanti, operatori, simboli di interpunzione Es: int main (void) { } Gli identificatori devono cominciare con _ o con una lettera, NON con un numero