DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1 – Info B Marco D. Santambrogio – Riccardo Cattaneo –

Slides:



Advertisements
Presentazioni simili
INFORMATICA Altre Istruzioni di I/O
Advertisements

LINGUAGGIO DI PROGRAMMAZIONE C
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Marzo 2013 Marco D. Santambrogio – Gianluca Durelli -
Process synchronization
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
Frontespizio Economia Monetaria Anno Accademico
Algebra di Boole ed elementi di logica
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 20 Marzo 2013.
Algebra di Boole ed elementi di logica
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Algebra di Boole ed elementi di logica
Process synchronization
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 3 Ottobre 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2: 25 Marzo 2013 Marco D. Santambrogio – Gianluca Durelli -
Process synchronization
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Tipi di dati strutturati Marco D. Santambrogio – Ver. aggiornata al 4 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 24 Ottobre 2011 Sadegh Astaneh – Marco D. Santambrogio –
Process synchronization
Process synchronization
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Strutture di controllo in C -- Flow Chart --
Le funzioni.
Espressioni condizionali
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
Massimo Comun Divisore
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
21 marzo 2002 (ri-)Avvisi: Giovedi 28 marzo la lezione e sospesa. Nuovo indirizzo di Spedire messaggi e esercizi solo.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Input/output 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Script 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e stringhe Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 8 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 18 Ottobre.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Marzo 2014 Marco D. Santambrogio – Gianluca Durelli -
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 13 Marzo 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 21 Agosto.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 20 Ottobre 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algebra di Boole ed elementi di logica Marco D. Santambrogio – Ver. aggiornata.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 26 Marzo 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 27 Marzo 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2: 27 Marzo 2014 Marco D. Santambrogio – Gianluca Durelli –
Algoritmi e basi del C Struttura di un programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 8 Aprile 2015.
Algoritmi e basi del C Struttura di un programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 26 Marzo 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 14 Marzo 204.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 28 Ottobre 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 22 Marzo 2016.
Transcript della presentazione:

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1 – Info B Marco D. Santambrogio – Riccardo Cattaneo – Ver. aggiornata al 9 Agosto 2013

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Agenda Informazioni sui laboratori Benvenuti nel fantastico mondo del C Esercizi Lab1 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 Calendario dei Labs 8 Ottobre 2012, LM1 Installation Party: strumenti di sviluppo per il corso di Info B 22 Ottobre 2012, L13 Primi programmi in C: Strutture di controllo e cicli 29 Ottobre 2012, LM1 C: array e matrici 4 Info da aggiornare

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Calendario dei Labs 3 Dicembre 2012, L13 MATLAB: ambiente di sviluppo e primi codici 17 Dicembre 2012, LM1 MATLAB: strutture di controllo, tipi di dato strutturato, e vettori 14 Gennaio 2013, LM1 MATLAB: funzioni ricorsive, funzioni di ordine superiore, grafici 2D e 3D 5 Info da aggiornare

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Agenda Informazioni sui laboratori Benvenuti nel fantastico mondo del C Esercizi Lab1 6

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Premessa: int vs. void main() Lo standard (ANSI C99) prevede luso di int main() con listruzione return 0; al termine del programma Luso di void main() è accettato da quasi tutti i compilatori, fatto salvo la segnalazione di un warning. 7

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Premessa: int vs. void main() Solo con alcuni compilatori viene segnalato un errore, e il programma non viene compilato In tal caso void main() va sostituito con int main(), mettendo listruzione return 0; al termine del programma 8

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Premessa: int vs. void main() 9

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il primo programma: ciao mondo 10

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ciao Mondo: stdio.h Come prima cosa, dobbiamo includere le librerie necessarie al funzionamento del nostro programma. La libreria stdio.h Standard Input Output Permette di utilizzare I comandi necessari per richiedere dati o visualizzare dei messaggi. 11

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ciao Mondo: main Tutti i programmi in C contengono un elemento principale: Il main main contiene le istruzioni che verranno eseguite allavvio del nostro programma 12

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ciao Mondo: main La sequenza di istruzioni che caratterizzano il main sono racchiuse tra parentesi graffe Tale blocco di istruzioni e anche noto come corpo Ogni istruzione deve essere seguita da un punto e virgola 13

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ciao Mondo: printf 14

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ciao Mondo: printf Stampa a video il mesaggio Ciao Mondo! printf e contenuta in stdio.h Il messaggio da stampare e contenuto tra 15

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ciao Mondo: printf return e' un comando che ci permette di comunicare con il sistema ospite In questo caso viene utilizzato per comunicare lo stato di terminazione del programma 0 indica una terminazione corretta del nostro programma 16

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Input - Output printf viene utiizzata per fornire un output del programma a video scanf viene utilizzato per fornire degli input, e.g. da tastiera, al nostro programma 17

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Tipi di dato in C In C esistono diversi tipi di dato built-in, tra cui int: numeri interi oat: numeri con virgola (singola precisione) double: numeri con virgola (doppia precisione) char: caratteri (sono interi che possono variare tra 0-255) Inoltre il C fornisce anche la possibilità di denire dei nuovi tipi di dato 18

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Mostra caratteri Problema Si scriva un programma che richieda linserimento di un carattere e lo mostri a video 19

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Tipo carattere e codifica ASCII 20

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sommare

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Un esempio di calcolo 22

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE HELP: errori sullinput 23

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Agenda Informazioni sui laboratori Benvenuti nel fantastico mondo del C Esercizi Lab1 Warm Up printf Correggi errori Qualche cosa un pò più divertente Inserimento di dati dallutente Verifica ingressi Altri exe… MCD 24

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe1: printf Problema Scrivere un programma in C che visuallizzi a video la seguente scritta: Informatica B /2013 Laboratorio 1 Studente: Nome Cognome Matricola: #mat 25

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe1: printf Possibile soluzione 26

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe2: Trova errori Problema 27

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEDebugger 28 Questa è la barra del debugger. Iniziamo il debug premendo il primo tasto a sinistra (Debug/Continue). Per fermare lesecuzione in certi punti, clicchiamo vicino al numero di riga con il tasto destro e scegliamo Set breakpoint (compare un pallino rosso, vedi riga 7 e 9)

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEDebugger 29 Una volta partito il debug, possiamo scegliere varie opzioni. Noi useremo solo Watches, per vedere il contenuto delle variabili

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEDebugger 30 Lesecuzione si ferma alla riga 7. Nel riquadro in basso vediamo il valore della variabile numero prima che gli venga assegnato un valore

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEDebugger 31 Ora siamo fermi alla riga 9, il valore delle variabile numero è cambiato

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe3: Inserimento dati Problema Richiedi allutente la sua altezza in centrimentri e mostrala a video in metri Pseudocodice 1.Scrivi quanto sei alto? 2.Leggi altezzacm 3.Altezzam = alteccacm/100 4.Scrivi sei alto: altezzam 32

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Pseudocodice vs Codice C Pseudocodice 1.Scrivi quanto sei alto? 2.Leggi altezzacm 3.Altezzam = alteccacm/100 4.Scrivi sei alto: altezzam 33

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Un primo errore 34

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Un secondo errore 35

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Un terzo errore 36

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Soluzione corretta 37 Limportanza dei tipi di dato

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Vero e falso in C In C non esiste un tipo di dato specico per rappresentare i concetti vero e falso Una condizione assume un valore intero pari a 0 se la condizione è falsa 1 se la condizione è vera In generale, ogni valore diverso da zero è considerato vero ( 3 ) VERO ( 1 ) VERO ( a – a ) FALSO 38

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe4: Gestione errori sullinput Problema Preso un carattere inserito da tastiera lo scrive a video in maiuscolo (e.g. a-->A) Nota Per potervi applicare la trasformazione di nostro interesse Dobbiamo prima verificare che il dato sia coerente con quanto ci aspettiamo 39

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEPseudocodice Dati Linsieme dei caratteri ammissibili {a, b, c, …, z} 1. Richiedere linserimento di un carattere 2. Se carattere inserito corretto 3. Allora stampa a video carattere Altrimenti stampa a video un messaggio di errore 40

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Maiuscolo: codice 41

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Maiuscolo: esecuzione 42

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Gestione errori sullinput Problema Preso un dato inserito da tastiera Per potervi applicare la trasformazione di nostro interesse Dobbiamo prima verificare che il dato sia coerente con quanto ci aspettiamo Soluzione Definire linsieme dei caratteri validi Verificare lappartenenza del carattere inserito, allinsieme dei caratterei validi 43

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEPseudocodice Dati Linsieme dei caratteri ammissibili {a, b, c, …, z} 1. Richiedere linserimento di un carattere 2. Se carattere inserito corretto 3. Allora stampa a video carattere Altrimenti stampa a video un messaggio di errore 44

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Maiuscolo: codice 45

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Maiuscolo: esecuzione 46

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe5: Massimo Comune Divisore Definizione Dicesi Massimo Comune Divisore (M.C.D.) il piu grande tra i divisori comuni a due o piu numeri Esempi Dati A=12, B=15 Divisori comuni: 1, 3 - MCD=3 Dati A=10, B=30 e C=20 Divisori comuni: 1, 2, 5, 10 - MCD=10 47

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE MCD: pseudocodice 1.Leggi A e B 2.min= il minimo tra A e B 3.tmp = 1 4.MCD = 1 5.Finche tmp < min 1.tmp = tmp Se tmp divide A e B 1.Allora MCD = tmp 6.Stampa MCD 48

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE MCD: codice

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Fonti per lo studio + Credits Fonti per lo studio Informatica arte e mestiere, S. Ceri, D. Mandrioli, L. Sbattella, McGrawHill Capitolo 3 Credits Emanuele Panigati 50