DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 0: 23 Marzo 2015
Marco D. Santambrogio – [email protected]
Gianluca Durelli - [email protected]
Ver. aggiornata al 19 Marzo 2015
Obiettivi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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
Lab 1: Agenda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Informazioni sui laboratori
• Benvenuti nel fantastico mondo del C
• Esercizi Lab1
3
Lab 1: Agenda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Informazioni sui laboratori
• Benvenuti nel fantastico mondo del C
• Esercizi Lab1
4
Calendario dei Labs
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Dove: EG 7/L.26.14
• Quando
 Lunedì: 15.30 – 18.30
• Macchine per il lab:
 Il vostro portatile
 Macchina lab: virtualdesktop
5
Struttura
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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: http://home.dei.polimi.it/santambr/dida/ieim/2015/
Calendario: http://home.dei.polimi.it/santambr/dida/ieim/calendario.htm
6
Installation Party: Agenda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Informazioni sui laboratori
• Benvenuti nel fantastico mondo del C
 Ambiente di sviluppo
 Un primo programma
• Esercizi Lab1
7
Ambienti di sviluppo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• C
(
 Un compilatore C
• g++, gcc
OR• MinGW: http://www.mingw.org/
AND  Un editor/IDE
• Code::Blocks: http://www.codeblocks.org/
OR • Geany: http://www.geany.org/
OR • DevC++: http://www.bloodshed.net/devcpp.html
)
OR• Virtual Machine già pronte
 http://home.deib.polimi.it/santambr/dida/ieim/2015/
tools.htm
• Ambiente PoliMI
OR
8
Scriviamo il programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
9
Scriviamo il programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
10
Scriviamo il programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Virtual Desktop
 https://virtualdesktop.polimi.it
11
Per macchine PoliMI
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
https://virtualdesktop.polimi.it
12
Scriviamo il programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Virtual Desktop
 https://virtualdesktop.polimi.it
• Lanciando CodeBlock
 http://tinyurl.com/1st-codeblock
13
Scriviamo il programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Virtual Desktop
 https://virtualdesktop.polimi.it
• Lanciando CodeBlock
 http://tinyurl.com/1st-codeblock
• Usando la VM (e.g. Didattica) e quindi
lanciando Geany
14
Desktop “VM”
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
15
Come eseguire Geany
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
16
Come eseguire Geany
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
“Cliccando” l’icona
17
Come eseguire Geany
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Dal menù
18
Ecco Geany
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
19
Scriviamo il programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Virtual Desktop
 https://virtualdesktop.polimi.it
• Lanciando CodeBlock
 http://tinyurl.com/1st-codeblock
• Usando la VM (e.g. Didattica) e quindi
lanciando Geany
• Usando la VM (e.g. Didattica) e aprendo
un editor di testo
20
Come si lanciano…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
21
Ambiente – “Linux” o VM
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Editor:
gedit
Shell:
bash
22
Il primo programma: ciao mondo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
23
Provate voi…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
24
Provate voi…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
25
Provate voi…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Come faccio il #?
26
Provate voi…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Come faccio il #?
 ALT + à
27
Provate voi…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Come faccio il #?
 ALT + à
• Come faccio le graffe?
28
Provate voi…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Come faccio il #?
 ALT + à
• Come faccio le graffe?
 (shift)+(alt gr)+(è) per la {
 (shift)+(alt gr)+(+) per la }
29
Provate voi…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Come faccio il #?
 ALT + à
• Come faccio le graffe?
 (shift)+(alt gr)+(è) per la {
 (shift)+(alt gr)+(+) per la }
• Ora scrivete il vostro primo programma!
30
Tutorial: bash e gcc
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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
31
HowTo: compilare ed eseguire
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Per poter eseguire il nostro programma, bisogna tradurlo in
codice macchina
 Questa operazione viene eseguita dal compilatore (e.g., gcc)
• 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
32
Installation Party: Agenda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Informazioni sui laboratori
• Benvenuti nel fantastico mondo del C
• Esercizi Installation Party
33
Da Lezione: Inserimento dati
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Problema
 Richiedi all’utente la sua altezza in
centrimentri e mostrala a video in metri
• Pseudocodice
1.Scrivi “quanto sei alto?”
2.Leggi altezzacm
3.Altezzam = alteccacm/100
4.Scrivi “sei alto: altezzam”
34
Pseudocodice vs Codice C
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Pseudocodice
1.
2.
3.
4.
Scrivi “quanto sei alto?”
Leggi altezzacm
Altezzam = alteccacm/100
Scrivi “sei alto: altezzam”
35
Un primo errore
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
36
Un secondo errore
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
37
Un terzo errore
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
38
Soluzione corretta
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
39
Exe 1: Stampa a video
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Scrivere un programma in C che
visuallizzi a video la seguente scritta:
IEIM - 2015
Laboratorio 1
Studente: Nome Cognome
Matricola: #mat
40
Exe 2: Trova errori
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Il seguente programma non funziona…
41
Exe 3: Mostra caratteri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma che richieda
l’inserimento di un carattere e lo mostri
a video, con anche la sua codifica
ASCII
42
Exe 4: Gestione errori sui caratteri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma in C che richiede
l’inserimento di due caratteri e li mostra
a video
43
Exe 5: Inserimento dati
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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)
44
Fine…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
45
Scarica

V0 - PPT