DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 1 – Info B
Marco D. Santambrogio – [email protected]
Matteo Ferroni – [email protected]
Ver. aggiornata al 24 Agosto 2015
Sono il vostro docente?
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
2
No? Aula sbagliata!!!
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
3
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
4
Lab 1: Agenda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Informazioni sui laboratori
• Benvenuti nel fantastico mondo del C
• Esercizi Lab1
5
Lab 1: Agenda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Informazioni sui laboratori
• Benvenuti nel fantastico mondo del C
• Esercizi Lab1
6
Calendario dei Labs: C
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 20 Ottobre 2015, 10am-12pm, @ B6.27
 Installation Party: strumenti di sviluppo per il corso di Info
B
• 27 Ottobre 2015, 10.30am-12.30pm, @ B6.27
 C: Strutture di controllo e cicli
• 10 Novembre 2015, 10.30am-1.30pm, @ B6.27
 C: array e matrici
• 17 Novembre 2015, 10.30am-1pm, @ B6.27
 C: tipi di dato e strutture
7
Calendario dei Labs: MATLAB
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 15 Dic 2015, 10.30am-12.30pm, @ B6.27
 MATLAB: Ambienti di sviluppo e primi codici
• 12 Gennaio 2016, 10.30am-12.30pm, @ B6.27
 MATLAB: strutture di controllo, tipi di dato strutturato, e
vettori
• 19 Gennaio 2016, 10.30am-12.30pm, @ B6.27
 MATLAB: funzioni ricorsive
• 26 Gennaio 2016, 10.30am-12.30pm, @ B6.27
 MATLAB: funzioni ricorsive, funzioni di ordine superiore,
grafici 2D e 3D
8
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.deib.polimi.it/santambr/dida/infob
Corso di questo anno: Home/1516
Calendario: Home/calendario.htm
Video: Home/1516/video.htm
9
Lab 1: Agenda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Informazioni sui laboratori
• Benvenuti nel fantastico mondo del C
 Ambiente di sviluppo
 Un primo programma
• Esercizi Lab1
10
Ambienti di sviluppo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
(
• C
 Un compilatore C
• g++, gcc
MinGW: http://www.mingw.org/
OR•
AND
 Un editor/IDE
OR ••
OR •
Code::Blocks: http://www.codeblocks.org/
Geany: http://www.geany.org/
DevC++: http://www.bloodshed.net/devcpp.html
• Matlab
AND
http://www.mathworks.it/products/matlab/
OR  Matlab:
Octave: http://www.gnu.org/software/octave/
OR  QtOctave: http://www.malinc.se/math/octave/mainen.php
)
• Virtual Machine già pronte
OR
 http://home.deib.polimi.it/santambr/dida/infob/1415/labgb/tools.htm
• Ambiente PoliMI
OR
11
Scriviamo il programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
12
Scriviamo il programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
13
Scriviamo il programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Virtual Desktop
 https://virtualdesktop.polimi.it
14
Per macchine PoliMI
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
https://virtualdesktop.polimi.it
15
Scriviamo il programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Virtual Desktop
 https://virtualdesktop.polimi.it
• Lanciando CodeBlock
 http://tinyurl.com/1st-codeblock
16
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
17
Desktop “VM”
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
18
Come eseguire Geany
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
19
Come eseguire Geany
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
“Cliccando” l’icona
20
Come eseguire Geany
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Dal menù
21
Ecco Geany
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
22
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
23
Come si lanciano…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
24
Ambiente – “Linux” o VM
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Editor:
gedit
Shell:
bash
25
Il primo programma: ciao mondo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
26
Provate voi…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
27
Provate voi…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
28
Provate voi…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Come faccio il #?
29
Provate voi…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Come faccio il #?
 ALT + à
30
Provate voi…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Come faccio il #?
 ALT + à
• Come faccio le graffe?
31
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 }
32
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!
33
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
34
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
35
Lab 1: Agenda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Informazioni sui laboratori
• Benvenuti nel fantastico mondo del C
• Esercizi Lab1
36
Exe 1: Stampa a video
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Scrivere un programma in C che
visuallizzi a video la seguente scritta:
INFOB - 2015/2016
Laboratorio 1
Studente: Nome Cognome
Matricola: #mat
37
Exe 2: Trova errori
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Il seguente programma non funziona…
38
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
39
Exe 4: Gestione errori sull’input
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma in C che ammete
l’inserimento da tastiera solo di numeri
dispari e compresi tra 1 e 7
40
Exe 5: Inserimento dati
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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)
41
Fine…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
42
Scarica

V2 - PPT - Dipartimento di Elettronica ed informazione