Microsoft Windows e Dev-C++ -...

10
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++ A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione Università degli Studi di Brescia 2 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 ! Software utilizzati: Dev-C++, MS-Excel

Transcript of Microsoft Windows e Dev-C++ -...

Page 1: Microsoft Windows e Dev-C++ - zeus.ing.unibs.itzeus.ing.unibs.it/FI-GES/esercitaz/lucidi/es1-introduzioneC.pdf · Docente: A. Saetti Elementi di Informatica e Programmazione A.A.

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

A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione Università degli Studi di Brescia

2

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 !  Software utilizzati: Dev-C++, MS-Excel

Page 2: Microsoft Windows e Dev-C++ - zeus.ing.unibs.itzeus.ing.unibs.it/FI-GES/esercitaz/lucidi/es1-introduzioneC.pdf · Docente: A. Saetti Elementi di Informatica e Programmazione A.A.

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

A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione Università degli Studi di Brescia

4

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 codice: prima la testa poi la tastiera !

Page 3: Microsoft Windows e Dev-C++ - zeus.ing.unibs.itzeus.ing.unibs.it/FI-GES/esercitaz/lucidi/es1-introduzioneC.pdf · Docente: A. Saetti Elementi di Informatica e Programmazione A.A.

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

A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione Università degli Studi di Brescia

6

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

Page 4: Microsoft Windows e Dev-C++ - zeus.ing.unibs.itzeus.ing.unibs.it/FI-GES/esercitaz/lucidi/es1-introduzioneC.pdf · Docente: A. Saetti Elementi di Informatica e Programmazione A.A.

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

A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione Università degli Studi di Brescia

8

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

standard (C99)

Page 5: Microsoft Windows e Dev-C++ - zeus.ing.unibs.itzeus.ing.unibs.it/FI-GES/esercitaz/lucidi/es1-introduzioneC.pdf · Docente: A. Saetti Elementi di Informatica e Programmazione A.A.

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

A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione Università degli Studi di Brescia

10

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

Page 6: Microsoft Windows e Dev-C++ - zeus.ing.unibs.itzeus.ing.unibs.it/FI-GES/esercitaz/lucidi/es1-introduzioneC.pdf · Docente: A. Saetti Elementi di Informatica e Programmazione A.A.

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

A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione Università degli Studi di Brescia

12

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

Page 7: Microsoft Windows e Dev-C++ - zeus.ing.unibs.itzeus.ing.unibs.it/FI-GES/esercitaz/lucidi/es1-introduzioneC.pdf · Docente: A. Saetti Elementi di Informatica e Programmazione A.A.

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; }

A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione Università degli Studi di Brescia

14

Sistemi di sviluppo integrati

#include <stdio.h> int main(void){ printf(“Cogito ergo sum.\n”);return 0;}

Page 8: Microsoft Windows e Dev-C++ - zeus.ing.unibs.itzeus.ing.unibs.it/FI-GES/esercitaz/lucidi/es1-introduzioneC.pdf · Docente: A. Saetti Elementi di Informatica e Programmazione A.A.

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

16

Dev-C++: Crea/Apri un File

Page 9: Microsoft Windows e Dev-C++ - zeus.ing.unibs.itzeus.ing.unibs.it/FI-GES/esercitaz/lucidi/es1-introduzioneC.pdf · Docente: A. Saetti Elementi di Informatica e Programmazione A.A.

A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione Università degli Studi di Brescia

17

Dev-C++: Salva Programma

A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione Università degli Studi di Brescia

18

Dev-C++: Compila un Programma

Page 10: Microsoft Windows e Dev-C++ - zeus.ing.unibs.itzeus.ing.unibs.it/FI-GES/esercitaz/lucidi/es1-introduzioneC.pdf · Docente: A. Saetti Elementi di Informatica e Programmazione A.A.

A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione Università degli Studi di Brescia

19

Dev-C++: Correzioni Errori di Programmazione

A.A. 2013/2014 Docente: A. Saetti Elementi di Informatica e Programmazione Università degli Studi di Brescia

20

Dev-C++: Esecuzione Programma