DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Marzo 2013 Marco D. Santambrogio – Gianluca Durelli - Ver. aggiornata al 21 Marzo 2013
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEObiettivi Imparare ad usare lambiente di sviluppo Cosa è e come funziona un compilatore Sistemazione degli ambienti di sviluppo Comandi base da linea di comando Esercitarsi sui costrutti visti a lezione Inserimento dati da tastiera Controllo dei dati Uso delle funzioni 2
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Agenda Informazioni sui laboratori Benvenuti nel fantastico mondo del C Esercizi Lab1 3
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Agenda Informazioni sui laboratori Benvenuti nel fantastico mondo del C Esercizi Lab1 4
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Calendario dei Labs Dove: EG 7 Quando Lunedì: – Giovedì: – Macchine per il lab: Il vostro portatile Macchina lab: 5
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEStruttura Tolte le slide di contesto su Obiettivi Elenco esercizi Approccio dritto al sodo, niente "fronzoli": Introduzione all'uso di un editor di testo e di una shell Non useremo un IDE (e.g., code::blocks, eclipse,...) È una proposta, ci sono molti modi diversi di ottenere gli stessi risultati Per info, fare riferimento al sito del corso: Home: Calendario: 6
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEFeedback Come per le lezioni, anche per i lab si possono dare feedbackhttp://tinyurl.com/Feedback-LabIEIM2013 7
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Agenda Informazioni sui laboratori Benvenuti nel fantastico mondo del C Ambiente di sviluppo Un primo programma Esercizi Lab1 8
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ambiente di sviluppo Useremo un ambiente basato su distribuzioni Linux: Sulle macchine del lab, CentOS Sui vostri portatili… Per sviluppare del codice C, è sufficiente avere: Un editor di testo, magari con syntax highlighting (e.g., geany, gedit) - Un compilatore (e.g., gcc) 9
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ambiente – CentOS o VM 10 Shell: bash Editor: gedit
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come si lanciano… 11
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 12 Struttura di un programma C inclusione librerie / per poter invocare funzioni utili (i/o,...) / dichiarazione di variabili globali e funzioni int main ( ) { dichiarazione di variabili locali istruzione 1; / tutti i tipi di operazioni, e cioè: / istruzione 2; / istr. di assegnamento / istruzione 3; / istr. di input / output / istruzione 4; / istr. di controllo (condizionali, cicli) /... istruzione N; } parte esecutiva parte dichiarativa localeparte dichiarativa globale Ogni programma C deve contenere un modulo int main() {...}
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il primo programma: ciao mondo 13
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Tutorial: bash e gcc Ecco alcuni comandi utili per utilizzare la shell bash: $ pwd - (Print Working Directory) visualizza la directory corrente $ ls - elenca i file presenti nella cartella corrente $ cd CARTELLA - cambia la cartella corrente a CARTELLA $./PROG - esegue il programma specificato (se è nella cartella corrente) Questi pochi comandi sono sufficienti per individuare ed eseguire un programma Per compilare un sorgente, abbiamo usato il comando gcc gcc FILE.c -o PROG Questo comando traduce il codice sorgente presente in FILE.c e lo salva nel file eseguibile PROG 14
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE HowTo: compilare ed eseguire Scritto e salvato il file sorgente (e.g., sul Desktop, nel file primo.c), Dobbiamo compilare ed eseguire un programma utilizzando una shell (e.g., bash) $ cd Desktop $ gcc primo.c –o exe $./exe 15 Per poter eseguire il nostro programma, bisogna tradurlo in codice macchina Questa operazione viene eseguita dal compilatore (e.g., gcc)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Agenda Informazioni sui laboratori Benvenuti nel fantastico mondo del C Esercizi Lab1 16
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 1: Stampa a video Scrivere un programma in C che visuallizzi a video la seguente scritta: IEIM /2012 Laboratorio 1 Studente: Nome Cognome Matricola: #mat 17
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 2: Trova errori Il seguente programma non funziona… 18
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 3: Mostra caratteri Si scriva un programma che richieda linserimento di un carattere e lo mostri a video, con anche la sua codifica ASCII 19
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 4: Gestione errori sullinput Si scriva un programma in C che ammete linserimento da tastiera solo di numeri dispari e compresi tra 1 e 7 20
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 5: Inserimento dati Si scriva un convertitore di unità dal sistema SI al US customary units Ci interessano solo le seguenti conversioni piedi in metri (1ft= m) pound in Kg (1lb = g) yard in metri (1yd = m) 21
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 6: funzioni Si scriva un programma in C che proponga allutente un menu a 5 voci le cinque opzioni solo i cinque problemi risolti in precedenza Si scriva un nuovo programma in cui I 5 precendenti programmi ora sono 5 funzioni (non più main) 22
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEFine… 23