DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – [email protected] Riccardo Cattaneo – [email protected] Ver. aggiornata al 29 Ottobre 2013 Informatica on the web DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Sito dei lab BASE = http://home.dei.polimi.it/santambr/dida/infob BASE/1314/labs.htm • Gruppo su facebook www.facebook.com/groups/InfoBatPoliMI/ 2 Calendario dei Labs DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • 29 Ottobre 2013, 10am-12.45pm, @ LM1 C: array e stringhe • 12 Novembre 2013, 10am-12.45pm, @ LM1 C: Matrici, tipi di dato e strutture 3 Per macchine PoliMI DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE http://virtualdesktop.polimi.it 4 Lab 3: Agenda DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Esercizi Lab3 Warm Up (30’) [array] • Max, min e media (10’) • Copia stringa senza strcpy (20’) Qualche cosa un pò più divertente (45’) Calcolatrice (45’) Altri exe… (80’) Occorrenze (35’) Sottostringhe (45’) • Per casa Calcola occorrenze max (35’) 5 Lab 3: Agenda DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Esercizi Lab3 Warm Up (30’) [array] • Max, min e media (10’) • Copia stringa senza strcpy (20’) Qualche cosa un pò più divertente (45’) Altri exe… (80’) 6 Max, min e media DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva un programma in C che, dato un vettore di 10 numeri, interi, calcoli Il valore massimo, il minimo e la media 7 Max, min e media DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 8 Copia stringa senza strcpy! DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva un programma in C che data una stringa la copia in una seconda, ma senza l’uso di strcpy 9 Copia stringa senza strcpy! DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 10 Copia stringa senza strcpy! DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 11 Copia stringa senza strcpy! DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 12 Lab 3: Agenda DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Esercizi Lab3 Warm Up (30’) [array] Qualche cosa un pò più divertente (45’) Calcolatrice (45’) Altri exe… (80’) 13 La calcolatrice DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si realizzi una calcolatrice capace di: Letti due numeri da tastiera Richieda di eseguire una della 4 operazioni di base (+, -, *. /) 14 Soluzione con IF DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 15 Soluzione con IF: ZOOM DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 16 Proviamo con lo switch DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 17 Con lo switch: ZOOM DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 18 L’importanza di break DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 19 Aggiornameto sui tipi di dato DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Per una divisione corretta… Usiamo i float 20 Controlliamo gli ingressi DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 21 Controlliamo gli ingressi DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 22 Controlliamo gli ingressi DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 23 Lab 3: Agenda DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Esercizi Lab3 Warm Up (30’) [array] Qualche cosa un pò più divertente (45’) Altri exe… (80’) Occorrenze (35’) Sottostringhe (45’) 24 Occorrenze DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva un programma che, ricevuti e salvati in un array N numeri interi positivi, compresi tra 0 e 10 calcoli le occorrenze di ciascuna delle cifre Stampi a video il valore delle occorrenze, solo per i numeri presenti almeno una volta Esempio: a[]={0,4,1,1,1,3,0,0,0,3} 0: 4 1: 3 3: 2 4: 1 25 Occorrenze: Soluzione DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 26 Occorrenze: Dimensione DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 27 Occorrenze: Inserimento e Init DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 28 Occorrenze: Calcola Occorrenze DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 29 Occorrenze: Stampa DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 30 Riceca Vettori DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva un programma che Salvati N numeri interi positivi, compresi tra 0 e 10, nell’array1 Salvati K (K<N) numeri interi positivi, compresi tra 0 e 10, nell’array2 Verifica se l’array 2 è contenuto nell’array1 Esempio1: a1[]={0,4,1,1,1,3,0,0,0,3} a2[]={0,0} a2 è contenuto in a1 Esempio2: a1[]={0,4,1,1,1,3,0,0,0,3} a2[]={5,7,0,1,5} a2 non è contenuto in a1 31 Ricerca Vettori: Dati e Dim DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 32 Ricerca Vettori: Inserimento DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 33 Ricerca Vettori: Trova DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 34 Ricerca Vettori: Stampa DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 35 Fonti per lo studio + Credits DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Fonti per lo studio Informatica arte e mestiere, S. Ceri, D. Mandrioli, L. Sbattella, McGrawHill • Capitolo 5 36 Lab 3: Per casa DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Max, min e media (10’) • Calcola occorrenze max (35’) • Copia stringa senza strcpy (40’) 37 Occorrenze max DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva un programma che, ricevuti e salvati in un array N numeri interi positivi trovi: Il numero massimo e dica quante volte è presente nell’array Esempio: a[]={3,4,1,17,17,5,17} Max: 17 Occorrenze: 3 38 Occorrenze max: soluzione DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 39 Occorrenze max: Dimensione DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 40 Occorrenze max: Inserimento DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 41 Occorrenze max: Ricerca max DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 42 Occorrenze max: Occorrenze DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 43