230 likes | 370 Views
Lab 1 – Info B. Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – cattaneo@elet.polimi.it Ver. aggiornata al 12 Ottobre 2013. Obiettivi. Imparare ad usare l ’ ambiente di sviluppo Cosa è e come funziona un compilatore Sistemazione degli ambienti di sviluppo
E N D
Lab 1 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – cattaneo@elet.polimi.it Ver. aggiornata al 12 Ottobre 2013
Obiettivi • 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
Lab 1: Agenda • Informazioni sui laboratori • Benvenuti nel fantastico mondo del C • Esercizi Lab1
Lab 1: Agenda • Informazioni sui laboratori • Benvenuti nel fantastico mondo del C • Esercizi Lab1
Calendario dei Labs • 15 Ottobre2013, 10am-12pm, @ LM1 • Installation Party: strumenti di sviluppo per ilcorso di Info B • 22 Ottobre2013, 10am-12pm, @ LM1 • C: Strutture di controllo e cicli • 29 Ottobre2013, 10am-12.45pm, @ LM1 • C: array e matrici • 12 Novembre 2013, 10am-12.45pm, @ LM1 • C: tipi di dato e strutture
Calendario dei Labs • 10 Dicembre 2013, 12pm-2pm, @ LM1 • MATLAB: Ambienti di sviluppo e primicodici • 7Gennaio 2014, 10am-12.45pm, @ LM1 • MATLAB: strutture di controllo, tipi di datostrutturato, e vettori • 14 Gennaio2014, 10am-12.45pm, @ LM1 • MATLAB: funzioniricorsive • 21 Gennaio 2014, 10am-12.45pm, @ LM1 • MATLAB: funzioniricorsive, funzioni di ordinesuperiore, grafici 2D e 3D
Struttura • 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 questoanno: Home/1314 Calendario: Home/calendario.htm Video: Home/1314/video.htm
Lab 1: Agenda • Informazioni sui laboratori • Benvenuti nel fantastico mondo del C • Ambiente di sviluppo • Un primo programma • Esercizi Lab1
Ambienti di sviluppo • C • Un compilatore C • g++, gcc • MinGW: http://www.mingw.org/ • Un editor/IDE • Code::Blocks: http://www.codeblocks.org/ • Geany: http://www.geany.org/ • DevC++: http://www.bloodshed.net/devcpp.html • Matlab • Matlab: http://www.mathworks.it/products/matlab/ • Octave: http://www.gnu.org/software/octave/ • QtOctave: http://www.malinc.se/math/octave/mainen.php • Virtual Machine già pronte • http://home.deib.polimi.it/santambr/dida/infob/1314/labgb/tools.htm
Ambiente di sviluppo • Useremo un ambiente basato su distribuzioni Linux: • Sulle macchine del lab • 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)
Ambiente – CentOS o VM Editor: gedit Shell: bash
Struttura di un programma C parte dichiarativa globale parte dichiarativa locale parte esecutiva 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; } Ogni programma C deve contenere un modulo int main() {...}
Tutorial: bash e gcc • Ecco alcuni comandi utili per utilizzare la shellbash: • $ pwd - (PrintWorking 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 • gccFILE.c -o PROG • Questo comando traduce il codice sorgente presente in FILE.c e lo salva nel file eseguibile PROG
HowTo: compilare ed eseguire • 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
Lab 1: Agenda • Informazioni sui laboratori • Benvenuti nel fantastico mondo del C • Esercizi Lab1
Exe 1: Stampa a video • Scrivere un programma in C che visuallizzi a video la seguente scritta: INFOB - 2013/2014 Laboratorio 1 Studente: Nome Cognome Matricola: #mat
Exe 2: Trova errori • Il seguente programma non funziona…
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
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
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= 0.3048 m) • pound in Kg (1lb = 453.59237g) • yard in metri (1yd = 0.9144m)