DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – [email protected] Matteo Ferroni – [email protected] Ver. aggiornata al 24 Agosto 2015 Calendario dei Labs: C DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • 20 Ottobre 2015, 10am-12pm, @ LM1 Installation Party: strumenti di sviluppo per il corso di Info B • 27 Ottobre 2015, 10.30am-12.30pm, @ LM1 C: Strutture di controllo e cicli • 10 Novembre 2015, 10.30am-1.30pm, @ LM1 C: array e matrici • 17 Novembre 2015, 10.30am-1pm, @ LM1 C: tipi di dato e strutture 2 Per macchine PoliMI DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE https://virtualdesktop.polimi.it 3 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’) Ricerca vettori (45’) • Per casa Calcola occorrenze max (35’) 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’) Altri exe… (80’) 5 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 6 Max, min e media DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 7 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 8 Copia stringa senza strcpy! DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 9 Copia stringa senza strcpy! DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 10 Copia stringa senza strcpy! DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 11 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’) 12 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 (+, -, *. /) 13 Soluzione con IF DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 14 Soluzione con IF: ZOOM DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 15 Proviamo con lo switch DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 16 Con lo switch: ZOOM DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 17 L’importanza di break DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 18 Aggiornameto sui tipi di dato DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Per una divisione corretta… Usiamo i float 19 Controlliamo gli ingressi DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 20 Controlliamo gli ingressi DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 21 Controlliamo gli ingressi DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 22 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’) Ricerca vettori (45’) 23 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 24 Occorrenze: Soluzione DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 25 Occorrenze: Dimensione DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 26 Occorrenze: Inserimento e Init DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 27 Occorrenze: Calcola Occorrenze DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 28 Occorrenze: Stampa DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 29 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 30 Ricerca Vettori: Dati e Dim DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 31 Ricerca Vettori: Inserimento DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 32 Ricerca Vettori: Trova DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 33 Ricerca Vettori: Stampa DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 34 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 35 Lab 3: Per casa DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Max, min e media (10’) • Calcola occorrenze max (35’) • Copia stringa senza strcpy (40’) 36 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 37 Occorrenze max: soluzione DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 38 Occorrenze max: Dimensione DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 39 Occorrenze max: Inserimento DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 40 Occorrenze max: Ricerca max DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 41 Occorrenze max: Occorrenze DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 42