DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1 – Info B Marco D. Santambrogio – Matteo Ferroni – Ver. aggiornata al 24 Agosto 2015
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEObiettivi 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: Agenda Informazioni sui laboratori Benvenuti nel fantastico mondo del C Esercizi Lab1 3
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Agenda Informazioni sui laboratori Benvenuti nel fantastico mondo del C Esercizi Lab1 4
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Calendario dei Labs: C 20 Ottobre 2015, LM1 Installation Party: strumenti di sviluppo per il corso di Info B 27 Ottobre 2015, LM1 C: Strutture di controllo e cicli 10 Novembre 2015, LM1 C: array e matrici 17 Novembre 2015, LM1 C: tipi di dato e strutture 5
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Calendario dei Labs: MATLAB 15 Dicembre 2015, LM1 MATLAB: Ambienti di sviluppo e primi codici 12 Gennaio 2016, LM1 MATLAB: strutture di controllo, tipi di dato strutturato, e vettori 19 Gennaio 2016, LM1 MATLAB: funzioni ricorsive 26 Gennaio 2016, LM1 MATLAB: funzioni ricorsive, funzioni di ordine superiore, grafici 2D e 3D 6
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEStruttura 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: Home/1516 Corso di questo anno: Home/1516 Home/calendario.htm Calendario: Home/calendario.htm Home/1516/video.htm Video: Home/1516/video.htm 7
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 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 Ambienti di sviluppo C Un compilatore C g++, gcc MinGW: Un editor/IDE Code::Blocks: Geany: DevC++: Matlab Matlab: Octave: QtOctave: Virtual Machine già pronte Ambiente PoliMI 9 OR AND ( ) OR
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Scriviamo il programma 10
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Scriviamo il programma 11 E come???
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Scriviamo il programma Virtual Desktop 12
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Per macchine PoliMI 13
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Scriviamo il programma Virtual Desktop Lanciando CodeBlock 14
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Scriviamo il programma Virtual Desktop Lanciando CodeBlock Usando la VM (e.g. Didattica) e quindi lanciando Geany 15
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Desktop “VM” 16
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come eseguire Geany 17
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come eseguire Geany 18 “Cliccando” l’icona
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come eseguire Geany 19 Dal menù
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ecco Geany 20
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Scriviamo il programma Virtual Desktop Lanciando CodeBlock Usando la VM (e.g. Didattica) e quindi lanciando Geany Usando la VM (e.g. Didattica) e aprendo un editor di testo 21
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come si lanciano… 22
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ambiente – “Linux” o VM 23 Shell: bash Editor: gedit
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il primo programma: ciao mondo 24
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Provate voi… 25
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Provate voi… 26
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Provate voi… Come faccio il #? 27
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Provate voi… Come faccio il #? ALT + à 28
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Provate voi… Come faccio il #? ALT + à Come faccio le graffe? 29
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Provate voi… Come faccio il #? ALT + à Come faccio le graffe? (shift)+(alt gr)+(è) per la { (shift)+(alt gr)+(+) per la } 30
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Provate voi… 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Tutorial: 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 32
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE HowTo: 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 33 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: Agenda Informazioni sui laboratori Benvenuti nel fantastico mondo del C Esercizi Lab1 34
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 1: Stampa a video Scrivere un programma in C che visuallizzi a video la seguente scritta: INFOB /2016 Laboratorio 1 Studente: Nome Cognome Matricola: #mat 35
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 2: Trova errori Il seguente programma non funziona… 36
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 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 37
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 4: Gestione errori sull’input Si scriva un programma in C che ammete l’inserimento da tastiera solo di numeri dispari e compresi tra 1 e 7 38
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 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= m) pound in Kg (1lb = g) yard in metri (1yd = m) 39
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEFine… 40