Presentazione di PowerPoint - Università degli Studi di Parma

Dipartimento di Ingegneria dell’Informazione
Costruzione di una applicazione
Università degli Studi di Parma
Fondamenti di Informatica

Laurea in
Ingegneria Civile e Ingegneria per l’ambiente e il territorio


Ambienti di programmazione
Stefano Cagnoni e Monica Mordonini
Si deve compilare il file (o i file) che contiene
(contengono) il testo del programma (file sorgente,
estensione .c)
Il risultato sono uno o più file oggetto (estensione .o
(Unix) o .obj (Windows))
si devono poi collegare (linking) i file oggetto l‟uno
con l‟altro e con le librerie di sistema al fine di
creare un unico file eseguibile (estensione .exe
(Windows); nome a piacere o a.out se non si
specifica il nome (Unix))
FI - Algoritmi e Programmazione
Perché?
2
Librerie di sistema

L‟elaboratore capisce solo il linguaggio macchina
della CPU utilizzata

il nostro programma, definito in un linguaggio di
programmazione simile al linguaggio naturale, opera
su una macchina astratta, „rivestita‟ del sistema
operativo che controlla le periferiche (stampante,
memoria di massa, ecc.)

alcune istruzioni del linguaggio di programmazione
sono dei brevi programmi forniti insieme al
compilatore, che può inglobarli nel programma
eseguibile nella fase di link
FI - Algoritmi e Programmazione
3

Insieme di componenti software che consentono di
interfacciarsi col sistema operativo, usare le risorse
gestite da quest‟ultimo e realizzare alcune “istruzioni
complesse” del linguaggio

In pratica, insieme di funzioni „preconfezionate‟,
utilizzabili all‟interno di un file sorgente
FI - Algoritmi e Programmazione
4
1
Eseguire un programma

Ambienti integrati di programmazione
Una volta scritto, compilato (con il compilatore) e
collegato (con il linker) lo si può eseguire
sull‟elaboratore


E se non funziona?
 Debugger: strumento in grado di eseguire passo
passo il programma, mostrando i valori delle variabili
e la loro evoluzione e tenendo traccia delle funzioni
via via chiamate
FI - Algoritmi e Programmazione

Noi utilizzeremo il DevC++
presente nei laboratori di informatica base
5
Ambiente DevC++
FI - Algoritmi e Programmazione

Il DevC++ è un ambiente integrato per la messa
a punto di programmi in C e in C++.

In questo ambiente è possibile creare,
correggere, compilare, mandare in esecuzione e
memorizzare su disco programmi C/C++.



ambiente turbo C
6
Realizzazione di un programma


Automatizzano la procedura di compilazione e
linking dei file
Possono lanciare il programma sulla macchina e
visualizzarne l‟output a video
Incorporano le funzioni di debug
7
Apertura della finestra di editor
Scrittura del programma e suo salvataggio
Compilazione del programma (success, warnings,
errors)
Esecuzione del programma (run)
 L‟input e l‟output dei dati avvengono in una
apposita finestra
Creazione di una versione eseguibile del programma
 esegui: viene creato un .exe nella cartella corrente
ambiente turbo C
8
2
Istruzioni di I/O: printf()
Istruzioni di I/O: printf()
printf(stringa di formato
[,lista di espressioni])
printf (“Questa è una frase di prova\n”);



per visualizzare dati sullo standard output (monitor)
lista di espressioni  espressione {,espressione}
 sono le espressioni il cui valore deve essere visualizzato
stringa di formato: contiene i caratteri da visualizzare ed i
simboli di formato che rappresentano i valori delle espressioni
da visualizzare, specificate nella lista di espressioni:
 %d
per la visualizzazione di un numero intero
 %f
per la visualizzazione di un numero reale
 %c
per la visualizzazione di un carattere
 %s
per la visualizzazione di una stringa
ambiente turbo C
9
Istruzioni di I/O: scanf()

consente la lettura di dati dallo standard input e la loro
assegnazione alle variabili di cui si specificano gli
indirizzi
lista indirizzi di variabili  indirizzo {,indirizzo}
indirizzo  &variabile
stringa di formato come per printf
Esempio
scanf (“%d %f %c”, &n, &x, &c);
ambiente turbo C
%d
e
%d
risulta:
printf
(“Il
codice
ASCII
%d\nviene
visualizzato come %c\n”,61,61);
Quando viene eseguita produce il seguente output:
Il codice ASCII 61
viene visualizzato come A
ambiente turbo C
10
Istruzioni di I/O: printf() e scanf()
scanf (stringa di formato ,
lista indirizzi di variabili)

printf (“La somma di
%d\n”, m, n, m+n);
11
printf (“Inserisci un intero, un float e un
carattere: \n”);
scanf (“%d %f %c”, &n, &x, &c);
printf (“Adesso n vale: %d \n”, n);
printf (“
x vale: %f \n”, x);
printf (“ c è il carattere %c”, c);
printf (“e ha %d come codice ASCII \n”, c);
Inserisci un intero, un float e un carattere:
12 3.14 A
(dati che si suppone vengano inseriti)
Adesso n vale 12
x vale 3.14
c è il carattere A e ha 61 come codice ASCII
ambiente turbo C
12
3