1 / 23

Lab 1 – Info B

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

vala
Download Presentation

Lab 1 – Info B

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lab 1 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – cattaneo@elet.polimi.it Ver. aggiornata al 12 Ottobre 2013

  2. 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

  3. Lab 1: Agenda • Informazioni sui laboratori • Benvenuti nel fantastico mondo del C • Esercizi Lab1

  4. Lab 1: Agenda • Informazioni sui laboratori • Benvenuti nel fantastico mondo del C • Esercizi Lab1

  5. 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

  6. 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

  7. 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

  8. Lab 1: Agenda • Informazioni sui laboratori • Benvenuti nel fantastico mondo del C • Ambiente di sviluppo • Un primo programma • Esercizi Lab1

  9. 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

  10. 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)

  11. Ambiente – CentOS o VM Editor: gedit Shell: bash

  12. Come si lanciano…

  13. 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() {...}

  14. Il primo programma: ciao mondo

  15. 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

  16. 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

  17. Lab 1: Agenda • Informazioni sui laboratori • Benvenuti nel fantastico mondo del C • Esercizi Lab1

  18. 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

  19. Exe 2: Trova errori • Il seguente programma non funziona…

  20. 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

  21. 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

  22. 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)

  23. Fine…

More Related