DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: 18 -21 Marzo 2013 Marco D. Santambrogio –...
-
Upload
coco-caruso -
Category
Documents
-
view
220 -
download
1
Transcript of DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: 18 -21 Marzo 2013 Marco D. Santambrogio –...
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 1: 18 -21 Marzo 2013Lab 1: 18 -21 Marzo 2013
Marco D. Santambrogio – [email protected] Durelli - [email protected]
Ver. aggiornata al 21 Marzo 2013
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
ObiettiviObiettivi
• Imparare ad usare l’ambiente 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: AgendaLab 1: Agenda
• Informazioni sui laboratori
• Benvenuti nel fantastico mondo del C
• Esercizi Lab1
3
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 1: AgendaLab 1: Agenda
• Informazioni sui laboratori
• Benvenuti nel fantastico mondo del C
• Esercizi Lab1
4
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calendario dei LabsCalendario dei Labs
• Dove: EG 7
• Quando Lunedì: 15.30 – 18.30 Giovedì: 13.00 – 16.00
• Macchine per il lab: Il vostro portatile Macchina lab:
5
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
StrutturaStruttura
• 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, ...)
• E una proposta, ci sono molti modi diversi di ottenere gli stessi risultati
• Per info, fare riferimento al sito del corso:Home: http://home.dei.polimi.it/santambr/dida/ieim/2013/http://home.dei.polimi.it/santambr/dida/ieim/2013/Calendario: http://home.dei.polimi.it/santambr/dida/ieim/calendario.htmhttp://home.dei.polimi.it/santambr/dida/ieim/calendario.htm
6
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
FeedbackFeedback
Come per le lezioni, anche per i lab si possono dare feedback
http://tinyurl.com/Feedback-LabIEIM2013http://tinyurl.com/Feedback-LabIEIM2013
7
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 1: AgendaLab 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 sviluppoAmbiente 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 VMAmbiente – CentOS o VM
10
Shell: bashShell: bash
Editor: gedit
Editor: gedit
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Come si Come si lancianolanciano……
11
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
12
Struttura di un Struttura di un programma Cprogramma 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 locale
parte dichiarativa globale
Ogni programma C deve contenere un modulo int main() {...}
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Il primo programma: ciao Il primo programma: ciao mondomondo
13
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Tutorial: bash e gccTutorial: 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 eseguireHowTo: 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: AgendaLab 1: Agenda
• Informazioni sui laboratori• Benvenuti nel fantastico mondo del C
• Esercizi Lab1
16
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 1: Stampa a videoExe 1: Stampa a video
• Scrivere un programma in C che visuallizzi a video la seguente scritta:
IEIM - 2012/2012Laboratorio 1Studente: Nome CognomeMatricola: #mat
17
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 2: Trova erroriExe 2: Trova errori
• Il seguente programma non funziona…
18
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 3: Mostra caratteriExe 3: Mostra caratteri
• Si scriva un programma che richieda l’inserimento di un carattere e lo mostri a video, con anche la sua codifica ASCII
19
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 4: Gestione errori Exe 4: Gestione errori sullsull’’inputinput
• Si scriva un programma in C che ammete l’inserimento da tastiera solo di numeri dispari e compresi tra 1 e 7
20
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 5: Inserimento datiExe 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= 0.3048 m) pound in Kg (1lb = 453.59237g) yard in metri (1yd = 0.9144m)
21
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 6: funzioniExe 6: funzioni
• Si scriva un programma in C che proponga all’utente 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 INFORMAZIONE
Fine…Fine…
23