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

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
Dalla scrittura all’esecuzione
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
Elaboratore e Sistemi Operativo
Algoritmi e Programmazione
Massa Laura Mela Enrica
Informatica Generale Marzia Buscemi
Programmazione Procedurale in Linguaggio C++
Reti Logiche e Architettura dei Calcolatori Luciano Gualà home page
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
Informatica di base A.A. 2003/2004 Algoritmi e programmi
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 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 Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma La Sapienza.
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)
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
LIP Laboratorio di Informatica: Programmazione Rosario Pugliese
Laboratorio di Calcolo I 1) Introduzione Università Roma Tre Corso di Studi in Fisica AA 2002/03.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
Fondamenti di Informatica
Espressioni condizionali
La macchina di von Neumann
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
INFORMATICA MATTEO CRISTANI.
Introduzione al linguaggio assemby del microprocessore a parte
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
CODIFICA Da flow-chart a C++.
void binario(int n); …………………
Lo sviluppo del software e i linguaggi di programmazione
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Corsi di Laurea in Biotecnologie
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
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:
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
Architettura di un calcolatore e linguaggio macchina.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
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
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Il software Claudia Raibulet
FI - Algoritmi e Programmazione 1 Variabili Consentono di aumentare notevolmente la potenza espressiva. Una variabile è caratterizzata da:  Un nome 
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.
Architetture dei sistemi di calcolo, sistemi operativi, reti di calcolatori Dr. Luciano Bononi Facoltà di Scienze, Fisiche Naturali dell’Università di.
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
Struttura del Computer
Transcript della presentazione:

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

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone2 Introduzione al Corso (1) Scopo del Corso – programmazione e formalizzazione – strumenti: C, Linux Formato: – 3 Lezioni la settimana (7 settimane) – 1 Laboratorio (3 ore) la settimana Venerdi pomeriggio – Ultimi 3 Laboratori valutati con voto – Gruppi di due studenti

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone3 Introduzione al Corso (2) Sito Web: avvisi, note, esercizi in caso di emergenza Logistica del Laboratorio – aula Informatica (N.Ed.Fisica) – PC con Linux Suse – due volte a settimana l’aula e’ disponibile per laboratorio libero

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone4 Introduzione al Corso (3) Testi: – Kelley & Pohl: C-Didattica e Programmazione ed.Addison & Wesley (~ 30 Euro) Lavoro a casa: – Compilatore C per Windows – Sistema Linux “virtuale”: installare Cygwin da CD o scaricarlo dalla rete ( se avete l’ADSL

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone5 Introduzione al Corso (4) Mio indirizzo – Ricevimento previa mail Assenze in laboratorio: max 2 Esami: prova pratica + media voti laboratorio pesata Date esami:

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone6 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

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

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone8 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

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone9 Il sistema operativo Il sistema operativo è l’insieme di programmi che gestisce il computer: – permette l’interazione con il mondo esterno (Input/Output) – permette di eseguire programmi dell’utente – bilancia le risorse del sistema Sullo stesso PC possono convivere o alternarsi diversi sistemi (es.Linux e Windows o MacOS)

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone10 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)

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone11 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

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone12 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 l’esecuzione di compiti comuni – Librerie matematiche – Librerie grafiche – Servizi di I/O L’operazione di link può essere esplicita o implicita

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone13 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 dell’istruzione si interpretano i bytes successivi

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone14 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

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

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone16 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.

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone17 Esempio Ed ora supponiamo che la memoria del nostro computer sia così riempita: AddressContent (5) viene dunque caricato nel registro A – e’ un DATO

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone18 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)

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

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

© 2003 Laboratorio di Calcolo - Prof.L.M.Barone21 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