Linguaggio C Compilazione, linking e preprocessor
|
|
- Orsola Martina Giuliani
- 8 anni fa
- Visualizzazioni
Transcript
1 FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Compilazione, linking e preprocessor 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 1
2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà degli autori prof. Pier Luca Montessoro e ing. Davide Pierattoni, Università degli Studi di Udine. Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione. Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte degli autori. L informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. Gli autori non assumono alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell informazione). In ogni caso non può essere dichiarata conformità all informazione contenuta in queste slide. In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 2
3 Programma sorgente, compilatore, file oggetto, file eseguibile programma sorgente (uno o più file ASCII)... librerie (simili ai file oggetto)... compilatore... file oggetto (binari) linker file eseguibile (binario) 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 3
4 Compilazione Il C è un linguaggio di alto livello: la descrizione dei comandi da eseguire è molto astratta, se confrontata con il linguaggio macchina o l assembler Il C è un linguaggio compilato: un programma, detto compilatore, traduce uno o più file ASCII contenenti i comandi in C in un unico file con la sequenza di istruzioni in codice macchina A differenza dei linguaggi interpretati, la traduzione avviene una volta per tutte, e non a runtime Il C è un linguaggio portabile: a partire da un unico file sorgente, è possibile generare programmi eseguibili per architetture hardware diverse 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 4
5 Compilazione programma sorgente (uno o più file ASCII)... Compilatore UNIX Compilatore Win32 File oggetto (binari) File oggetto (binari) Librerie UNIX Linker UNIX Linker Win32 Librerie Win32 file eseguibile per UNIX file eseguibile per Win Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 5
6 Portabilità La portabilità del codice deriva dal fatto che i linguaggi di alto livello sono standardizzati Il linguaggio C, nella versione standard ANSI, consente di scrivere programmi portabili sulla maggioranza delle architetture hardware esistenti Sono disponibili compilatori e ambienti di sviluppo C (IDE: Integrated Development Environment) per tutte le piattaforme software (DOS/Win32, UNIX, Linux, MacOS, VMS, Solaris ) La dipendenza dal sistema operativo è tuttavia sensibile nelle procedure di basso livello (chiamate di sistema, I/O su dispositivi periferici...) 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 6
7 Linking Il compilatore genera una traduzione in uno o più file oggetto, privi dei comandi di interfacciamento con l hardware e il sistema operativo Tali comandi sono disponibili in formato eseguibile nelle librerie di sistema: queste contengono parti di programma di uso comune, disponibili già compilate Il collegamento tra i file oggetto e i file di libreria da essi richiesti viene effettuato dal linker Il linker genera un file eseguibile contenente le parti di codice macchina copiate dalle librerie (linking statico), oppure dei collegamenti dinamici alle librerie necessarie (linking dinamico, es. le DLL in Win32) 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 7
8 Il preprocessor Prima della compilazione vera e propria, ogni sorgente C viene analizzato dal preprocessor Il preprocessor interpreta ed esegue tutti i comandi (o direttive) corrispondenti alle righe di codice introdotte dal carattere # Le funzionalità del preprocessor sono: inclusione di file (direttive #include) sostituzione delle macro (direttive #define) macro dotate di argomenti compilazione condizionale 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 8
9 Inclusione di file Ogni linea di codice della forma #include <nomefile> viene sostituita con il contenuto del file nomefile Se il nome del file è racchiuso tra apici, #include "nomefile" la ricerca del file avviene nella stessa directory in cui è presente il file sorgente Nel caso di una direttiva #include <nomefile>, la ricerca del file da includere avviene in genere nel direttorio in cui risiedono gli header file delle librerie 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 9
10 Inclusione di file Le direttive di inclusione più frequenti sono quelle relative agli header file delle librerie La direttiva #include <stdio.h> consente di includere nel file sorgente tutti i prototipi di funzione e i tipi di dati dichiarati nell header file stdio.h L inclusione permette anche di raggruppare in un file unico tutte le dichiarazioni relative a programmi complessi e/o distribuiti su più file sorgenti Coerenza nelle dichiarazioni e definizioni delle variabili 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 10
11 /* pippo.h */ #define PIGRECO 3.14 int funzione_1 (void);... /* pippo1.c */ #include <stdio.h> #include "pippo.h" float x; int main() { int k = funzione_1(); x = PIGRECO; /* pippo2.c */ #include <stdio.h> #include "pippo.h" extern float x; int funzione_1(void) { float y = 2 * PIGRECO; x = y + 4; 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 11
12 Sostituzione delle macro Una definizione della forma #define nome testo_da_sostituire è la sostituzione di macro più semplice Tutte le successive occorrenze di nome vengono sostituite con testo_da_sostituire Lo scope (visibilità) della sostituzione va dal punto in cui compare la direttiva fino alla fine del file sorgente Qualsiasi nome può essere sostituito con qualsiasi testo: #define forever for ( ; ; ) #define PIGRECO Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 12
13 Macro dotate di argomenti Una sostituzione più complessa può essere #define max(a, B) ((A) > (B)? (A) : (B)) max è una macro dotata di argomenti, anche se assomiglia a una chiamata di funzione In tale caso, ogni occorrenza di un parametro formale viene rimpiazzata con il corrispondente parametro reale Pertanto nel file sorgente la linea: x = max(p+q, r+s); viene espansa nel codice x = ((p+q) > (r+s)? (p+q) : (r+s)); 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 13
14 Sostituzione delle macro Le sostituzioni avvengono soltanto sui token I parametri formali all interno di stringhe tra apici non vengono sostituiti Quindi se YES è un nome definito da #define YES 1 la sua occorrenza in printf ("YES"); resta inalterata 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 14
15 Sostituzione delle macro La definizione di un nome può essere annullata con la direttiva #undef #undef può essere utile per assicurarsi che una funzione sia definita come tale, e non come una macro Ad esempio: #undef getchar... int getchar (void) { } garantisce che nel sorgente non vi sia alcuna macro dal nome getchar, in quanto getchar è già il nome di una funzione di libreria 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 15
16 Macro Una macro è dunque una forma compatta in grado di rappresentare espressioni complesse o insiemi di istruzioni mediante parametri Le macro più semplici sono prive di parametri, e si usano per definire costanti simboliche Le macro dotate di parametri possono talvolta evitare la creazione di funzioni, specie quelle soggette a frequenti chiamate durante l esecuzione Alcune funzioni di libreria vengono implementate con delle macro, per velocizzare l esecuzione dei programmi più complessi 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 16
17 Compilazione condizionale Alcune direttive consentono il controllo dell attività di preprocessing E possibile inserire o eliminare segmenti di codice in modo selettivo, in base al valore di determinate condizioni durante la compilazione La direttiva #if valuta un espressione costante intera: se questa è 0, le linee di codice tra #if e il successivo #endif vengono incluse nella compilazione #define VERBOSE 1 #if VERBOSE #endif <blocco di codice> 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 17
18 Compilazione condizionale Costrutti condizionali più articolati, del tipo if then else, si ottengono con le direttive #if, #else e #elif In un sorgente portabile su più piattaforme software è frequente trovare istruzioni del tipo: #define SYSTEM <nome_del_sistema_operativo> #if SYSTEM == UNIX #define HEADER "unix.h" #elif SYSTEM == MSDOS #define HEADER "msdos.h" #else #define HEADER == "default.h" #endif 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 18
19 Compilazione condizionale Le direttive #ifdef e #ifndef controllano se un particolare nome è già stato definito #ifdef DEBUG <istruzioni di debug: stampa di variabili...> #endif #ifndef HEADER #define HEADER "default.h" #endif 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 19
Cenni sull ingegneria del software e sulla qualità dei programmi
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Cenni sull ingegneria del software e sulla qualità dei programmi 2003 Pier Luca Montessoro (vedere
DettagliRETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine
RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine 2001 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright Questo
DettagliFONDAMENTI DI MATEMATICA BINARIA
FONDAMENTI DI MATEMATICA BINARIA Pietro Nicoletti p.nicol@inrete.it Binar - 1 Copyright: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides) è protetto dalle
DettagliRETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliFONDAMENTI DI INFORMATICA. Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine. Compressione MPEG
FONDAMENTI DI INFORMATICA Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Compressione MPEG 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1 Nota
DettagliCodifica delle immagini
FONDAMENTI DI INFORMATICA Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Codifica delle immagini 2000-2007 P. L. Montessoro - D. Pierattoni (cfr.la nota di copyright alla
DettagliLinguaggio 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
DettagliCodifica delle immagini
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Codifica delle immagini 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.
Dettagli2001-2007 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright Questo insieme di trasparenze
DettagliRETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliGestione della memoria centrale
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliRETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine
RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright Questo insieme di trasparenze
DettagliRETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliRETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliRicerca ed analisi della causa di un problema o guasto di rete
Ricerca ed analisi della causa di un problema o guasto di rete Pietro Nicoletti www.studioreti.it Trouble- 1 Copyright: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel
DettagliSIP e SDP. Segnalazione nelle reti VoIP. Fulvio Risso. Politecnico di Torino
SIP e SDP Segnalazione nelle reti VoIP Fulvio Risso Politecnico di Torino fulvio.risso[at]polito.it http://netgroup.polito.it/netlibrary/voip-intro/text.htm#73 Mario Baldi Politecnico di Torino mario.baldi[at]polito.it
DettagliWireless monitoring & protection
Wireless monitoring & protection Pietro Nicoletti piero[at]studioreti.it Wifi-Monitor - 1 P. Nicoletti: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides)
DettagliRETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliEsercizi di Sniffing
Esercizi di Sniffing Fulvio Risso Guido Marchetto Esercizi Sniffing - 1 Copyright: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides) è protetto dalle leggi
Dettagli1999 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Pro. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro ( si veda la nota a pagina 2) 1 Nota di Copyright
DettagliMulticast e IGMP. Pietro Nicoletti www.studioreti.it
Multicast e IGMP Pietro Nicoletti wwwstudioretiit Multicast-2004-1 P Nicoletti: si veda nota a pag 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides) è protetto dalle leggi sul
DettagliReti logiche e componenti di un elaboratore
FONDAMENTI DI INFORMATICA Ing. Davide PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Reti logiche e componenti di un elaboratore 2000-2007 P.L. Montessoro - D. Pierattoni (cfr. nota di
DettagliIntroduzione ai sistemi operativi
FONDAMENTI DI INFORMATICA Ing. Davide PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Introduzione ai sistemi operativi 1 Nota di Copyright Questo insieme di trasparenze (detto nel seguito
DettagliACCESS LIST. Pietro Nicoletti www.studioreti.it
ACCESS LIST Pietro Nicoletti www.studioreti.it Access List - 1 Copyright: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides) è protetto dalle leggi sul copyright
DettagliInterdomain routing. Principi generali e protocolli di routing. Argomenti della presentazione. Nota di Copyright. Routing interdominio
Interdomain routing Principi generali e protocolli di routing Interdomain_routing - 1 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle
DettagliInterdomain routing. Principi generali e protocolli di routing. Mario Baldi
Interdomain routing Principi generali e protocolli di routing Mario Baldi Dipartimento di Automatica e Informatica Politecnico di Torino http://staff.polito.it/mario.baldi Interdomain_routing - 1 Nota
DettagliDomain Name Service. Mario BALDI. Silvano GAI. Fulvio RISSO. staff.polito.it/mario.baldi. sgai[at]cisco.com. fulvio.risso[at]polito.
Domain Name Service Mario BALDI staff.polito.it/mario.baldi Silvano GAI sgai[at]cisco.com Fulvio RISSO fulvio.risso[at]polito.it DNS - 1 Copyright: si veda nota a pag. 2 Nota di Copyright Questo insieme
DettagliINTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it
INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare
DettagliSAP BusinessObjects Versione del documento: 4.2 2015-11-12. Manuale di installazione di Dashboards LiveCycle Data Services Gateway
SAP BusinessObjects Versione del documento: 4.2 2015-11-12 Manuale di installazione di Dashboards LiveCycle Data Services Gateway Contenuto 1 Cronologia del documento.... 3 2 Informazioni sul manuale....
DettagliIl protocollo VTP della Cisco
Il protocollo VTP della Cisco Pietro Nicoletti Piero[]studioreti.it VTP-Cisco - 1 P. Nicoletti: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides) è protetto
DettagliIntroduzione a Dev-C++
Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP
DettagliRETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliLINGUAGGI 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
DettagliTransparent bridging
Transparent bridging Mario Baldi Politecnico di Torino mario.baldi[at]polito.it http://staff.polito.it/mario.baldi Pietro Nicoletti Studio Reti nicoletti[at]studioreti.it http://www.studioreti.it Basato
DettagliARP e RARP. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it http://staff.polito.it/mario.baldi. Fulvio RISSO
ARP e RARP Silvano GAI sgai[at]cisco.com Mario BALDI mario.baldi[at]polito.it http://staff.polito.it/mario.baldi Fulvio RISSO fulvio.risso[at]polito.it ARP - 1 Copyright: si veda nota a pag. 2 Nota di
DettagliCodifica: dal diagramma a blocchi al linguaggio C++
Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU
DettagliToolChain: Come Generare Applicazioni in Linguaggio Macchina
ToolChain: Come Generare Applicazioni in Linguaggio Macchina Luca Abeni e Luigi Palopoli March 30, 2015 La Lingua della CPU Una CPU capisce e riesce ad eseguire solo il linguaggio macchina Linguaggio di
DettagliNota di Copyright. 09_Prog_dorsale_fibra - 2 Copyright 2002 - M. Baldi - P. Nicoletti: see page 2
Progettazione delle dorsali in fibra ottica Mario Baldi Politecnico di Torino http://staff.polito.it/mario.baldi 09_Prog_dorsale_fibra - 1 Copyright 2002 - M. Baldi - P. Nicoletti: see page 2 Nota di Copyright
DettagliFondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main
Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli
DettagliAutenticazione tramite IEEE 802.1x
Autenticazione tramite IEEE 802.1x Pietro Nicoletti Studio Reti s.a.s www.studioreti.it 802-1-X-2004 -Switch 1 P. Nicoletti: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto
DettagliSOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:
1 SOFTWARE È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: SOFTWARE DI SISTEMA (o di base), che deve gestire le funzioni
DettagliDall 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
DettagliProgettazione di reti locali basate su switch - Switched LAN
Progettazione di reti locali basate su switch - Switched LAN Mario Baldi Politecnico di Torino mario.baldi@polito.it staff.polito.it/mario.baldi Nota di Copyright Questo insieme di trasparenze (detto nel
DettagliProtezione. Protezione. Protezione. Obiettivi della protezione
Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in
DettagliCOS È 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
DettagliAlcune regole di base per scrivere un programma in linguaggio C
Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza
DettagliSoftware di base. Corso di Fondamenti di Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Software di base Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
DettagliIntroduzione 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
DettagliLO STANDARD EIA/TIA 569
LO STANDARD EIA/TIA 569 Pier Luca Montessoro www.montessoro.it Pietro Nicoletti www.studioreti.it ET569-1 Copyright: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito
DettagliLibrerie. Laboratorio di Informatica Antonio Monteleone 28
Librerie Una libreria è una collezione di funzioni (classi, variabili) usata per sviluppare applicazioni. Le funzioni (classi, variabili) contenute in una libreria si dicono da questa esportate. L'uso
DettagliNascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti
Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del
DettagliRETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliSistema 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
DettagliINFORMATICA 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
DettagliIl Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo
Il Sistema Operativo Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo ... ma Cos'è un S.O.? un PROGRAMMA!... ma Cos'è un programma? PROGRAMMA: 1. algoritmo sequenza
DettagliIl 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
DettagliReti di computer. Materiale estratto da:
Reti di computer Materiale estratto da: RETI LOCALI: DAL CABLAGGIO ALL'INTERNETWORKING (S. Gai, P. L. Montessoro e P. Nicoletti); Slides del corso Teach: spunti teorico- pratici per la progettazione di
DettagliGLI ARCHIVI DI DATI. File Un File è una sequenza di informazioni che costituisce una unità logica. Un file è un un contenitore di di informazioni
GLI ARCHIVI DI DATI File Un File è una sequenza di informazioni che costituisce una unità logica. Un file è un un contenitore di di informazioni» Un file può contenere un testo» Un file può contenere la
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 08 Traduzione ed esecuzione di programmi Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente materiale didattico
DettagliVoce su IP e Telefonia su IP
Voce su e Telefonia su Mario Baldi Politecnico di Torino mario.baldi[at]polito.it staff.polito.it/mario.baldi Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle
DettagliTipi di errori e possibili cause sulle reti Ethernet
Tipi di errori e possibili cause sulle reti Ethernet Pietro Nicoletti www.studioreti.it Ethernet-Error - 1 P. Nicoletti: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel
DettagliFondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009. Prof. Raffaele Nicolussi
Fondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni
DettagliRETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliIntroduzione alla programmazione Java. Dott. Ing. M. Banci, PhD
Introduzione alla programmazione Java Dott. Ing. M. Banci, PhD Obiettivi del corso Creare, compilare, e eseguire programmi Java Tipi di dato primitivi Flusso di controllo Java Metodi Arrays Introduzione
DettagliLinguaggio C - Stringhe
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - Stringhe La presente dispensa e da utilizzarsi ai
DettagliSMDS: Switched Multi-Megabit Data Service. Silvano GAI
: Switched Multi-Megabit Data Service Silvano GAI Silvano.Gai@polito.it http://www.polito.it/~silvano - 1 Copyright: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito
DettagliCorso 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
DettagliIL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE
IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE
DettagliBreve storia dei sistemi di calcolo
FONDAMENTI DI INFORMATICA Ing. Davide PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Breve storia dei sistemi di calcolo 1 Nota di Copyright Questo insieme di trasparenze (detto nel seguito
DettagliGian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliSNMP e RMON. Pietro Nicoletti Studio Reti s.a.s. Mario Baldi Politecnico di Torino. SNMP-RMON - 1 P. Nicoletti: si veda nota a pag.
SNMP e RMON Pietro Nicoletti Studio Reti s.a.s Mario Baldi Politecnico di Torino SNMP-RMON - 1 P. Nicoletti: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides)
DettagliFONDAMENTI 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
DettagliIl computer: primi elementi
Il computer: primi elementi Tommaso Motta T. Motta Il computer: primi elementi 1 Informazioni Computer = mezzo per memorizzare, elaborare, comunicare e trasmettere le informazioni Tutte le informazioni
DettagliDefinizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base
Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore
DettagliAPPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 17.XI.2015
APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 17.XI.2015 VINCENZO MARRA Indice Esercizio 1 1 Conversione di un numero naturale in base b.
DettagliNozionidiBase di Informatica
Università degli Studi di Parma Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica NozionidiBase di Informatica Roberto Alfieri Giulio Destri Nozioni Base di Informatica - 1 R. Alfieri e G. Destri
DettagliLezione 10: Librerie e compilazione separata
Lezione 10: Librerie e compilazione separata Laboratorio di Elementi di Architettura e Sistemi Operativi 16 Maggio 2012 Calendario della parte finale del corso Mer 23 Maggio ultima lezione sul C Gio 24
DettagliUnbundling e xdsl. Mario Baldi
Unbundling e xdsl Mario Baldi Politecnico di Torino Dipartimento di Automatica e Informatica mario.baldi[at]polito.it http://staff.polito.it/mario.baldi Nota di Copyright Questo insieme di trasparenze
DettagliGestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
Dettagli----------------------------------------------------------------
---------------------------------------------------------------- utilizzo frequente di chiamate a.. A differenza del Pascal, il C permette di operare con assegnamenti e confronti su dati di tipo diverso,
DettagliCorso 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
DettagliLe funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.
Le funzioni in C I programmi C sono costituiti da definizioni di variabili e funzioni. Una definizione di funzione ha il seguente formato: tipo-ritornato nome-funzione(lista-parametri) { dichiarazioni
DettagliIL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008
IL SOFTWARE Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008 CHE COS È IL SOFTWARE In Informatica il termine Software indica l insieme dei programmi che consentono un
DettagliFunzioni. Il modello console. Interfaccia in modalità console
Funzioni Interfaccia con il sistema operativo Argomenti sulla linea di comando Parametri argc e argv Valore di ritorno del programma La funzione exit Esercizio Calcolatrice 2, presente in tutti i programmi
DettagliICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it http://staff.polito.it/mario.
ICMP Internet Control Message Protocol Silvano GAI sgai[at]cisco.com Mario BALDI mario.baldi[at]polito.it http://staff.polito.it/mario.baldi Fulvio RISSO fulvio.risso[at]polito.it ICMP - 1 Copyright: si
DettagliSoftware. 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
DettagliVoce su IP e Telefonia su IP
Voce su IP e Telefonia su IP Mario Baldi Politecnico di Torino mario.baldi[at]polito.it staff.polito.it/mario.baldi VoIP - 1 M. Baldi: see page 2 Nota di Copyright Questo insieme di trasparenze (detto
DettagliOmniSwitch Alcatel 7700, 7800, 8800
OmniSwitch Alcatel 7700, 7800, 8800 Pietro Nicoletti www.studioreti.it Alcatel-Switch - 1 P. Nicoletti: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides)
DettagliCorso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)
Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio
DettagliIGRP Interior Gateway Routing Protocol
IGRP Interior Gateway Routing Protocol Mario Baldi Politecnico di Torino mario.baldi[at]polito.it http://staff.polito.it/mario.baldi IGRP - 1 Nota di Copyright Questo insieme di trasparenze (detto nel
DettagliFondamenti 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
DettagliIP Multicast. Mario Baldi mario.baldi@polito.it staff.polito.it/mario.baldi. Silvano Gai sgai@cisco.com. Nota di Copyright. Comunicazioni di gruppo
IP Multicast Mario Baldi mario.baldi@polito.it staff.polito.it/mario.baldi Silvano Gai sgai@cisco.com Multicast - 1 Copyright: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto
DettagliArchitetture Applicative
Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
DettagliHeader. Unità 9. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale
Dettaglivoid funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }
FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo
DettagliGli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
DettagliDynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica
Dynamic Linking Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica Dynamic Linking Il linking tra i moduli di un programma e le librerie da esso utilizzate può essere Statico
DettagliScheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione Linguaggi di Programmazione Sintassi e semantica Compilatori, interpreti e il linker Introduzione al C La funzione main del C 2 Definizione 1 Un linguaggio è un insieme di parole
Dettagli