La programmazione in linguaggio C

Размер: px
Начинать показ со страницы:

Download "La programmazione in linguaggio C"

Транскрипт

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

Codifica dei numeri interi positivi e negativi

Codifica 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

Подробнее

Input/output in C e in C++

Input/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

Подробнее

Linguaggio C Struct e union

Linguaggio 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

Подробнее

Codifica dei segnali audio

Codifica 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

Подробнее

Tecniche di compressione senza perdita

Tecniche 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

Подробнее

FONDAMENTI 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 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

Подробнее

IL CABLAGGIO STRUTTURATO DI CATEGORIA 6

IL 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

Подробнее

Linguaggio C: introduzione

Linguaggio 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

Подробнее

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI 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

Подробнее

Primi passi col linguaggio C

Primi 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

Подробнее

Progettazione delle dorsali in fibra ottica

Progettazione delle dorsali in fibra ottica Progettazione delle dorsali in fibra ottica Mario Baldi Politecnico di Torino [email protected] staff.polito.it/mario.baldi Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide)

Подробнее

Linguaggio C Espressioni e operatori

Linguaggio 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

Подробнее

Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica

Introduzione 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

Подробнее

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

Unità 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

Подробнее

Linguaggio 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 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

Подробнее

IL PRIMO PROGRAMMA IN C

IL 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

Подробнее

Internet and Intranet Access

Internet and Intranet Access and Intranet Access Mario Baldi Synchrodyne Networks, Inc. [email protected] access - 1 M. Baldi: see page 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides) è protetto dalle

Подробнее

Memoria cache, interrupt e DMA

Memoria 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

Подробнее

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Linguaggio 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

Подробнее

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

ESECUZIONE 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

Подробнее

Interconnessione di reti IP

Interconnessione di reti IP Interconnessione di reti IP Mario Baldi [email protected] staff.polito.it/mario.baldi Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright

Подробнее

FONDAMENTI 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 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

Подробнее

Linguaggio C - sezione dichiarativa: costanti e variabili

Linguaggio 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

Подробнее

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Unità 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

Подробнее

Il linguaggio C Il linguaggio C. Caratteristiche del C. Caratteristiche del C. Linguaggi di Programmazione I. Ferdinando Cicalese

Il 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

Подробнее

Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C

Introduzione 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

Подробнее

Algoritmi e basi del C Struttura di un programma

Algoritmi e basi del C Struttura di un programma Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio [email protected] Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21

Подробнее

Un 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. 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

Подробнее

Linguaggio C Compilazione, linking e preprocessor

Linguaggio 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

Подробнее

Le 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 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

Подробнее

Esercizi di Addressing. Fulvio Risso Guido Marchetto

Esercizi 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.

Подробнее

Istruzioni iterative (o cicliche)

Istruzioni 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

Подробнее

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Cos è 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

Подробнее

Le funzioni, e le istruzioni di input/output

Le 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

Подробнее

Linguaggio 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 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

Подробнее

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Indice 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

Подробнее

Perché il linguaggio C?

Perché 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

Подробнее

Il linguaggio di programmazione Python

Il 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 ([email protected])

Подробнее

Le direttive del Preprocessore

Le 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

Подробнее

Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati

Il 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

Подробнее

Variabili e Istruzioni

Variabili 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

Подробнее

La programmazione nel linguaggio C

La 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

Подробнее

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE 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

Подробнее

6 - 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 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

Подробнее

Linguaggio C La libreria standard

Linguaggio 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

Подробнее

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi 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

Подробнее

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura [email protected] 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Подробнее

Fortran in pillole : prima parte

Fortran 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

Подробнее

Algoritmi e soluzione di problemi

Algoritmi 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)

Подробнее

Il compilatore Dev-C++

Il 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

Подробнее

Esercitazione 4. Comandi iterativi for, while, do-while

Esercitazione 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

Подробнее

Corso di Fondamenti di Informatica Linguaggi di Programmazione

Corso 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

Подробнее

Input/Output di numeri

Input/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

Подробнее

Linguaggio 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 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

Подробнее

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica

Introduzione 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,

Подробнее

Preprocessore, linker e libreria standard

Preprocessore, 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

Подробнее