Microsoft Windows e Dev-C++ Introduzione al Linguaggio C ed all IDE DEV-C++ 1 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 2
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 3 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! 4
Linguaggi di Programmazione CODIFICA INFORMAZIONI Insiemi di simboli da rappresentare DATI Insiemi di simboli {0,1} INTERPRETAZIONE 5 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 6
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 7 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) 8
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 9 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 10
Algortimo Calcolare il massimo tra 2 numeri Compilatore Editor.obj File sorgente Esempio: prog.c Librerie.lib File eseguibile Esempio: prog.exe Linker Programma eseguibile 11 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 12
Sistemi di sviluppo integrati /* Stampa a video una stringa */ #include <stdio.h> int main(void) { } printf( Cogito ergo sum.\n ); return 0; 13 Sistemi di sviluppo integrati #include <stdio.h> int main(void){ printf( Cogito ergo sum.\n );return 0;} 14
Dev-C++! Dev-C++ è un IDE per programmi C/C++! Dev-C++ compila i programmi 15 Dev-C++: Crea/Apri un File 16
Dev-C++: Salva Programma 17 Dev-C++: Compila un Programma 18
Dev-C++: Correzioni Errori di Programmazione 19 Dev-C++: Esecuzione Programma 20