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

Slides:



Advertisements
Presentazioni simili
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Marzo 2013 Marco D. Santambrogio – Gianluca Durelli -
Advertisements

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array, matrici Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
Process synchronization
Stringhe di caratteri In linguaggio C.
Informatica Generale Marzia Buscemi
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.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Recap sul C Marco D. Santambrogio – Ver. aggiornata al 11 Aprile 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stringhe e Puntatori Marco D. Santambrogio – Ver. aggiornata al 18 Marzo 2013.
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 Stringhe e tipi di dati strutturati Marco D. Santambrogio – Ver. aggiornata al.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2: 25 Marzo 2013 Marco D. Santambrogio – Gianluca Durelli -
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 29 Aprile 2013 Gianluca Durelli – Marco D. Santambrogio –
Process synchronization
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
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
Politecnico di Milano Esercizi Stringhe Ricerca binaria.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
Massimo Comun Divisore
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Input/output 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.
14 marzo 2002 Avvisi:.
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.
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR Introduzione al C Esercitazione 5 D. Bloisi, A.
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 3: 31 Marzo 2014 Marco D. Santambrogio – Gianluca Durelli –
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 Lab 4: 10 Aprile 2014 Marco D. Santambrogio – Gianluca Durelli –
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 –
Algoritmi e basi del C Struttura di un programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 2: 20 Aprile 2015 Marco D. Santambrogio – Gianluca Durelli –
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 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.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – Matteo Ferroni –
Process synchronization
Transcript della presentazione:

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

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

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

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

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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 6 Da int a ASCII

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

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

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; }

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

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

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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Inserisci nome 13

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

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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Una prima soluzione con IF 16

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Proviamo con lo switch 17

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Limportanza di break 18

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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Controlliamo gli ingressi 20

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

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

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

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

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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Inserisci nome con copia stringa 26

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

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

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 29

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE MCD: codice

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

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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ora dovrebbe essere chiara… 33

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

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 35