Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoBrunilda Franchi Modificato 11 anni fa
1
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 3 Ottobre 2013
2
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Installation Party Dove: L.06 Quando: Sabato 12 Ottobre 9.00am - 12.00pm 2
3
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEWAT Il docente ha messo in risalto l'utilità delle slide per lo studio individuale, affermando che il prendere appunti possa far diminuire l'attenzione. A tal fine, le slide dovrebbero essere più complete, esplicando i passaggi logici del ragionamento, poiché, nella forma attuale, esse risultano poco chiare se non si ha buona memoria della lezione 3
4
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEWAT 4
5
WAT Nastro di Mobius? Sono d'accordo sul fatto di dover scremare, ma così le terrorizziamo queste matricole... 5
6
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEWAT 6
7
7 Struttura di un programma 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 localeparte dichiarativa globale Ogni programma C deve contenere un modulo int main() {...}
8
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 8 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 programma C
9
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 9 Istruzioni semplici e composte Sequenze di istruzioni semplici Ogni istruzione semplice termina con ; ; è detto il terminatore dellistruzione 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
10
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Mostra caratteri Problema Si scriva un programma che richieda linserimento di un carattere e lo mostri a video 10
11
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Tipo carattere e codifica ASCII 11
12
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ricordate il -32 12
13
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Un esempio di calcolo 13
14
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Variabili e assegnamenti 14 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.
15
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 15 Esecuzione degli assegnamenti valutazione dellespressione 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 =
16
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 16 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 assegnamento Istruzioni della forma variabile = variabile operatore espressione; si possono scrivere come: variabile operatore = espressione;
17
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 17 Operatori aritmetici in C: * per la moltiplicazione e / per la divisione La divisione tra interi elimina il resto (quoziente): 13 / 5 è uguale a 2 Loperatore 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 / 3NO !!!! (a + b + c ) / 3SI Aritmetica (1/2)
18
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 18 Aritmetica (2/2) OperazioneOperatore CEspressione aritmetica Espressione C Addizione + f+7 Sottrazione - p-c p – c Moltiplicazione * bm b * m Divisione / x/y Modulo % r mod s r % s Operatori COperazioniPrecedenza ( ) ParentesiValutate 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.
19
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come interagiamo con lesterno? Input - Output printf viene utiizzata per fornire un output del programma a video scanf viene utilizzato per fornire degli input, e.g. da tastiera, al nostro programma 19
20
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Inserimento dati Problema Richiedi allutente la sua altezza in centrimentri e mostrala a video in metri Pseudocodice 1.Scrivi quanto sei alto? 2.Leggi altezzacm 3.Altezzam = alteccacm/100 4.Scrivi sei alto: altezzam 20
21
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Pseudocodice vs Codice C Pseudocodice 1.Scrivi quanto sei alto? 2.Leggi altezzacm 3.Altezzam = alteccacm/100 4.Scrivi sei alto: altezzam 21
22
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Un primo errore 22
23
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Un secondo errore 23
24
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Un terzo errore 24
25
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Soluzione corretta 25 Limportanza dei tipi di dato
26
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Tipi di dato in C In C esistono diversi tipi di dato built-in, tra cui int: numeri interi oat: 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 denire dei nuovi tipi di dato 26
27
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problemi di fine giornata… Scrivere un programma che, letti due numeri, individua quello maggiore Rappresentare in pseudocodice lagoritmo che, letti 3 numeri, ne calcola il minimo comune multiplo 27
28
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Fonti per lo studio + Credits Fonti per lo studio how to solve it, Poyla G http://math.hawaii.edu/home/pdf/putnam/PolyaHowToSolveIt.p df 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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.