DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: 17 -20 Marzo 2014 Marco D. Santambrogio –...
-
Upload
andrea-orlando -
Category
Documents
-
view
218 -
download
0
Transcript of DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: 17 -20 Marzo 2014 Marco D. Santambrogio –...
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 1: 17 -20 Marzo Lab 1: 17 -20 Marzo 20142014
Marco D. Santambrogio – [email protected] Durelli - [email protected]
Ver. aggiornata al 17 Marzo 2014
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
17 Marzo17 Marzo
2
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
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
Lab 1: AgendaLab 1: Agenda
• Informazioni sui laboratori
• Benvenuti nel fantastico mondo del C
• Esercizi Lab1
5
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Calendario dei LabsCalendario dei Labs
• Dove: EG 7
• Quando Lunedì: 15.30 – 18.30 Giovedì: 13.30 – 16.30
• Macchine per il lab: Il vostro portatile Macchina lab: virtualdesktop
6
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Per macchine PoliMIPer macchine PoliMI
http://virtualdesktop.polimi.it
7
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/2014http://home.dei.polimi.it/santambr/dida/ieim/2014//
Calendario: http://home.dei.polimi.it/santambr/dida/ieim/calendario.htmhttp://home.dei.polimi.it/santambr/dida/ieim/calendario.htm
8
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
FeedbackFeedback
Come per le lezioni, anche per i lab si possono dare feedback
http://tinyurl.com/IEIM2014-http://tinyurl.com/IEIM2014-FeedbackLabFeedbackLab
9
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
10
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)
11
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Ambiente – CentOS o VMAmbiente – CentOS o VM
12
Shell: bashShell: bash
Editor:
gedit
Editor:
gedit
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Come si Come si lancianolanciano……
13
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
14
Struttura di un programma Struttura di un programma CC
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
15
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
16
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
17
• 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
18
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 - 2013/2014Laboratorio 1Studente: Nome CognomeMatricola: #mat
19
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 2: Trova erroriExe 2: Trova errori
• Il seguente programma non funziona…
20
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
21
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 4: Gestione errori sui Exe 4: Gestione errori sui carattericaratteri
• Si scriva un programma in C che richiede l’inserimento di due caratteri e li mostra a video
22
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 Un programma per conversione
• 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)
23
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Fine…Fine…
24