dipartimento di elettronica e informazione algoritmi e basi del c struttura di un programma marco d....
TRANSCRIPT
![Page 1: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/1.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Algoritmi e basi del CAlgoritmi e basi del CStruttura di un programmaStruttura di un programma
Marco D. Santambrogio – [email protected]. aggiornata al 17 Marzo 2015
![Page 2: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/2.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
CompitiniCompitini
• Compitini di INFO: 24 Aprile 2015• 4.15pm @ C.G.1 (Ed. 9)
21 Maggio 2015• 10.30am @ S.0.2 (Ed. 3)
17 Giugno 2015• 1.30pm @ I.0.1 (Ed. 4)
2
![Page 3: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/3.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
CompitiniCompitini
• Compitini di INFO: 24 Aprile 2015• 4.15pm @ C.G.1 (Ed. 9)
21 Maggio 2015• 10.30am @ S.0.2 (Ed. 3)
17 Giugno 2015• 1.30pm @ I.0.1 (Ed. 4)
3
![Page 4: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/4.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Primo Lab: Installation Primo Lab: Installation PartyParty
• Dove: EG.7: per studenti senza PC L26.14: per PC muniti
• Quando: 23 Marzo @ 3.30pm
4
![Page 5: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/5.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Per i labPer i lab
Indirizzo base:base = home.deib.polimi.it/santambr/dida/ieim/2015
•Info in generale sui labbase/labs.htm
•Strumenti usanti in labbase/tools.htm
5
![Page 6: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/6.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Benvenuti nel Benvenuti nel fantastico mondo fantastico mondo del Cdel C
6
![Page 7: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/7.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Il primo programma: ciao Il primo programma: ciao mondomondo
7
![Page 8: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/8.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Ciao Mondo: stdio.hCiao 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.
8
![Page 9: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/9.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Ciao Mondo: mainCiao Mondo: main
• Tutti i programmi in C contengono un elemento principale: Il main
• main contiene le istruzioni che verranno eseguite all’avvio del nostro programma
9
![Page 10: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/10.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Ciao Mondo: mainCiao 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
10
![Page 11: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/11.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Ciao Mondo: printfCiao Mondo: printf
11
![Page 12: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/12.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Ciao Mondo: printfCiao Mondo: printf
• Stampa a video il mesaggio “Ciao Mondo!”
• printf e’ contenuta in stdio.h
• Il messaggio da stampare e’ contenuto tra “”
12
![Page 13: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/13.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Ciao Mondo: printfCiao 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
13
![Page 14: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/14.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
14
Struttura di un Struttura di un programma Cprogramma C
![Page 15: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/15.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
15
• Parte dichiarativa: contiene le dichiarazioni degli elementi del programma Dati, ed eventualmente funzioni (ma solo nella parte
globale)
Struttura di un Struttura di un programma Cprogramma C
![Page 16: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/16.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
16
Struttura di un Struttura di un programma Cprogramma C
inclusione librerie / per poter invocare funzioni utili (i/o, ...) /dichiarazione di variabili globali e funzioni
parte dichiarativa globale
![Page 17: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/17.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
17
Struttura di un Struttura di un programma Cprogramma C
inclusione librerie / per poter invocare funzioni utili (i/o, ...) /dichiarazione di variabili globali e funzioni
int main ( ) {
}
parte dichiarativa globale
Ogni programma C deve contenere un modulo int main() {...}
![Page 18: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/18.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
18
Struttura di un Struttura di un programma Cprogramma C
inclusione librerie / per poter invocare funzioni utili (i/o, ...) /dichiarazione di variabili globali e funzioni
int main ( ) {
dichiarazione di variabili locali
}
parte dichiarativa locale
parte dichiarativa globale
Ogni programma C deve contenere un modulo int main() {...}
![Page 19: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/19.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
19
• Parte dichiarativa: contiene le dichiarazioni degli elementi del programma Dati, ed eventualmente funzioni (ma solo nella parte
globale)
• Parte esecutiva: contiene le istruzioni da eseguire, che ricadono nelle categorie: Istruzioni di assegnamento () Strutture di controllo:• Condizionali (if-then-else e switch)• Iterative, o cicli (while, do e for)
Istruzioni di Input/Output (printf, scanf, ...)
Struttura di un Struttura di un programma Cprogramma C
![Page 20: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/20.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
20
Struttura di un Struttura di un programma Cprogramma C
inclusione librerie / per poter invocare funzioni utili (i/o, ...) /dichiarazione di variabili globali e funzioni
int main ( ) {
dichiarazione di variabili locali
istruzione 1; / tutti i tipi di operazioni, e cioè: /istruzione 2; / istr. di assegnamento / istruzione 3; / istr. di input / output /istruzione 4; / istr. di controllo (condizionali, cicli) /...istruzione N;
}
parte esecutiva
parte dichiarativa locale
parte dichiarativa globale
Ogni programma C deve contenere un modulo int main() {...}
![Page 21: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/21.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
21
Istruzioni semplici e Istruzioni semplici e compostecomposte
• Sequenze di istruzioni semplici Ogni istruzione semplice termina con ; ; è detto il “terminatore” dell’istruzione
• Si possono raggruppare più istruzioni in sequenza tra { e } a costituire un blocco Il blocco costituisce una “super-istruzione”
• Non è necessario il ; dopo }, in quanto il blocco è già una istruzione e non necessita del terminatore per
diventarla
![Page 22: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/22.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Mostra caratteriMostra caratteri
• Problema Si scriva un programma che richieda
l’inserimento di un carattere e lo mostri a video
22
![Page 23: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/23.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Mostra caratteriMostra caratteri
• Problema Si scriva un programma che richieda
l’inserimento di un carattere e lo mostri a video
• Sotto-problema E dove lo salvo il carattere???
23
![Page 24: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/24.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Variabili e assegnamentiVariabili e assegnamenti
24
Le variabili non sono altro che dei contenitori (aree di memoria) identificati da un nome univoco.Le variabili vengono definite da un tipo e da un nome.
![Page 25: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/25.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Mostra caratteriMostra caratteri
• Problema Si scriva un programma che richieda
l’inserimento di un carattere e lo mostri a video
25
![Page 26: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/26.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Mostra caratteriMostra caratteri
• Problema Si scriva un programma che richieda
l’inserimento di un carattere e lo mostri a video
26
![Page 27: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/27.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Tipo carattere e codifica ASCIITipo carattere e codifica ASCII
27
![Page 28: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/28.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Ricordate il Ricordate il ““3232””
28
![Page 29: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/29.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Un esempio di calcolo Un esempio di calcolo
29
![Page 30: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/30.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Variabili e loro valoreVariabili e loro valore
• Problema Come assegno un valore ad un
variabile???
30
![Page 31: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/31.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
31
Esecuzione degli Esecuzione degli assegnamentiassegnamenti
• valutazione dell’espressione che compare a destra del simbolo =
il valore delle variabili che vi compaiono si trova memorizzato nelle celle corrispondenti, e da lì è letto
• memorizzazione del risultato dell'espressione nella variabile a sinistra del simbolo =
![Page 32: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/32.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
32
x = 23;w = 'a';y = z;alfa = x + y;r3 = ( alfa * 43 – xgg ) * ( delta – 32 * j );x = x + 1;
Abbreviazioni (operatori di assegnamento):
a = a + 7; a = a * 5; a = a + 1; a = a - 1;a += 7; a *= 5; ++a; --a;
Esempi di assegnamentoEsempi di assegnamento
Istruzioni della forma variabile = variabile operatore espressione;si possono scrivere come: variabile operatore = espressione;
![Page 33: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/33.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
33
• Operatori aritmetici in C: * per la moltiplicazione e / per la divisione La divisione tra interi elimina il resto (quoziente):
13 / 5 è uguale a 2 L’operatore modulo calcola il resto della
divisione: 13 % 5 è uguale a 3
• Precedenza degli operatori: Come in aritmetica, moltiplicazione e divisione
hanno priorità su addizione e sottrazione• si usano le parentesi quando c’è ambiguità
Per esempio: la media aritmetica di a, b, c: a + b + c / 3 NO !!!! (a + b + c ) / 3 SI
Aritmetica (1/2)Aritmetica (1/2)
![Page 34: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/34.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
34
Aritmetica (2/2)Aritmetica (2/2)Operazione Operatore C Espressione
aritmeticaEspressione C
Addizione + f+7 f + 7Sottrazione - p-c p – cMoltiplicazione * bm b * mDivisione / x/y x / yModulo % r mod s r % s
Operatori C Operazioni Precedenza
( ) Parentesi Valutate per prime. Se ci sono degli annidamenti, si valuta prima la coppia più interna. Se ci sono più coppie allo stesso livello, si valuta da sinistra a destra.
* , / , % Moltiplicazione, Divisione, Modulo
Valutate per seconde. Se ce ne sono diverse, si valutano da sinistra a destra.
+ , – Addizione, Sottrazione
Valutate per ultime. Se ce ne sono diverse, si valutano da sinistra a destra.
![Page 35: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/35.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Come interagiamo con Come interagiamo con ““l’esternol’esterno”?”?
• Input printf viene utiizzata per fornire un
output del programma a video
35
![Page 36: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/36.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Come interagiamo con Come interagiamo con ““l’esternol’esterno”?”?
• Input printf viene utiizzata per fornire un
output del programma a video
• Output scanf viene utilizzato per fornire degli
input, e.g. da tastiera, al nostro programma
36
![Page 37: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/37.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Inserimento datiInserimento dati
• Problema Richiedi all’utente la sua altezza in
centrimentri e mostrala a video in metri
• Pseudocodice1.Scrivi “quanto sei alto?”2.Leggi altezzacm3.Altezzam = alteccacm/1004.Scrivi “sei alto: altezzam”
37
![Page 38: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/38.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Pseudocodice vs Codice CPseudocodice vs Codice C
• Pseudocodice
1. Scrivi “quanto sei alto?”2. Leggi altezzacm3. Altezzam = alteccacm/1004. Scrivi “sei alto: altezzam”
38
![Page 39: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/39.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Un primo errore Un primo errore
39
![Page 40: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/40.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Un secondo erroreUn secondo errore
40
![Page 41: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/41.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Un terzo erroreUn terzo errore
41
![Page 42: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/42.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Soluzione correttaSoluzione corretta
42
L ’importanza dei tipi di dato
![Page 43: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/43.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Tipi di dato in CTipi di dato in C
• In C esistono diversi tipi di dato built-in, tra cui int: numeri interi float: 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 definire dei nuovi tipi di dato
43
![Page 44: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/44.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Problemi di fine giornata…Problemi di fine giornata…
• Scrivere un programma che, letti due numeri, individua quello maggiore
• Rappresentare in pseudocodice l’agoritmo che, letti 3 numeri, ne calcola il minimo comune multiplo
44
![Page 45: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata](https://reader036.vdocuments.net/reader036/viewer/2022081518/5542eb77497959361e8e17b2/html5/thumbnails/45.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Fonti per lo studio + Fonti per lo studio + CreditsCredits• Fonti per lo studio
how to solve it, Poyla G• http://math.hawaii.edu/home/pdf/putnam/
PolyaHowToSolveIt.pdf Informatica arte e mestiere, S. Ceri, D.
Mandrioli, L. Sbattella, McGrawHill• Capitolo 3
Introduzione ai sistemi informatici, D. Sciuto, G. Buonanno, L. Mari, 4a Ed, McGrawHill• Capitolo 3, 4
The Art & Craft of Computing, S. Ceri, D. Mandrioli, L. Sbattella, Addison-Wesley• Capitolo 3
45