Dispensa 3 CORSO DI PROGRAMMAZIONE A.A CORSO DI LAUREA IN SCIENZE E TECNOLOGIE INFORMATICHE CESENA. Laboratorio

Documenti analoghi
Obiettivo. Dal problema al risultato Algoritmo. Imparare a PROGRAMMARE

Cosa vedremo. Lezione 4. Dati. Tipo di dato. Tipo di dato. I Dati: Gli oggetti che conosce il computer

IToolS AT commands server. Version /11/2012

= CAPITOLO I SISTEMI DI NUMERAZIONE E CODICI

Fondamenti di Informatica (lettere

Start S Inizio. Fine X 5. Qualsiasi istruzione

Mon Ami Gestione della packing list

e/fiscali - Rel

e/fiscali - Rel

Aggiornamento remoto della chiave hardware

Giuseppe Contu. Conoscenza di base di MS Excel 2003.

E/Fiscali - Rel

Moduli di candidatura elettronici LLP Guida del candidato

E.C.M. Educazione Continua in Medicina. Servizi web. Manuale utente

RILEVAZIONE DELLE OPINIONI DEGLI STUDENTI COMPILAZIONE ON-LINE. Manuale Operativo STUDENTI

Classificazioni dei linguaggi di programmazione

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Guida per la compilazione on-line delle domande di partecipazione al concorso

Al termine dell operazione verrà visualizzato il modulo aggiunto

CRITERI DI DEFINIZIONE DI APPARECCHIATURA CRITICA E VITALE

Libri sociali. Che cosa è il libro soci?

DIREZIONE SERVIZI INFORMATICI. All. A. Copernico formalità Manuale Utente

Appendice 1 Elementi di elettrotecnica

INPS. Area Aziende. Procedura Internet per la trasmissione delle domande relative agli sgravi contrattazione di II livello per l anno 2009

Programmazione in Java (I modulo)

Valutazione obiettivi Manuale operativo del valutatore

4 C. Prati. Il teorema del campionamento

SenTaClAus Sentiment Tagging & Clustering Analysis on web & social contents

1. Il computer: un insieme di elementi

CASSETTA DEGLI ATTREZZI STANDARD. Tipo Ente: Asl. Ufficio: Assistenza 118. Servizio: Servizio 118

LABORATORI DI INFORMATICA 1 MANUALE STUDENTE

RILEVAZIONE DELLE OPINIONI DEGLI STUDENTI COMPILAZIONE ON-LINE

INPS. Cassetto Previdenziale aziende ComBid mobile. Manuale utente. Direzione Centrale Sistemi Informativi e Tecnologici.

Equazioni. Prerequisiti. Definizioni e concetti generali. Incognita Lettera (di solito X) alla quale è possibile sostituire dei valori numerici

e/fiscali - Rel

Mon Ami Gestione della packing list

RELAZIONI TRA VARIAIBLI

Regione Calabria Dipartimento n.9 Lavori Pubblici ed Infrastrutture

JEmeLogHQB. Installazione. Requisiti di sistema. è possibile copiare e far funzionare il tutto anche da chiave USB.

INTRODUZIONE AI SEGNALI

Capitolo 14. Preparazione dei file di stampa e stampa degli elaborati. Copyright A.D.M. srl Tutti i diritti riservati

VERIFICA IN CONTINUA E IN ALTERNATA DEL COMPORTAMENTO DI UN CONDENZATORE

CASSETTA DEGLI ATTREZZI STANDARD. Tipo Ente: Comune. Ufficio: Anagrafe. Servizio: Rilascio certificati

Appendice A. Appunti di Matematica Discreta

Una Promozione è costituita dalla definizione di una proposta di vendita di uno o più Articoli ad un prezzo diverso da quello normale di vendita.

Approvazione delle specifiche tecniche per la trasmissione telematica dei dati contenuti nel modello di dichiarazione Unico ENC

FAQ MIUR ESEMPI DI DETERMINAZIONE DELL INTERVENTO FINANZIARIO

Lo scopo di Gladiator è ottenere una combinazione vincente di simboli dopo la rotazione dei rulli.

I l L i n g u a g g i o d e l C o m p u t e r

ISTRUZIONI PER INIZIARE

SOMMATORI. Il circuito di figura, detto sommatore invertente, fornisce in uscita una combinazione lineare dei segnali d ingresso, del tipo V

GESTIONE ANAGRAFE CREDITI

La tecnica FMEA di prodotto

Screening del tumore della cervice uterina

LIBRERIA CONCESSIONARIA

Corso per allenatori di Primo Grado. L allenamento tattico attraverso il gioco

Grazie per aver scelto un telecomando Meliconi.

CASSETTA DEGLI ATTREZZI STANDARD

COME AIUTARE TUO FIGLIO A STUDIARE E A FARE I COMPITI A CASA

SERVIZIO TELEMATICO ENTRATEL

Rappresentazione binaria delle variabili (int e char)

Modulo CSP-AD: Comunicazione stagionali pluriennali anni successivi. Istruzioni di compilazione

Calcolo dell interesse semplice

Laurea triennale in: Ingegneria Gestionale Ingegneria Informatica e dell'informazione. Vademecum per

LE NUOVE FUNZIONALITA

( ) ( ) d x = ω. dsenθ dθ. d 2 senθ dθ 2. = d dθ. = sen θ. = d cosθ dθ. d 2 cosθ dθ. dcosθ dθ. = cosθ dθ. = d( senθ) = d sen θ dθ

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

PANEM Panificazione automatizzata rev. 1.0

Guida per l Amministra ScuolaFamiglia

L'obiettivo di Rocky è quello di ottenere simboli di combinazioni vincenti girando i rulli.

ONIRIM 1-2 giocatori Gioco base. Ci sono quattro tipi di carte:

Variabili e Istruzioni

Astrazioni: Programma svolto in Fondamenti di Informatica 1

Foglio Elettronico Lezione 1

Calcolo Costo Residuo

ESAME DI FONDAMENTI DI INFORMATICA T-2 del 27/06/2011 Proff. E. Denti G. Zannoni Tempo a disposizione: 4 ore MAX

E/Fiscali - Rel

SMS Line Control - Area SX srl. SMS LINE CONTROL Sistema di telecontrollo via web. Manuale Utente. Versione Manuale Utente Pagina 1

INFORMATICA PER LA SCUOLA DIGITALE

SOFTWARE per la gestione degli ospiti. Cartella Utente WEB

Un catalogo in linea: come utilizzarlo?

Via F. Lana, FLERO (BS) Tel Fax gruppo axelera.

Istruzioni per lo Svolgimento della Prova

SCHEMA DI VALUTAZIONE DELL OFFERTA

CASSETTA DEGLI ATTREZZI STANDARD. Tipo Ente: Provincia. Ufficio: Centri per l impiego

Protocolli applicativi

Novità relative all assessment tool

Sommario. 1 Interoperabilità...1

Novità: Correzione di errori: Altro

Modo d impiego CONTROL PLUS. Vi ringraziamo per aver scelto un telecomando Meliconi. UTILIZZO TASTI E FUNZIONI

MODULO DI RICHIESTA AGGIORNAMENTO DELL ISTANZA: AGGIORNAMENTO, INSERIMENTO O CANCELLAZIONE RESPONSABILI TECNICI E AMMINISTRATIVI (PERSONE FISICHE)

Procedura Internet per la trasmissione delle domande relative agli sgravi contrattazione di II livello per l anno 2014.

Università degli Studi di Lecce Facoltà di Ingegneria Informatica N.O. A.A. 2003/2004. Tesina Esame di Elettronica Analogica II

La gestione informatizzata del farmaco

il gioco Art. 1 - Regole del gioco Art. 2 - Livelli di difficoltà Art. 3 - Categorie Art. 4 - Figure professionali Pag. 2

PROGETTO S.A.I.A. Software XML v.2 - Tracciati AP5

Struttura dei programmi C

AppuntiBicoccaAppuntiBicoccaAppu ntibicoccaappuntibicoccaappuntibic occaappuntibicoccaappuntibicoccaa ppuntibicoccaappuntibicoccaappunt

Internet Explorer

Manuale di abilitazione M.E.C. Mercato Elettronico CEV - Operatore Economico

Transcript:

CORSO DI LAUREA IN SCIENZE E TECNOLOGIE INFORMATICHE CESENA CORSO DI PROGRAMMAZIONE A.A. 2013-14 Dispensa 3 Labratri Dtt. Mirk Ravaili e-mail: mirk.ravaili@unib.it http://www.prgrammazine.inf

Crs di Prgrammazine A.A. 2013-14 Dispensa 3 3.2 Output frmattat: printf() Per visualizzare un numer, ccrre utilizzare le funzini per l utput frmattat. La funzine printf() accetta un numer variabile di argmenti, cme minim un. Il prim e unic argment richiest è la stringa di frmat, che indica cme frmattare l utput. Gli argmenti pzinali sn variabili ed espressini di cui visualizzare i valri Ad esempi: L istruzine printf( Cia a tutti! ); visualizza il messaggi: Cia a tutti sull scherm. In quest cas è utilizzat un unic argment: la stringa di frmat che cntiene la stringa letterale da visualizzare sull scherm L istruzine printf( %d,i); visualizza il valre della variabile intera i. La stringa di frmat cntiene sltant l indicatre %d, che indica di mstrare un singl inter decimale. Il secnd argment è il nme della variabile L istruzine printf( %d più %d uguale %d,a, b, a+b); visualizza (suppnend che le variabili a e b cntengan rispettivamente 2 e 3) 2 più 3 uguale 5 sull scherm. In quest cas vi sn quattr argmenti: una stringa di frmat cntenente il test letterale e indicatri di frmat, due variabili ed un espressine di cui visualizzare i valri. La stringa di frmat di printf() può cntenere quant segue: Zer, un più cmandi di cnversine che indican cme visualizzare un valre dell elenc degli argmenti. Un cmand di cnversine è cstituit da % seguit da un più caratteri I caratteri che nn fann parte di un cmand di cnversine sn visualizzati csì cme sn. Di seguit sn descritti i cmpnenti del cmand di cnversine. Quelli tra parentesi sn pzinali: %[mdificatre][campminim][precisine][mdificatrelunghezza]specificacnversine dve: mdificatre può essere una cmbinazine (in qualsiasi rdine) dei seguenti simbli (tra parentesi i simbli): (-) il risultat della cnversine e' allineat a sinistra all' intern del camp definit da campminim, il default e' l' allineament a destra (+) specifica che il segn davanti al numer verrà sempre stampat. Il risultat di cnversini di tipi cn segn inizia cn + (se psitivi) - (se negativi); il default e' che il segn (-) appare sl davanti ai negativi (spazi) inserisce un spazi davanti al valre se il prim carattere nn e' un segn (#) frmat alternativ (cn piccle variazini) per la maggir parte delle specifiche di cnversine Se il carattere di cnversine e' (ttale) e se il valre da cnvertire e' divers da zer, il prim carattere stampat e' 0. Se il carattere di cnversine e' x X (esadecimale) e se il valre da cnvertire nn e' null, i primi caratteri stampati sarann 0x 0X a secnda che la direttiva sia x X. 0 (zer) il camp viene riempit cn zeri invece che cn spazi (il default) campminim: se il valre cnvertit ha men caratteri del camp quest viene riempit da spazi, il valre di campminim pu' essere un inter *. In quest' ultim cas il valre deve essere un inter inserit nella lista degli argmenti della printf, subit prima dell' espressine interessata da quest frmat. Pagina 2 di 9

Crs di Prgrammazine A.A. 2013-14 Dispensa 3 precisine: un valre nella frma.n (cn n inter ppure * se viene lett nella lista degli argmenti) dve n e' il : minim numer di cifre per le specifiche i,d,,u,x,x minim numer di cifre dp il punt decimale per le specifiche a,a,e,e,f,f massim numer di cifre significative per le specifiche g,g mdificatrelunghezza: dichiara che la successiva specifica di cnversine deve essere applicata a un stttip inter particlare mdificatre. La lettera h seguita da un dei caratteri di cnversine d, i, u,, x X indica che l'argment e' un shrt int un unsigned shrt int. Il mdificatre l (elle) cn gli stessi caratteri di cnversine, indica che l'argment e' un lng int un unsigned lng int. Il mdificatre L seguit da un dei caratteri di cnversine e, E, f, g G indica che l'argment e' un lng duble il successiv specificatre (i d) si applica ad una espressine signed unsigned char signed unsigned shrt int signed unsigned lng int signed unsigned lng lng int specificacnversine: è l unic bbligatri (a parte %) Stt sn elencati i caratteri di cnversine ed il lr significat: d, i Visualizza un inter cn segn in ntazine decimale u x, X c e, E f s Visualizza un inter senza segn di ntazine decimale Visualizza un inter in ntazine ttale senza segn Visualizza un inter in ntazine esadecimale senza segn. Si utilizza x minuscl per l utput minuscl e X maiuscl per l utput maiuscl Visualizza un singl carattere (indicat dal cdice ASCII) Visualizza un flat un duble in ntazine scientifica ( ad esempi 123.45 è visualizzat cme 1.234500e+002) sei cifre sn visualizzate a destra del punt decimale a men che nn sia specificata un altra precisine cn l indicatre f. si utilizzan e E per l utput minuscl maiuscl Visualizza un flat un duble in ntazine decimale (ad esempi 123.45 è visualizzat cme 123.450000). Sei cifre sn visualizzate a destra. Visualizza una stringa % Visualizza il carattere % La funzine printf() restituisce un valre che individua il numer di caratteri stampati, se il valre è negativ segnala un errre. 3.3 Le Istruzini Un istruzine è un cmand cmplet che indica al cmputer di eseguire un particlare cmpit. In generale in C le istruzini vengn scritte una per gni riga anche se alcune pssn ccupare anche più righe. Tutte le istruzini in C (eccett le direttive #define, #include...) devn terminare cn un punt e virgla (;). Pagina 3 di 9

Crs di Prgrammazine A.A. 2013-14 Dispensa 3 3.3.1 Spazi bianchi e istruzini Cn spazi bianchi ci si riferisce ai veri e prpri spazi, ai caratteri di tabulazine e alle righe vute presenti nel cdice srgente. Il cmpilatre C nn cnsidera gli spazi bianchi e quand legge un istruzine dal cdice srgente cerca il carattere terminatre (il punt e virgla) ignrand tutti gli spazi bianchi presenti. Quindi l istruzine: y=4+3; è equivalente a quella seguente: y = 4 + 3; che a sua vlta è equivalente a: y = 4 + 3; In quest md viene lasciata al prgrammatre la scelta sulla mdalità di frmattazine del prpri cdice. Cmunque nn è cnsigliat utilizzare una frmattazine cme nell ultim esempi: le istruzini dvrebber essere intrdtte una per riga seguend un schema standard per la spaziatura delle variabili e degli peratri. Guardare i vari esempi inseriti nelle dispense i srgenti in allegat per rendersi cnt di cme pter frmattare il prpri cdice. Il C ignra gli spazi bianchi eccett quand questi si trvan all intern di cstanti stringa letterali: infatti in quest cas gli spazi vengn cnsiderati cme parti delle stringhe (quindi cme caratteri della stringa). Una stringa è una sequenza di caratteri e in particlare le cstanti stringhe letterali sn stringhe racchiuse tra dppi apici che vengn interpretate dal cmpilatre in maniera asslutamente letterale, spazi cmpresi. Quindi per esempi l istruzine (anche se slitamente nn usata): printf( Frza Cesena! ); è crretta, mentre quella che segue genera un errre in fase di cmpilazine: printf( Frza Cesena ); Per andare a cap in un istruzine, quand ci trviam in crrispndenza di una cstante stringa letterale ccrre utilizzare il carattere barra inversa (\) prima dell interruzine. La frma crretta per l esempi spra riprtat quindi sarà: printf( Frza\ Cesena ); 3.3.2 Istruzini nulle Se si inserisce un punt e virgla da sl su una riga si ttiene istruzine nulla ciè un istruzine che nn esegue alcuna perazine. 3.3.3 Istruzini cmpste Un istruzine cmpsta, slitamente chiamata blcc, è un grupp di due più istruzini C racchiuse tra parentesi graffe. Ad esempi la przine di cdice che segue è un blcc: { printf( Frza Cesena! ); Pagina 4 di 9

Crs di Prgrammazine A.A. 2013-14 Dispensa 3 } printf( Devi vincere ); In C i blcchi pssn essere utilizzati in qualsiasi punt in cui sia pssibile utilizzare un istruzine singla. Le parentesi graffe pssn essere psizinate in qualsiasi punt ad esempi: {printf( Frza Cesena! ); printf( Devi vincere );} cmunque si cnsiglia di psizinare le graffe su righe diverse, mettend csì in evidenza l inizi e la fine del blcc. In quest md, ltre che rendere il cdice più leggibile, è pssibile accrgersi se ne è stata dimenticata qualcuna. 3.4 Le Espressini In C un espressine è una qualsiasi csa che deve essere valutata cme un valre numeric. Le espressini in C pssn avere qualsiasi livell di cmplessità. 3.4.1 Espressini Semplici Le espressini più semplici cnsistn di un unic ggett, ad esempi una variabile, una cstante letterale simblica. Le cstanti letterali vengn valutate secnd il lr valre, le cstanti simbliche invece cn il valre assegnat lr dalla direttiva #define, le variabili vengn valutate cn il valre assegnate lr dal prgramma. Espressine TASSO Descrizine Una cstante simblica 28 Una cstante letterale stipendi Una variabile 3.678 Una cstante letterale 3.4.2 Espressini Cmplesse Le espressini cmplesse cnsistn di più espressini semplici cmbinate tra di lr attravers degli peratri. Per esempi: 3 + 9 è un espressine frmata dalle due cstanti letterali 3 e 9 e dall peratre smma +. L espressine 3 + 9 viene valutata cme 10. Si pssn scrivere anche espressini mlt più cmplesse: 3.78 + 56 stipendi * mesi / girni Quand un espressine cntiene più peratri, cme nell esempi spra riprtat, il risultat dipende dalla precedenza degli peratri. Cnsideriam la seguente espressine: y = b + 17; in quest cas nell istruzine viene calclat il valre dell espressine b + 17 e viene assegnat il risultat alla variabile y. A sua vlta l istruzine y = b + 17 è un altra espressine che ha il valre nella variabile a sinistra dell uguale, quindi è pssibile anche la scrittura: k = y = b + 17; Pagina 5 di 9

Crs di Prgrammazine A.A. 2013-14 Dispensa 3 in quest cas il risultat viene assegnat sia a y che a k, in particlare prima viene valutata l espressine b + 17, il su valre assegnat alla variabile y, ed in fine il valre di y assegnat alla variabile k. Quindi alla fine dell espressine k e y avrann l stess valre. In C sn pssibili anche espressini di quest tip: k = 8 + (y = 3 + 4); in quest cas dp l esecuzine dell istruzine la variabile y avrà il valre 7, mentre la variabile x il valre 15. In quest cas però le parentesi sn essenziali per la crretta cmpilazine dell istruzine. 3.5 Gli Operatri Un peratre è un simbl che indica al linguaggi di eseguire un perazine, un azine su un più perandi. In C tutti gli peratri sn visti cme delle espressini. 3.5.1 Operatre di Assegnament L peratre di assegnament è il simbl uguale (=). Il su significat e utilizz all intern di un prgramma è divers dal su cnsuet utilizz in matematica. Scrivend: y = k; NON significa che y è uguale a k ma invece assegna il valre di k a y. In un istruzine di assegnament la parte a destra del segn uguale può essere una qualsiasi espressine, mentre la parte di sinistra deve essere il nme di una variabile, quindi la sintassi risulta la seguente: variabile = espressine; Quand l istruzine viene eseguita prima viene valutata l espressine pi il risultat viene assegnat alla variabile. Quindi per esempi: y = 8 + 9; prima viene calclata la smma di 8 + 9 pi il risultat viene assegnat alla variabile y. Alla fine dell istruzine avrem che y avrà il valre 17. Cnsiderand invece: y = 11; k = y + 7; prima viene assegnat a y il valre 11 pi, nell istruzine successiva, viene calclat y + 7 e il risultat assegnat a k. Quindi alla fine delle 2 righe di cdice spra riprtate avrem che y sarà uguale a 11 e k a 18. 3.5.2 Operatri matematici Gli peratri matematici effettuan perazini aritmetiche e si dividn in due categrie: peratri unari e peratri binari. Gli peratri matematici binari peran su due perandi. Questi peratri che cmprendn anche le principali perazini aritmetiche sn elencati nella tabella sttstante: Operatre Simbl Azine Esempi Addizine + Smma i due perandi x + y Sttrazine - Sttrae il secnd perand dal prim x - y Mltiplicazine * Mltiplica i due perandi x * y Pagina 6 di 9

Crs di Prgrammazine A.A. 2013-14 Dispensa 3 Divisine / Divide il prim perand per il secnd x / y Rest (mdul) % Frnisce il rest della divisine del prim perand per il secnd x % y Alcuni esempi di utilizz: /* Prim esempi di utilizz degli peratri matematici */ #include <stdi.h> int main() { int a, b, ris; a = 10; b = 5; ris = a b; printf( risultat di %d-%d=%d\n,a,b,ris); a = 7; b = 3; ris = a * b; printf( risultat di %d*%d=%d\n,a,b,ris); a = 21; b = 7; ris = a / b; printf( risultat di %d/%d=%d\n,a,b,ris); a = 21; b = 10; ris = a / b; printf( risultat di %d/%d=%d\n,a,b,ris); a = 13; b = 5; ris = a % b; printf( risultat di %d %% %d=%d\n,a,b,ris); } return 0; Gli peratri matematici unari hann quest nme in quant richiedn un unic perand. Il C dispne di due peratri unari: increment e decrement e pssn essere utilizzati sl cn le variabili e mai cn le cstanti. Il lr scp è quell di aggiungere sttrarre un unità dall perand specificat. Operatre Simbl Azine Esempi Incrementa ++ Incrementa l perand di una unità y++ ++y Decrementa -- Decrementa l perand di una unità y-- --y Ad esempi le istruzini: ++x; --y; equivalgn a: x = x + 1; Pagina 7 di 9

Crs di Prgrammazine A.A. 2013-14 Dispensa 3 y = y y; Gli peratri pssn essere pstfissi prefissi. Queste due sintassi nn sn equivalenti, ma differiscn per quant riguarda il mment in cui viene effettuata l perazine: Gli peratri prefissi mdifican il prpri perand prima che ne venga utilizzat il valre Gli peratri pstfissi mdifican il prpri perand dp avere utilizzat il valre Vediam un esempi: x = 7; y = x++; Dp l esecuzine di queste due istruzini x vale 8 e y vale 7. Prima il valre di x è stat assegnat a y e sl allra x è stat incrementat. Se cnsideriam invece le seguenti istruzini: x = 7; y = ++x; Dp l esecuzine di queste due istruzini x vale 8 e y vale 8. L peratre = è l peratre di assegnament e nn un peratre di cnfrnt. Eventuali successive mdifiche al valre di x nn hann effett su y. Cnsideriam un esempi: #include <stdi.h> int main() { int a, b; a = 7; b = 7; } return 0; Il risultat del prgramma: 7 6 6 5 5 4 4 3 3 2 La precedenza degli peratri segue il seguente rdine: incrementi e decrementi unari mltiplicazini, divisini e resti smme e sttrazini Se un espressine cntiene più di un peratre cn l stess valre di precedenza le relative perazini vengn eseguite da sinistra a destra. E pssibile mdificare la precedenza attravers l utilizz di parentesi tnde. Ad esempi: Pagina 8 di 9

Crs di Prgrammazine A.A. 2013-14 Dispensa 3 y = 4 + 2 * 3; Dp l istruzine y vale 10. Prima viene eseguit 2*3 al risultat viene aggiunt 4 e il risultat assegnat a y. Cnsideriam: y = 12 % 5 * 2; L peratre % (mdul) e * (mltiplicazine) hann la stessa precedenza quindi le istruzini vengn eseguite da sinistra a destra: prima viene calclat 12%5 che viene 2 che mltiplicat per 2 fa 4 quindi alla fine a y viene assegnat il valre 4. Se utilizziam le parentesi: y = 12 % (5 * 2); Prima viene eseguita la stt espressine individuata dalle parentesi: 5*2 pi il calcl del mdul. Quindi alla fine dell istruzine a y viene assegnat il valre 2. Pagina 9 di 9