La programmazione in linguaggio C
|
|
- Daniella Brunelli
- 7 anni fa
- Visualizzazioni
Transcript
1 FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine La programmazione in linguaggio C 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 Strumenti per la programmazione specifiche del problema analisi algoritmo controllo dei risultati esecuzione debugging e correzione del programma implementazione programma eseguibile compilazione e linking programma sorgente 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 3
4 Strumenti per la programmazione specifiche del problema analisi algoritmo controllo dei risultatiin questo corso non è previsto l utilizzo di sistemi di analisi automatica né di strumenti di CASE (Computer Aided Software Engineering) esecuzione debugging e correzione del programma implementazione programma eseguibile compilazione e linking programma sorgente 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 4
5 Strumenti per la programmazione specifiche del problema analisi algoritmo TEXT controllo EDITOR: programma per dei scrivere risultati file di testo (ASCII) Esempi: EDIT di MS-DOS, esecuzione debugging e correzione del programma Notepad, Wordpad o Notepad++ di MS-Windows, gedit o emacs di Unix implementazione programma eseguibile compilazione e linking programma sorgente 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 5
6 Strumenti per la programmazione specifiche analisi del problema Compilatore C/C++ della GNU algoritmo Linguaggio C: controllo gcc -o foobar.exe foobar.c dei risultati esecuzione debugging e correzione del programma Linguaggio C++: g++ -o foobar.exe foobar.cpp implementazione programma eseguibile compilazione e linking programma sorgente 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 6
7 Strumenti per la programmazione specifiche del problema analisi algoritmo controllo dei risultati esecuzione debugging e correzione del programma implementazione In MS-DOS e in unix per eseguire un programma è sufficiente scriverne il nome sulla linea di comando, seguitodainvio: programma eseguibile C:\PROGRAMMI> compilazione foobar programma e linking sorgente 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 7
8 Strumenti di base: attenta analisi ragionata del codice selezione di casi significativi printf specifiche (per la stampa dei valori delle variabili) analisi del problema algoritmo Strumenti avanzati: debugger controllo dei risultati Strumenti per la programmazione esecuzione debugging e correzione del programma implementazione programma eseguibile compilazione e linking programma sorgente 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 8
9 Utilizzo del compilatore GCC Compilazione: C:\PROGR> gcc -o nome.exe nome.c Esecuzione: C:\PROGR> nome Compilazione per il debugger: C:\PROGR> gcc -g -o nome.exe nome.c Esecuzione con debugger grafico: C:\PROGR> gdb nome C:\PROGR> insight nome C:\PROGR> nemiver prova (versioni gcc precedenti alla 3) (in ambiente Ubuntu) 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 9
10 Principi fondamentali Implementare un algoritmo significa tradurre una serie di operazioni aritmetico-logiche in procedure eseguibili dal calcolatore Tale traduzione è diversa a seconda del linguaggio di programmazione scelto Un programma C è costituito fondamentalmente da variabili e funzioni 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 10
11 Variabili e funzioni Le variabili memorizzano i valori (o dati) in input e/o in output e quelli usati durante l esecuzione Le funzioni sono sequenze di istruzioni, ossia operazioni da effettuare sui dati 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 11
12 Esempio: hello.c #include <stdio.h> #include <stdlib.h> /* programma principale */ int main() { printf ("Hello world!\n"); return EXIT_SUCCESS; } /* fine del programma */ 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 12
13 Esempio: hello.c #include <stdio.h> #include <stdlib.h> /* programma principale */ int main() { } Direttiva al preprocessor: include il file (del compilatore) stdio.h che printf ("Hello serve per l utilizzo world!\n"); delle return EXIT_SUCCESS; funzioni di input/output /* fine del programma */ 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 13
14 Esempio: hello.c #include <stdio.h> #include <stdlib.h> /* programma principale */ int main() Commento: viene ignorato { dal compilatore printf ("Hello world!\n"); return EXIT_SUCCESS; } /* fine del programma */ 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 14
15 Esempio: hello.c #include <stdio.h> #include <stdlib.h> /* programma principale */ Funzione main: tutto comincia da qui int main() { printf ("Hello world!\n"); return EXIT_SUCCESS; } /* fine del programma */ Corpo della funzione main 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 15
16 Esempio: hello.c Istruzione per terminare la #include <stdio.h> #include funzione main <stdlib.h> (e quindi il programma) restituendo al sistema operativo il valore numerico associato, in stdlib.h, a EXIT_SUCCESS /* programma principale */ int main() { printf ("Hello world!\n"); return EXIT_SUCCESS; } Istruzione per stampare la scritta /* fine del programma */ "Hello world!" e poi andare a capo 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 16
17 Struttura di un programma Ogni funzione è identificata da un nome Il programma inizia sempre l esecuzione a partire da una funzione speciale : la funzione main Nei programmi C più semplici, tutte le operazioni da fare risiedono nella funzione main I programmi complessi prevedono che main invochi altre funzioni, suddividendo le molte istruzioni in blocchi logici più semplici 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 17
18 Direttive al preprocessor La prima linea del programma: #include <stdio.h> è comune a molti programmi C Indica al compilatore di includere automaticamente le funzioni della libreria standard di input/output stdio.h, come ad esempio la funzione di stampa su video printf () 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 18
19 Commenti In ogni programma C è utile poter inserire dei commenti, a descrizione di quanto viene eseguito da una o più istruzioni La riga di commento: /* programma principale */ non contiene istruzioni C e quindi non viene processata dal compilatore 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 19
20 Input e output printf () è una funzione di uso generale offerta della libreria standard di input/output Nell esempio, essa stampa sul monitor (lo standard output) semplicemente la sequenza di caratteri: Hello world! 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 20
21 #include <stdio.h> #include <stdlib.h> Fondamenti di Informatica - La programmazione in linguaggio C Esempio: somma.c int main() /* somma due numeri interi */ { int num1, num2, somma; } printf ("inserire num1: "); scanf ("%d", &num1); printf ("inserire num2: "); scanf ("%d", &num2); somma = num1 + num2; printf ("num1 + num2 = %d\n", somma); return EXIT_SUCCESS; 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 21
22 #include <stdio.h> #include <stdlib.h> Fondamenti di Informatica - La programmazione in linguaggio C Esempio: somma.c int main() /* somma due numeri interi */ { int num1, num2, somma; } printf ("inserire num1: "); scanf ("%d", &num1); printf ("inserire num2: "); scanf ("%d", &num2); somma = num1 + num2; printf ("num1 + num2 = %d\n", somma); return EXIT_SUCCESS; dichiarazione di variabili intere 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 22
23 #include <stdio.h> #include <stdlib.h> Fondamenti di Informatica - La programmazione in linguaggio C Esempio: somma.c int main() /* somma due numeri interi */ { int num1, num2, somma; } printf ("inserire num1: "); scanf ("%d", &num1); printf ("inserire num2: "); scanf ("%d", &num2); somma = num1 + num2; printf ("num1 + num2 = %d\n", somma); return EXIT_SUCCESS; input di un intero (input formattato) 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 23
24 #include <stdio.h> #include <stdlib.h> Fondamenti di Informatica - La programmazione in linguaggio C Esempio: somma.c int main() /* somma due numeri interi */ { int num1, num2, somma; } printf ("inserire num1: "); scanf ("%d", &num1); printf ("inserire num2: "); scanf ("%d", &num2); somma = num1 + num2; printf ("num1 + num2 = %d\n", somma); return EXIT_SUCCESS; somma e assegnazione 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 24
25 #include <stdio.h> #include <stdlib.h> Fondamenti di Informatica - La programmazione in linguaggio C Esempio: somma.c int main() /* somma due numeri interi */ { int num1, num2, somma; printf ("inserire num1: "); scanf ("%d", &num1); printf ("inserire num2: "); scanf ("%d", &num2); stampa del risultato (output formattato) } somma = num1 + num2; printf ("num1 + num2 = %d\n", somma); return EXIT_SUCCESS; 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 25
26 Variabili e dichiarazioni Per poter essere utilizzate da un istruzione, tutte le variabili di un programma C devono essere dapprima dichiarate Una dichiarazione stabilisce il tipo e il nome di una o più variabili, come ad esempio: int numero; Il tipo di dato determina la natura della variabile, ovvero il modo in cui verrà trattata nelle successive operazioni 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 26
27 Variabili ed espressioni L istruzione numero = numero * 20; rappresenta di fatto la traduzione di due operazioni logiche distinte Dapprima viene valutata l espressione a destra del segno = Il risultato di tale espressione è poi assegnato alla stessa variabile numero, che viene dunque sovrascritta: numero numero * 20; 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 27
28 Input e output formattato scanf () e printf () consentono di leggere e stampare dati formattati La funzione scanf () legge un dato dalla tastiera (lo standard input) e ne scrive il valore in una variabile (o locazione in memoria) Esse operano in modo diverso a seconda del tipo dei dati da manipolare (numeri interi, numeri floating point, stringhe di caratteri, singoli byte ecc.) L input/output formattato in C è molto potente! 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 28
29 Funzioni e argomenti Un metodo per comunicare dati alle funzioni è quello di fornire ad esse una lista di valori, detti argomenti Le parentesi che seguono il nome della funzione racchiudono tale lista, come per: scanf ("%d", &numero); Esistono funzioni che non si aspettano argomenti: nell esempio, main () ha la lista di argomenti vuota 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 29
30 Esempio: potenza.c #include <stdio.h> #include <stdlib.h> /* elevamento a potenza con moltiplicazioni successive */ int main() { int base, esponente, potenza, contatore; printf ("inserire base: "); scanf ("%d", &base); printf ("inserire esponente: "); scanf ("%d", &esponente); potenza = 1; contatore = 0; } while (contatore < esponente) { potenza = base * potenza; contatore = contatore + 1; } printf ("potenza = %d\n", potenza); return EXIT_SUCCESS; struttura di controllo: ciclo while 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 30
31 Strutture di controllo L esempio precedente rappresenta una possibile implementazione del calcolo dell elevamento a potenza (esponente non negativo!) Il ciclo while è una struttura di controllo, il cui diagramma di flusso è: Y N 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 31
32 Strutture di controllo Il costrutto: while (contatore < esponente) { potenza = base * potenza; contatore = contatore + 1; } è un semplice ciclo iterativo Dapprima viene valutata la condizione contatore < esponente Se tale espressione risulta vera, allora il blocco di istruzioni racchiuse tra le parentesi graffe viene eseguito e, alla fine, la condizione viene valutata di nuovo (iterazione) 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 32
33 Strutture di controllo Il ciclo while viene così ripetuto fino a che (while) la condizione contatore < esponente è ancora vera Nell esempio, le istruzioni interne al ciclo vengono eseguite un numero di volti pari al valore dell esponente 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 33
Linguaggio C Debugging
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota
DettagliLinguaggio C I puntatori
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C I puntatori 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliCodifica dei numeri interi positivi e negativi
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Codifica dei numeri interi positivi e negativi 2000 Pier Luca Montessoro (si veda la nota di copyright
DettagliInput/output in C e in C++
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliLinguaggio C Struttura dei programmi
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Struttura dei programmi 2001 Pier Luca Montessoro - Davide
DettagliLinguaggio C Struct e union
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Struct e union 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliArchitettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architettura e funzionamento del calcolatore 20 Pier Luca Montessoro (si veda la nota di copyright
DettagliFONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Codifica del video
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Codifica del video 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
DettagliControllo e correzione degli errori
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Controllo e correzione degli errori 2000 Pier Luca Montessoro si veda la nota di copyright alla
DettagliCodifica dei segnali audio
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Codifica dei segnali audio 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliTecniche di compressione senza perdita
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Tecniche di compressione senza perdita 2000 Pier Luca Montessoro (si veda la nota di copyright
DettagliFONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Compressione audio
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Compressione audio 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
DettagliIL CABLAGGIO STRUTTURATO DI CATEGORIA 6
IL CABLAGGIO STRUTTURATO DI CATEGORIA 6 21 maggio 2002 PIER LUCA MONTESSORO Dip. di Ingegneria Elettrica Gestionale e Meccanica Università degli Studi di Udine in collaborazione con 2002 Pier Luca Montessoro
Dettagli2001 Pier Luca Montessoro, Davide Pierattoni (si veda la nota di copyright alla slide n. 2) Fondamenti di Informatica.
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Le trappole del linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliLa voce di Elvis Presley, la chitarra di David Gilmour e le funzioni di callback in linguaggio C
La voce di Elvis Presley, la chitarra di David Gilmour e le funzioni di callback in linguaggio C l ingegneria elettronica nella musica moderna Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università
DettagliTrasmissione bilanciata e amplificatore differenziale
E.M.I. Shield e Grounding: analisi applicata ai sistemi di cablaggio strutturato Trasmissione bilanciata e amplificatore differenziale Pier Luca Montessoro pierluca.montessoro@diegm.uniud.it DIFFAMP -
DettagliMemoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliLinguaggio C Variabili e tipi di dato
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Variabili e tipi di dato 2001 Pier Luca Montessoro - Davide
DettagliLinguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
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
DettagliLibreria in linguaggio C per elaborazione audio in real time
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Libreria in linguaggio C per elaborazione audio in real time 2010 Pier Luca Montessoro (si veda
DettagliGestione della memoria per sistemi multiprogrammati. Obiettivi. Partizioni fisse. Partizioni fisse. Fondamenti di Informatica
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 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
DettagliPrimi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
DettagliShielding. E.M.I. Shield e Grounding: analisi applicata ai sistemi di cablaggio strutturato. Pier Luca Montessoro.
E.M.I. Shield e Grounding: analisi applicata ai sistemi di cablaggio strutturato Shielding Pier Luca Montessoro pierluca.montessoro@diegm.uniud.it SHIELD - 1 Copyright: si veda nota a pag. 2 Nota di Copyright
DettagliProgettazione delle dorsali in fibra ottica
Progettazione delle dorsali in fibra ottica Mario Baldi Politecnico di Torino mario.baldi@polito.it staff.polito.it/mario.baldi Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide)
DettagliMobile IP Mobilità nelle reti IP Mario Baldi Politecnico di Torino
Mobile IP Mobilità nelle reti IP Mario Baldi Politecnico di Torino http://staff.polito.it/mario.baldi Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul
DettagliGestione dei processi
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione dei processi 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2)
DettagliLinguaggio C Espressioni e operatori
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing.DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Espressioni e operatori 2001 Pier Luca Montessoro - Davide
DettagliIntroduzione al Linguaggio C Corso di Informatica Laurea in Fisica
Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica prof. ing. Corrado Santoro A.A. 2009-10 Dai flow-chart ai linguaggi... Abbiamo imparato ad usare uno strumento formale i flowchart per
DettagliUnità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.
Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti
DettagliLinguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C strutture di controllo: strutture iterative Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Strutture iterative
DettagliIL PRIMO PROGRAMMA IN C
IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE
DettagliInternet and Intranet Access
and Intranet Access Mario Baldi Synchrodyne Networks, Inc. baldi@synchrodyne.com access - 1 M. Baldi: see page 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides) è protetto dalle
DettagliMemoria cache, interrupt e DMA
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliLinguaggio C - le strutture di controllo: sequenza, selezione, iterazione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione
Dettagli1999 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
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
DettagliESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
DettagliInterconnessione di reti IP
Interconnessione di reti IP Mario Baldi mario.baldi@polito.it staff.polito.it/mario.baldi Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright
DettagliESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
DettagliFONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Reti logiche
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Reti logiche 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1 Nota di
DettagliLinguaggio C - sezione dichiarativa: costanti e variabili
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente
DettagliEsempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina
Il compilatore C Astrazione Linguaggio macchina implica la conoscenza dei metodi usati per la rappresentazione dell informazioni nella CPU Linguaggio Assembly è il linguaggio delle istruzioni che possono
DettagliElementi di informatica
Elementi di informatica Programmare in C 1 Calcolare l area di un rettangolo /* Calcolo area rettangolo */ int base; int altezza; int area; Conosciamo base = 3; altezza = 7; area = base*altezza; printf("%d",
DettagliC O P Y R I G H T ( C ) W W W. F O N D A M E N T I. I N F O
Il linguaggio C C O P Y R I G H T ( C ) 2 0 0 8 W W W. F O N D A M E N T I. I N F O P E R M I S S I O N I S G R A N T E D T O C O P Y, D I S T R I B U T E A N D / O R M O D I F Y T H I S D O C U M E N
DettagliUnità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi
Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio
DettagliIl linguaggio C Il linguaggio C. Caratteristiche del C. Caratteristiche del C. Linguaggi di Programmazione I. Ferdinando Cicalese
03-10-2003 Il linguaggio C Linguaggio general-purpose Il linguaggio C Creato nel 1972 nei Bell Labs da Dennis Ritchie su PDP11 Usato per il Sistema Operativo Unix da Ken Thompson Negli anni 80 nasce ANSI
DettagliProgrammazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 1 - Variabili, costanti, strutture di controllo e input/output Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
DettagliIntroduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C
Introduzione 2 Introduzione al C Linguaggio di programmazione ad alto livello (HLL) Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro di applicazioni: Scientifiche Gestionali
DettagliAlgoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
DettagliUn esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);
Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i
DettagliLinguaggio C Compilazione, linking e preprocessor
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
DettagliLe Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE
DettagliEsercizi di Addressing. Fulvio Risso Guido Marchetto
Esercizi di Addressing Fulvio Risso Guido Marchetto 1 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali.
DettagliUn semplice programma L ambiente di sviluppo Dev-C++ Codifica del programma Compilazione e correzione errori Esecuzione e verifica
Primo programma in C Un semplice programma L ambiente di sviluppo Dev-C++ Codifica del programma Compilazione e correzione errori Esecuzione e verifica 2 2006 Politecnico di Torino 1 Esercizio Somma due
DettagliIntroduzione a. Funzioni di Ingresso e Uscita. Compilazione
Introduzione a Funzioni di Ingresso e Uscita Compilazione 2 Come si termina...... un programma in esecuzione (processo)? Ctrl + C In UNIX ci si basa sul concetto di terminale Anche da GUI, quello che si
DettagliIstruzioni iterative (o cicliche)
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria
DettagliLinea di comando. Compilazione. Aprire una shell di DOS tramite:
Linea di comando Aprire una shell di DOS tramite: Start MS VisualStudio 2005 Visual Studio Tools E una normale shell di DOS con aggiunte al path ed alle variabili d ambiented Digitare cl /? per vedere
DettagliCorso di Calcolatori Elettronici Un computer è un dispositivo in grado di eseguire dei calcoli e di prendere delle decisioni logiche.
Corso di Calcolatori Elettronici Un computer è un dispositivo in grado di eseguire dei calcoli e di prendere delle decisioni logiche. APPUNTI SUL LINGUAGGIO C I computer elaborano i dati sotto il controllo
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliLe funzioni, e le istruzioni di input/output
Linguaggio C Le funzioni, e le istruzioni di input/output 1 Funzioni! Sono sottoprogrammi per svolgere un particolare compito! Sequenze di istruzioni (raggruppate tramite le parentesi graffe) alle quali
DettagliInformatica! Appunti dal laboratorio 1!
Informatica! Appunti dal laboratorio 1! Sistema Operativo! Windows 7, Windows 8, Mac OS X, Linux, Debian, Red Hat, etc etc! Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti
DettagliLinguaggio C. Appunti per il corso di Laboratorio di Algoritmi e Strutture Dati. Stefano Aguzzoli
Linguaggio C Appunti per il corso di Laboratorio di Algoritmi e Strutture Dati Stefano Aguzzoli Alcune note introduttive Orario lezioni: Lunedì: 11:40 13:10, Giovedì: 10:40-11:25 sempre in Aula V3, Via
Dettagli2001 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 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright Questo insieme di trasparenze
DettagliIndice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX
Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di
DettagliRETI DI CALCOLATORI. Nota di Copyright. Passi progettuali necessari. Esercitazione 1. Progetto di un sistema di cablaggio strutturato
Nota di Copyright RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 2009 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Questo insieme di trasparenze
DettagliPerché il linguaggio C?
Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare
DettagliIl linguaggio di programmazione Python
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)
DettagliLe direttive del Preprocessore
Le direttive del Preprocessore Prof. Orazio Mirabella Direttive Un compilatore traduce le istruzioni di un programma sorgente in linguaggio macchina Talvolta è conveniente prendere coscienza dell esistenza
DettagliIl Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati
Caratteristiche Il Linguaggio C Linguaggio sequenziale (lineare), imperativo, strutturato a blocchi usabile anche come linguaggio di sistema software di base sistemi operativi compilatori... FI - Algoritmi
DettagliVariabili e Istruzioni
Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome
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
DettagliLa programmazione nel linguaggio C
3 La programmazione nel linguaggio C 3.0 La programmazione nel linguaggio C c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 3.0 0 Introduzione ai programmi
DettagliProgrammi per calcolo parallelo. Calcolo parallelo. Esempi di calcolo parallelo. Misure di efficienza. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA rof IER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Calcolo parallelo e sistemi multiprocessore 2000 ier Luca Montessoro (si veda la nota di copyright
DettagliLaboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007
Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 08/05/08 Nota Questi lucidi sono tratti
Dettagliprova.c #include <stdio.h> char funzione(char); codice oggetto del main()
prova.c #include char funzione(char); {char c= a ; printf( Ecco il carattere: %c\n,c); c=funzione(c); printf( Ecco il carattere modificato: %c\n,c); char funzione(char tmp) {if(tmp
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliCORSO DI ELEMENTI DI INFORMATICA
CORSO DI ELEMENTI DI INFORMATICA Corso di Laurea Triennale in Ingegneria Gestionale della Logistica e della Produzione Area didattica Ingegneria Elettrica a.a. 2016/2017 Docente: Ing. Domenico Amalfitano
Dettagli6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it
DettagliIl linguaggio C - Introduzione
Il linguaggio C - Introduzione Il C è un linguaggio imperativo legato a Unix, adatto all implementazione di compilatori e sistemi operativi. È stato progettato da D. Ritchie per il PDP-11 (all inizio degli
DettagliLinguaggio C La libreria standard
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C La libreria standard 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliDispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma
Istituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS Dall'Algoritmo al Programma Pr.: 002 Ver.:1.0 Autore: prof. Michele Salvemini
DettagliIntroduzione al linguaggio C
INFORMATICA B Ingegneria Elettrica Introduzione al linguaggio C Introduzione Linguaggio di programmazione ad alto livello Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliFortran in pillole : prima parte
Fortran in pillole : prima parte Annamaria Mazzia Dipartimento di Metodi e Modelli Matematici per le Scienze Applicate Corso di Metodi Numerici per l Ingegneria Introduzione al Fortran Un libro consigliato
DettagliAlgoritmi e soluzione di problemi
Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)
DettagliIl compilatore Dev-C++
Il compilatore Dev-C++ Compilatore per Windows: http://www.bloodshed.net/dev/index.html Oppure dal sito: http://web.tiscali.it/no-redirect-tiscali/adinfo/devcpp4970- gcc295.exe Informatica 1 1 Requisiti
DettagliEsercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
DettagliCorso di Fondamenti di Informatica Linguaggi di Programmazione
Corso di Fondamenti di Informatica Linguaggi di Programmazione Anno Accademico Francesco Tortorella Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di
DettagliInformatica Applicata Laboratorio 1. Ing. Antonella Dimasi
Laboratorio 1 Ing. Antonella Dimasi Ambiente di sviluppo L ambiente di sviluppo utilizzato in questo corso è DEV- C++. Dev-C++ è un ambiente di sviluppo integrato (IDE) per la programmazione C/C++. Utilizza
DettagliInput/Output di numeri
Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include
DettagliLinguaggio C: Introduzione ad ambienti di sviluppo integrati (IDE) e a Dev-C++ Università degli Studi di Brescia
Linguaggio C: Introduzione ad ambienti di sviluppo integrati (IDE) e a Dev-C++ Università degli Studi di Brescia Elementi di Informatica e Programmazione Università di Brescia 1 Sviluppo ed esecuzione
DettagliProgrammazione. Andrea Passerini Informatica. Programmazione
Andrea Passerini passerini@disi.unitn.it Informatica Linguaggi di programmazione Il calcolatore è in grado di comprendere solo istruzioni in linguaggio macchina. Il linguaggio macchina non è adatto alla
DettagliIntroduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica
Corso di Fondamenti di Informatica Ingegneria Clinica Esercitazione 6 Raffaele Nicolussi Esercizio 1 Si scriva una funzione in linguaggio C che riceve in ingresso un numero intero A letto da tastiera,
DettagliPrimo passo: il preprocessor. Il preprocessore. Esempi di direttive al preprocessore: #include. Esempi di direttive al preprocessore: #define
Primo passo: il preprocessor Source code Preprocessor Pre-processed source code Compiler Libraries Linker Executable code 1 Il preprocessore Il preprocessore compie delle manipolazioni sul codice del programma.
DettagliLaboratorio di Calcolo Linguaggi di programmazione
Laboratorio di Calcolo Linguaggi di programmazione Software Insieme di istruzioni e dati trattati dal computer Le istruzioni possono essere a diversi livelli Istruzioni macchina: insieme limitato di funzioni
DettagliPreprocessore, linker e libreria standard
Preprocessore, linker e libreria standard Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 IL PREPROCESSORE Programma sorgente
DettagliI/O INTERATTIVO. scanf: quello che è indispensabile sapere printf: quello che è utile sapere
I/O INTERATTIVO scanf: quello che è indispensabile sapere printf: quello che è utile sapere Input da tastiera Funzioni disponibili (tra le altre): scanf getchar Schema di funzionamento Tastiera Sistema
Dettagli