DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1 Info
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1 – Info B Marco D. Santambrogio – marco. santambrogio@polimi. it Riccardo Cattaneo – cattaneo@elet. polimi. it Ver. aggiornata al 20 Ottobre 2014
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 Lab 1 3
Lab 1: Agenda DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Informazioni sui laboratori • Benvenuti nel fantastico mondo del C • Esercizi Lab 1 4
Calendario dei Labs: C DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • 21 Ottobre 2014, 10 am-12 pm, @ LM 1 § Installation Party: strumenti di sviluppo per il corso di Info B • 28 Ottobre 2014, 10 am-12 pm, @ LM 1 § C: Strutture di controllo e cicli • 4 Novembre 2014, 10 am-12. 45 pm, @ LM 1 § C: array e matrici • 18 Novembre 2014, 10 am-1. 45 pm, @ LM 1 § C: tipi di dato e strutture 5
Calendario dei Labs: MATLAB DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • 2 Dicembre 2014, 10 am-12 pm, @ LM 1 § MATLAB: Ambienti di sviluppo e primi codici • 13 Gennaio 2015, 10 am-12 pm, @ LM 1 § MATLAB: strutture di controllo, tipi di dato strutturato, e vettori • 20 Gennaio 2015, 10 am-12. 45 pm, @ LM 1 § MATLAB: funzioni ricorsive • 27 Gennaio 2015, 10 am-12. 45 pm, @ LM 1 § MATLAB: funzioni ricorsive, funzioni di ordine superiore, grafici 2 D e 3 D 6
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, . . . ) • E 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/1415 Calendario: Home/calendario. htm Video: Home/1415/video. htm 7
Lab 1: Agenda DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Informazioni sui laboratori • Benvenuti nel fantastico mondo del C § Ambiente di sviluppo § Un primo programma • Esercizi Lab 1 8
Ambienti di sviluppo DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE ( • C § Un compilatore C AND • g++, gcc Min. GW: http: //www. mingw. org/ OR • § Un editor/IDE OR • • OR • Code: : Blocks: http: //www. codeblocks. org/ Geany: http: //www. geany. org/ Dev. C++: http: //www. bloodshed. net/devcpp. html AND • Matlab http: //www. mathworks. it/products/matlab/ OR §§ Matlab: Octave: http: //www. gnu. org/software/octave/ OR § Qt. Octave: 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 Poli. MI OR 9
Scriviamo il programma DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 10
Scriviamo il programma DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE ? ? ? e m o c E 11
Scriviamo il programma DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Virtual Desktop § https: //virtualdesktop. polimi. it 12
Per macchine Poli. MI DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE https: //virtualdesktop. polimi. it 13
Scriviamo il programma DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Virtual Desktop § https: //virtualdesktop. polimi. it • Lanciando Code. Block § http: //tinyurl. com/1 st-codeblock 14
Scriviamo il programma DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Virtual Desktop § https: //virtualdesktop. polimi. it • Lanciando Code. Block § http: //tinyurl. com/1 st-codeblock • Usando la VM (e. g. Didattica) e quindi lanciando Geany 15
Desktop “VM” DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 16
Come eseguire Geany DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 17
Come eseguire Geany DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE “Cliccando” l’icona 18
Come eseguire Geany DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Dal menù 19
Ecco Geany DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 20
Scriviamo il programma DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Virtual Desktop § https: //virtualdesktop. polimi. it • Lanciando Code. Block § http: //tinyurl. com/1 st-codeblock • Usando la VM (e. g. Didattica) e quindi lanciando Geany • Usando la VM (e. g. Didattica) e aprendo un editor di testo 21
Come si lanciano… DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 22
Ambiente – “Linux” o VM DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Editor: gedit Shell: bash 23
Il primo programma: ciao mondo DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 24
Provate voi… DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 25
Provate voi… DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 26
Provate voi… DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Come faccio il #? 27
Provate voi… DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Come faccio il #? § ALT + à 28
Provate voi… DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Come faccio il #? § ALT + à • Come faccio le graffe? 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 } 30
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! 31
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 e 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 32
How. To: 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 33
Lab 1: Agenda DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Informazioni sui laboratori • Benvenuti nel fantastico mondo del C • Esercizi Lab 1 34
Exe 1: Stampa a video DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Scrivere un programma in C che visuallizzi a video la seguente scritta: INFOB - 2014/2015 Laboratorio 1 Studente: Nome Cognome Matricola: #mat 35
Exe 2: Trova errori DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Il seguente programma non funziona… 36
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 37
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 38
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 (1 ft= 0. 3048 m) § pound in Kg (1 lb = 453. 59237 g) § yard in metri (1 yd = 0. 9144 m) 39
Fine… DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 40
- Slides: 40