La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Riccardo Cattaneo –"— Transcript della presentazione:

1 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – cattaneo@elet.polimi.it Ver. aggiornata al 9 Agosto 2013

2 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2: Obiettivi Strutture di controllo e cicli, array e stringhe 2

3 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2: Agenda Esercizi Lab2 Warm Up (50) Da int a ASCII (10) La ricerca del maggiore su N numeri (20 +10) Inserisci nome (10) Qualche cosa un pò più divertente (85) calcolatrice (35) La gara di tuffi, con salvataggio (40) Inserisci nome e copia stringa (10) Altri exe… (105) MCD (50) mcm (55) 3

4 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2: Agenda Esercizi Lab2 Warm Up (50) Da int a ASCII (10) La ricerca del maggiore su N numeri (20 +10) Inserisci nome (10) Qualche cosa un pò più divertente (85) calcolatrice (35) La gara di tuffi, con salvataggio (40) Inserisci nome e copia stringa (10) Altri exe… (105) MCD (50) mcm (55) 4

5 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Da int a ASCII Problema Si scriva un programma che richieda l'inserimento di un carattere. Si mostri quindi a video: 1. il carattere inserito 2. la codifica ASCII del carattere 5

6 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 6 Da int a ASCII

7 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il maggiore tra N numeri Problema Trovare il maggiore tra N numeri inseriti da tastiera Soluzione Conoscere N Richiedere linserimento degli N valori Ricerca del maggiore tra gli N valori 7

8 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il maggiore - for: codice 8

9 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 9 ATTENZIONE Il ciclo for for ( exp.A; cond; exp.I ) { ist.1;... ist.N; } exp.A; while ( cond ) { ist.1;... ist.N; exp.I; }

10 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 10 cont = 0; while (cont < N) { …; cont++; } for (cont = 0; cont < N; cont++) { …; } Il ciclo for

11 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il maggiore – while Vs for 11

12 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 12 Inserisci nome Si scriva un programma in C che mostri a video la scritta: Ciao Nome, dove: Ciao è stato inserito in una stringa di lunghezza non definita a priori Nome è un dato inserito dallutente Si supponga che possa essere salvato in una stringa di 10 caratteri

13 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Inserisci nome 13

14 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2: Agenda Esercizi Lab2 Warm Up (50) Da int a ASCII (10) La ricerca del maggiore su N numeri (20 +10) Inserisci nome (10) Qualche cosa un pò più divertente (85) calcolatrice (35) La gara di tuffi, con salvataggio (40) Inserisci nome e copia stringa (10) Altri exe… (105) MCD (50) mcm (55) 14

15 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problema 1: la calcolatrice Si realizzi una calcolatrice capace di: Letti due numeri da tastiera Richieda di eseguire una della 4 operazioni di base (+, -, *. /) 15

16 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Una prima soluzione con IF 16

17 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Proviamo con lo switch 17

18 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Limportanza di break 18

19 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Aggiornameto sui tipi di dato Per una divisione corretta… Usiamo i float 19

20 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Controlliamo gli ingressi 20

21 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Gara di tuffi, con salvataggio Problema Si hanno10 giudici 1 giudice = 1 voto Si vogliono memorizzare i 10 voti, per poterli rileggere Ogni voto è nellitervallo 0-10 Dato un tuffo, calcolare La media dei voti Il voto massimo ed il voto minimo 21

22 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come salvare i voti... 22

23 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 23 char str1[32]; / str1 ha spazio per 32 char. / char str2[64]; / str2 ha spazio per 64 char. / / inizializza str1 con la stringa "alfa" / strcpy(str1, "alfa"); / str1 contiene "alfa" / / copia str1 in str2 / strcpy(str2, str1); / str2 contiene "alfa" / / lunghezza di str1 / x = strlen(str1); / x assume valore 4 / / scrivi str1 su standard output / printf("%s", str1); / scrive str1 su stdout / / leggi str1 da standard input / scanf("%s", str1); / str1 riceve da stdin / Operazioni su stringhe

24 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 24 char str1[32]; char str2[64]; scanf("%s", str1); > ciao / ora str1 contiene "ciao" / strcpy(str2, str1);/ str2 riceve "ciao" / val = strlen(str2); / val = 4 / printf("%s\n", str2); > ciao/ stampa "ciao" / Attenzione: strlen("") vale 0 ! Operazioni su stringhe

25 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 25 Inserisci nome con copia stringa Si scriva un programma in C che mostri a video la scritta: Ciao Nome, dove: Ciao è stato inserito in una stringa di lunghezza non definita a priori Nome è un dato inserito dallutente Si supponga che possa essere salvato in una stringa di 10 caratteri Nome deve essere salvato in una stringa stringa1 e copiato in una seconda stringa stringa3

26 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Inserisci nome con copia stringa 26

27 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2: Agenda Esercizi Lab2 Warm Up (50) Da int a ASCII (10) La ricerca del maggiore su N numeri (20 +10) Inserisci nome (10) Qualche cosa un pò più divertente (85) calcolatrice (35) La gara di tuffi, con salvataggio (40) Inserisci nome e copia stringa (10) Altri exe… (105) MCD (50) mcm (55) 27

28 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 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 28

29 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 + 1 2.Se tmp divide A e B 1.Allora MCD = tmp 6.Stampa MCD 29

30 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE MCD: codice

31 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEmcm Si scriva un programma che, accettati due numeri interi positivi da tastiera, ne calcola il minimo comune multiplo 31

32 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE mcm: una prima soluzione 32 Possiamo rimuoverlo? Provateci a casa ;)

33 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ora dovrebbe essere chiara… 33

34 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problemi di fine giornata… Trovare il maggiore tra N numeri positivi inseriti da tastiera (richiedendo il numero se negativo) Dati N numeri, dire se questi sono tutti positivi Dati N numeri, riportarne a video il modulo Dati N numeri, riportarne a video il modulo, dopo averli letti tutti N 34

35 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 e 6 Credits Emanuele Panigati https://sites.google.com/site/engpanigati/ 35


Scaricare ppt "DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Riccardo Cattaneo –"

Presentazioni simili


Annunci Google