A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione
Università degli Studi di Brescia
1
Microsoft Windows e Dev-C++
Introduzione al
Linguaggio C ed
all’IDE DEV-C++
Le Esercitazioni in Laboratorio
!
MTA + MLAB1/2: Edificio Via Valotti, primo
piano e piano interrato
!
Orario: Giovedì 14:30-17:30
!
Libro:
– H. M. Dietel e P. J. Dietel C: Corso completo di
programmazione (3° edizione), Apogeo 2007
– Kim N. King Programmazione in C, Apogeo, 2009.
!
Sito WEB:
http://zeus.ing.unibs.it/FI-GES
!
Esame: sufficienza nella programmazione
vincolante per il superamento
A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione
Università degli Studi di Brescia
3
Programma delle Esercitazioni
!Il linguaggio C
– Introduzione al C e all’ambiente di sviluppo Dev-C++
– Le variabili nel linguaggio C
– Le funzioni in C
– Gli operatori in C
– Le strutture di controllo condizionali: L'istruzione IF in C
– Le strutture di controllo iterative: Le istruzioni WHILE e DO-WHILE in C
– Le strutture di controllo iterative: L'istruzione FOR in C
– Gli array in C
– Cicli annidati e matrici in C
– Le variabili stringhe in C
!Il foglio di calcolo MS Excel
!
Il linguaggio HTML
Cosa è la programmazione?
!
La realizzazione di un programma comprende:
– L’analisi del problema
– Il progetto delle strutture dati e degli algoritmi
– La codifica delle strutture e degli algoritmi progettati
in un linguaggio di programmazione
– La documentazione del codice prodotto
– La verifica e validazione del codice prodotto
– La manutenzione del codice prodotto
!
La programmazione non è solo scrittura di
A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione
Università degli Studi di Brescia
5
Linguaggi di Programmazione
INFORMAZIONI
Insiemi di simboli
da rappresentare
DATI
Insiemi di
simboli {0,1}
CODIFICA
INTERPRETAZIONE
Interprete e Compilatori
!
Il codice sorgente deve essere tradotto
in linguaggio macchina tramite:
– Interpreti: analizza le istruzioni, identifica le
azioni da eseguire e le esegue
– Compilatori: traduce tutte le istruzioni in
linguaggio macchina e produce un
eseguibile
!
Programma interpretato meno efficiente
di un programma compilato
A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione
Università degli Studi di Brescia
7
Linguaggio di Programmazione
!
Linguaggio formale per la descrizione di
programmi per calcolatori
!
Sintassi vicina al linguaggio umano
!
Se non ci fossero, bisognerebbe
scrivere in codice macchina
!
Concetti chiave:
– Variabile: dato o insieme di dati
– Istruzione: comando
Breve storia del linguaggio C
!
Nato come sottoprodotto di Unix, sviluppato presso i laboratori Bell
da Ken Thompson, Dennis Ritchie ed altri
!
Unix era originariamente scritto in Assembly (faticoso da gestire)
!
Per un ulteriore sviluppo di Unix si rese necessario la creazione di
un linguaggio di più alto livello. Thompson sviluppa il linguaggio “B”
!
Nel 1971divenne evidente che il linguaggio B fosse poco adatto per
i nuovi calcolatori. Ritchie sviluppa una versione estesa del
linguaggio B, che viene chiamata “C”
!
Nel 1973 Unix viene riscritto totalmente in C
!
Nel 1989 l’ANSI completa lo standard del C (C89)
!
Nel 1999 l’ANSI apporta alcuni cambiamenti significativi allo
A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione
Università degli Studi di Brescia
9
Pregi e difetti del linguaggio C
!
Pregi dei programmi C:
– Efficienza: “girano” velocemente e con memoria limitata
– Portabilità: compilatori piccoli e facili da scrivere
– Potenza: ottenere molto con poche linee di codice
– Semplicità: numero limitato di comandi
– Flessibilità: impone poche restrizioni
!
Difetti dei programmi C:
– Inclini agli errori
– Difficili da capire/modificare
Caratteristiche del linguaggio C
!
Adatto alla programmazione di sistema
– Fornisce accesso a concetti a livello macchina
– È progettato per essere efficiente
!
Parecchi linguaggi sono basati sul C:
– C++
– Java
– C#
– Perl
A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione
Università degli Studi di Brescia
11
Algortimo
Editor
Compilatore
Linker
Librerie
Programma
eseguibile
Calcolare il massimo tra 2 numeri
File sorgente
Esempio: prog.c
.obj
.lib
File eseguibile
Esempio: prog.exe
Sistemi di sviluppo integrati
!
Noti anche come IDE: Integrated Development
Environment
!
Un pacchetto software che permette di scrivere,
preprocessare, compilare, “linkare” un programma
!
Supporta la scrittura tramite caratteri e colori differenti
per parole chiavi, identificatori predefiniti ed utente.
Capacità di auto-completare le istruzioni
!
I componenti di un IDE lavorano assieme di modo
che è possibile eseguire un programma con un
semplice “click” del mouse
A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione
Università degli Studi di Brescia
13
Sistemi di sviluppo integrati
/* Stampa a video una stringa */
#include <stdio.h>
int main(void) {
printf(
“Cogito ergo sum.\n”
);
return
0
;
}
Sistemi di sviluppo integrati
#include <stdio.h> int main(void){
printf(
“Cogito ergo sum.\n”
);return
A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione
Università degli Studi di Brescia
15
Dev-C++
!
Dev-C++ è un IDE per programmi C/C++
!
Dev-C++ compila i programmi
A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione
Università degli Studi di Brescia
17
Dev-C++: Salva Programma
Dev-C++:
A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione
Università degli Studi di Brescia
19