Modulo 5 La programazione Unità 4 Selezione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Modulo 5 La programazione Unità 4 Selezione"

Transcript

1 Modulo 5 La programazione Unità 4 Selezione Prof. Antonio Scanu

2 1 Quando si utilizza Il costrutto selezione Questo costrutto permette di effettuare una scelta fra due possibili alternative. Per effettuare una scelta, però, dobbiamo valutare una condizione. Un esempio tratto dalla vita di tutti i giorni potrebbe essere il seguente: SE pioverà ALLORA prenderò l'autobus ALTRIMENTI farò una passeggiata In termini più genera li possiamo scrivere: SE SI VERIFICA LA CONDIZIONE ALLORA ESEGUI ISTRUZIONE1 ALTRIMENTI ESEGUI ISTRUZIONE2 La sintassi di questo costrutto. chiamato più precisamente selezione binaria è la seguente: dove B1 e B2, anche in questo caso possono essere blocchi semplici o composti. Quindi se la Condizione è Vera (V) si esegue il blocco B1 altrimenti, cioè se la Condizione è Falsa (F). si esegue il blocco B2. Il costrutto selezione può presentarsi anche con un solo ramo, cioè senza l'alternativa altrimenti. Questo caso, chiamato Selezione unaria, si rappresenta sintatticamente nel seguente modo: 2 La condizione In un algoritmo la condizione dovrà essere scritta secondo alcune regole ben precise. Andranno cioè confrontate due espressioni tramite un operatore logico come riportato in figura. I simboli =, >, <... sono detti operatori logici. Un operatore logico deve essere sempre 2

3 presente nell'istruzione di controllo. Il simbolo = in questo caso equivale all'uguaglianza matematica, non all'istruzione di assegnazione. Analizzando il formato dell'istruzione di controllo si osserva che il valore dell'oggetto (variabile, valore o espressione) che si trova a sinistra dell'operatore logico può essere confrontato con uno degli oggetto di seguito riportati. In C vedremo che l uguale matematico si indica con == (due uguali di seguito). Vediamo alcuni casi. 2.1 Un valore immediato Rientrano in questo caso le condizioni del tipo: A>5 dove il valore della variabile A viene confrontato con il numero 5. Il risultato di questa condizione può essere vero se il contenuto di A è maggiore di 5 (per esempio se A = 7), o fal - so se il contenuto di A è minore di 5 (per esempio se A= 3). Un discorso analogo è valido se la variabile è di tipo alfanumerico (in C vale solo per i caratteri). La condizione: risposta = s è vera se la variabile risposta contiene il valore 's', falsa per qualsiasi altro valore. Attenzione! Nella maggior parte dei sistemi le lettere minuscole e maiuscole sono considerate differenti. Nel nostro caso, se la variabile risposta contenesse il valore 'S', la condizione sarebbe considerata falsa. 2.2 Un nome di variabile Il contenuto dell'oggetto che si trova a sinistra dell'operatore logico è confrontato con il valore della variabile che si trova a destra. Rientrano in questo caso le condizioni del tipo: A=B La condizione è vera se la variabile A contiene lo stesso valore della variabile B, è falsa in tutti gli altri casi. Un discorso analogo vale quando: A>B In questo caso la condizione logica risulterà vera se la variabile A contiene un valore maggiore del contenuto della variabile B. Attenzione il Falso di < (minore ) è (maggiore e uguale) non solo > (maggiore) così come il falso di > (maggiore) è (minore e uguale) non solo < (minore ) 2.3 Una espressione Dapprima viene calcolato il valore dell'espressione e successivamente viene confrontato il valore dell'oggetto che si trova a sinistra dell'operatore logico con il valore dell'espressione appena calcolato. Rientrano in questo caso le condizioni del tipo: A= (K* 5)/B In primo luogo è calcolato il valore dell'espressione (K * 5) /B, che viene poi confrontato con il valore della variabile A. Se per esempio A vale 10, K vale 3 e B vale 2, la condizione sarà falsa, poiché A è diverso da 7,5 (risultato di (K * 5)/B). 3 La struttura di selezione in C++ L istruzione condizionale può avere forme diverse: 3

4 if (condizione) istruzione; if (condizione) else istruzione_1; istruzione_2; dove condizione indica un'espressione logica, mentre istruzione indica una qualunque istruzione oppure un blocco di istruzioni (cioè un insieme di istruzioni racchiuso tra i simboli { e } ). L istruzione (o il blocco) scritta dopo la condizione viene eseguita solo se la condizione è vera, mentre l'istruzione scritta dopo la clausola else viene eseguita solo se la condizione è falsa. Esistono altri costrutti di selezione binaria ma non verranno utilizzati. Nella tabella sono riportati i simboli utilizzati nella codifica C (e C++) con il relativo significato. 4 L'Indentazione Hai notato i "rientri" utilizzati per gli if, gli else, le parentesi graffe e le istruzioni Le istruzioni vengono incolonnate cosi per indicare la loro dipendenza. Si evidenzia, in tal modo, che un'istruzione è contenuta in un'altra. È buona abitudine curare questi incolonnamenti, poiché cosi facendo si garantisce una buona leggibilità del codice. Questa tecnica è conosciuta come indentazione, è estremamente diffusa e il suo utilizzo viene considerato come una norma fondamentale di buona programmazione. La tecnica è basata sull'idea di usare gli spazi bianchi (ossia i rientri) allo scopo di separare più chiaramente le istruzioni e, in particolare, di rappresentare esplicitamente le relazioni di annidamento. Negli esempi successivi si userà questo metodo. 5 Esempi Analisi 5.1 Dato in input un numero calcola il cubo se è maggiore di zero, il quadrato in caso contrario. Per prima cosa devi prendere in input un numero, quindi effettuare un confronto del valore di tale numero con zero. Se il numero è maggiore di zero, lo moltiplicherai 3 volte per se stesso, altrimenti lo moltiplicherai 2 volte per se stesso. Nota che il risultato sarà sicuramente un numero positivo (o uguale a zero, se il numero di partenza è zero). 4

5 Verificherò la correttezza del programma effettuando la simulazione con due casi prova. Dovrai infatti testare sia il caso in cui il numero in input è positivo, sia quello in cui il numero è negativo. Il caso il cui il numero è 3 il risultato deve essere 27 e il caso in cui il numero è -2 il risultato deve essere 4. Un ulteriore caso è quando il numero è 0. Tabella delle Variabili Nome variabile Tipo di dato Utilizzo Num Reale Input Ris Reale L/O Codifiche #include <iostream> using namespace std; int main (){ float num; float ris; cout<<"ins numero "; cin>>num; if(num>0) ris=num*num*num; else ris=num*num; cout<<"ris ="<<ris; return 0; } Tabella di traccia Istruzione num ris if output Leggi (num) 3 Num >0 vero Ris num*num*num 27 Scrivi (ris) 27 Istruzione num ris if output Leggi (num) -2 Num >0 Falso Ris num*num 8 Scrivi (ris) 8 Istruzione num ris if output Leggi (num) 0 Num >0 Falso Ris num*num 0 Scrivi (ris) 0 Notiamo che se il valore è 0 (zero) la condizione è falsa 5

6 Analisi. 5.2 Dati in input il nome e l'età di una persona, stampa il nome e la scritta maggiorenne se la persona è maggiorenne. Dopo avere ottenuto in input il nome e l'età della persona, confronta l'età con 18: se risulta maggiore o uguale a 18 stampa il nome della persona e la scritta richiesta, in caso contrario (età< 18) non è richiesta nessuna operazione. Verrà fatta la prova inserendo l e 22 e inserendo g e 17. Tabella delle variabili Codifiche Nome variabile Tipo di dato Utilizzo Nome Stringa I/O Eta Intero I #include <iostream> using namespace std; int main (){ int eta; char nome; cout<<"ins nome "; cin>>nome; cout<<"ins eta "; cin>>eta; if(eta>=18) cout<<nome<<" e' maggiorenne"; return 0; } 6 Selezioni in cascata Quando due o più condizioni devono essere valutate una dopo l'altra come illustrato in figura si parla di selezioni in cascata: prima viene testata la condizione COND1 e di seguito la condizione COND2, indifferentemente dal risultato della condizione COND1. La selezione a cascata si usa, quindi, quando le due condizioni sono indipendenti. 6

7 6.1 Esempio Dato in input il nome e il prezzo di un prodotto, calcola e stampa il prezzo da pagare sapendo che se il prezzo è superiore a 3000 applichi il 6% di sconto e, inoltre, se il pagamento avviene in contanti, devi applicare un ulteriore sconto del 2%. Si lascia al lettore l analisi e la tabella di traccia. Tabella delle Variabili Tavella delle costanti Nome variabiletipo di dato Utilizzo Descrizione Nome Tipo di dato valore Codice Stringa I/O Codice prodotto Psconto Intero 3000 Prezzo Reale I/L/O Prezzo prodotto P1 Intero 6 Pag Carattere I Tipo di pagamento P2 Intero 2 Codifiche #include <iostream> using namespace std; int main (){ const int Pl=6; const int P2=2; const int PSCONTO=3000; char codice; char pag; // tipo di pagamento float prezzo; //prezzo iniziale cout<<"inserire il codice del prodotto" <<endl; cin>>codice; cout<<"inserire il prezzo" <<endl; cin>>prezzo; cout<<"che tipo di pagamento si vuole? Contanti (e) o rateale (r)"<<endl; cin>>pag; if (prezzo>psconto) {prezzo= prezzo-prezzo*pl/100; } if (pag=='c') {prezzo= prezzo-prezzo* P2/100; } cout<<"il prezzo scontato per il prodotto "<<codice<<" e' di "<<prezzo<<" euro "<<endl; return 0; } 7

8 7 Selezione annidate Le istruzioni presenti nei blocchi inseriti nei due rami non devono necessariamente essere elementari ma possono essere formate da più istruzioni (strutture di sequenza) o a loro volta da strutture di selezione. Si parla in quest'ultimo caso di strutture di selezione annidate come presentato nella figura Analizzando la figura notiamo che nel caso di selezioni annidate la condizione COND2 viene presa in considerazione solo se la condizione COND1 risulta vera mentre nel caso delle condizioni in cascata la condizione COND2 veniva esaminata sempre, indipendentemente dal risultato della condizione COND Esempio Dati due numeri, se sono entrambi positivi fanne la somma, altrimenti il prodotto. Si lascia al lettore l analisi e la tabella di traccia. Codifiche Tabella delle Variabili Nome variabile Tipo di dato Utilizzo a Itero I b Intero I Reale Carattere L/O #include <iostream> using namespace std; int main () { int a, b, ris; cout<<"inserire Il primo numero "; cin>>a; cout<<"inserire Il secondo numero "; cin>>b; if(a>0) { if(b>0) {ris=a+b;} else {ris=a*b;} } else {ris=a*b;} cout<<"ll risultato e' "<<ris<<endl; return 0; } 8

9 8 Uno dei connettivi logici Nel lavoro di programmazione si fa largo uso dei connettivi or, and, not per ridurre la complessità delle condizioni presenti nelle istruzioni di controllo delle strutture di selezione e di iterazione. Si possono utilizzare questi connettivi quando l'istruzione di controllo prevede che siano esaminati valori diversi per una variabile oppure quando devono essere presi in considerazione eventi differenti collegati tra loro. Esempio: Stabilisci se il carattere letto da input è una vocale o una consonante. Una possibile soluzione a questo problema è offerta dall'algoritmo presentato nella figura affianco utilizzando i connettivi. Permette di evitare di utilizzare un algoritmo seguente. 9

10 Esempio: Dati due numeri, dire se sono entrambi positivi o negativi. Nella prima figura è rappresentato l'algoritmo che risolve il problema proposto senza fare uso del connettivo, mentre nella figura successiva è illustrata la soluzione con l'uso del connettivo and. 9 Il costrutto selezione multipla Questo costrutto deriva dal costrutto selezione, anzi ne rappresenta un'estensione. Capita molto spesso di dover fare delle scelte orientandosi fra più possibilità. Quotidianamente cl poniamo delle domande alle quali possiamo dare più di una risposta. Per esempio: quale maglione indosserò questa mattina? Quale film vedrò stasera? Quali libri porterò domani a scuola? E cosi via. Per risolvere I problemi in cui si opera una scelta tra più di due alternative in dipendenza del valore assunto da un certo parametro, è molto utile utilizzare il costrutto selezione multipla. Esso è presente in quasi tutti I linguaggi di programmazione, 10

11 anche se il comportamento non è sempre lo stesso. La sintassi in diagramma a blocchi è la seguente: Dove: <Selettore > può essere una variabile < Valore> deve essere dello stesso tipo di <Selettore> e deve essere un valore unico In C il costrutto si implementa come segue. Il valore assunto dalla variabile determina quale ramo della struttura deve essere eseguito. Se variabile assume valore val1 viene eseguita l'istruzione istr1 (o le istruzioni fino al primo break), se variabile assume il valore val2 viene eseguita l'istruzione (o le istruzioni) istr2 e così via. Se la variabile non assume nessuno dei valori specificati, viene eseguita l'istruzione (o le istruzioni) istr0 specificata dopo la clausola default. Notare Bene i due punti dopo i singoli valori e i punti e virgola dopo le istruzioni Break compreso. 9.1 Esempio Un negoziante, per incrementare le sue vendite, prevede di applicare uno sconto progressivo sull'importo della fattura, in base al numero dei pezzi acquistati. Se il cliente compra 1 pezzo viene applicato il 15% di sconto, il 20% per 2 pezzi, il 30% per 3; in tutti gli altri casi lo sconto è del 40%. Visualizzare lo sconto applicato e l'importo effettivo che il cliente deve pagare. #include <iostrearn.h> void main(){ int NumPezzi; float TotFattura,Sconto, Importo; cout << "Inserire il numero di pezzi in fattura: "; cin >> NumPezzi; cout << "Inserire il totale della fattura: "; cin >> TotFattura; switch (NumPezzi) { 11

12 case 1: Sconto= TotFattura I 100*15; break; case 2: Sconto= TotFattura I 100 *20; break; case 3: Sconto = TotFattura I 100*30; break; default: Sconto TotFattura I 100 *40; break; } Importo = TotFattura - Sconto; cout << "Importo da pagare: " << Importo << endl; cout << "Sconto applicato: " << Sconto << endl; system( pause ); } 10 ESERCITAZIONE (if semplice) 1) Scrivere un algoritmo che, inserito da tastiera un intero, visualizza se tale numero è maggiore o uguale a cento oppure no. 2) Scrivere un programma che, inseriti due numeri da tastiera, calcoli la loro differenza se a>b e visualizzi il messaggio sottrazione impossibile, in caso contrario. 3) Scrivere un algoritmo che, dati due numeri naturali da tastiera, stabilisca qual è il maggiore e poi calcoli la differenza tra i due. 4) Scrivere un algoritmo che, dati due numeri in input, li visualizzi in ordine crescente. 5) Determinare e visualizzare il prezzo da pagare in un negozio conoscendo la spesa e sapendo che, se essa è inferiore o uguale a 100 euro si applica uno sconto del 10%, altrimenti lo sconto è del 30%. 6) Scrivere un algoritmo che stabilisca se un numero è divisibile per 3. 7) In un supermercato si applica la promozione 3x2 su un certo prodotto. Calcolare quanto deve pagare un cliente, dopo aver inserito da tastiera il costo unitario del prodotto e la quantità acquistata. 8) Calcola la spesa relativa all acquisto di una certa merce, conoscendo la quantità di prodotto acquistata e il prezzo unitario. Se la quantità di prodotto acquistata è superiore a 100 unità si applica uno sconto (valore inserito da tastiera). 9) Scrivere un programma che calcoli il totale delle calorie assunte durante il pasto. Acquisire in input la quantità in grammi di grassi, carboidrati e proteine. Sapendo che le calorie per ogni grammo di grassi sono 9, per ogni grammo di carboidrati sono 5 e per ogni grammo di proteine sono 4, calcolare e visualizzare in output le calorie totali assunte e, se queste superano una cifra da voi prefissata, visualizzare il messaggio Attenzione!!!!. 10) Date le coordinate di un punto P(x,y) e l equazione di una retta r:ax+by+c=0 verificare se P appartiene a r. 12

13 11 Esercitazione (Uso dei connettivi) 1) Dato un numero in input verificare se è esterno all intervallo [0, 5] e comunicarlo in output. 2) Dati due numeri in input verificare se sono entrambe esterni all intervallo [-5, 3] e comunicarlo in output. 3) Scrivi un algoritmo che, dati tre numeri X, Y, N visualizzi il valore X+N*Y solo se N è un numero compreso tra 2 e 50. 4) Assegnati 3 numeri verificare se sono tutti uguali tra loro. 5) Assegnato un anno verificare se è bisestile (divisibile per 4 ma non per 100 oppure divisibile per 400). 6) Scrivere un programma che legge due numeri e determina se uno è multiplo dell altro. 7) La scuola rimborsa il 15% del costo dell abbonamento se lo studente abita in provincia ed il paese di provenienza dista più di 20 km dalla scuola. Calcolare lo sconto sul presso dell abbonamento. (Suggerimento memorizzare in una variabile i valori S o N per indicare l appartenenza o meno alla provincia). 8) Dato il prezzo di un prodotto ed il tipo di pagamento ( C = contanti), si calcoli il prezzo da pagare, sapendo che se il prezzo è superiore ad una determinata cifra (costante) oppure se il pagamento è in contanti, si applica uno sconto del 10 %. 12 ESERCITAZIONE (selezione a cascata, annidata, multipla) 1) Dati tre numeri in input, visualizzarli in ordine crescente. 2) Assegnati 3 numeri visualizzare il maggiore tra essi. 3) Scrivere un programma che legge due numeri e determina se uno è multiplo dell altro (non usare connettivi). 4) Scrivere un programma che legge 3 numeri interi diversi da zero e quindi determina e visualizza se possono essere o no i lati di un triangolo rettangolo. 5) Scrivere un programma per la risoluzione di una equazione di primo grado. 6) Scrivere un programma per la soluzione di un equazione di secondo grado. Nel caso di discriminante negativo, visualizzare un messaggio. 7) Dato il prezzo di un prodotto e la quantità acquistata calcolare la spesa, sapendo che viene praticato uno sconto del 3% se la merce costa più di 550 e uno sconto del 5% se la quantità è superiore a 40 pezzi. 8) Dato il prezzo di un prodotto si voglia calcolare il prezzo da pagare sapendo che se il prezzo è superiore a una determinata cifra (costante) si applica il 6% di sconto e se il pagamento è fatto in contanti si applica un ulteriore sconto del 2%. 9) Ad un rappresentante spetta un premio in denaro del 10% sul totale delle vendite effettuate, se queste superano i Dato in input il valore delle vendite eseguite dal rappresentante calcolare il premio netto a lui spettante, considerando che, se tale premio è superiore ad un cifra da voi stabilita come costante, si applica un imposta del 3% che andrà detratta dal premio stesso. 13

14 10) La tassa per la raccolta dei rifiuti in un comune ammonta a 8 per ogni mq dell abitazione più una cifra fissa di 20. Se l appartamento è al piano secondo o superiore se applica una ulteriore imposta del 2%. Dopo aver acquisito in input la superficie in mq dell appartamento, calcolare e visualizzare l importo totale che l utente deve pagare considerando che se l appartamento supera i 100 mq si dovranno aggiungere ulteriori 50 di addizionale comunale (si consiglia l uso delle costanti). 11) Calcola la somma spesa da un cliente in un negozio di abbigliamento, tenendo conto delle seguenti condizioni a. spesa fino a 50, sconto del 10%, b. spesa da 51 a 100, sconto del 20%, c. spesa oltre di 101, sconto del 30%. 12) In un bar si possono comprare panini a 3 e bibite a 2. Scrivere un programma che dati in input il numero dei panini e il numero delle bibite restituisca il prezzo totale da pagare, tenendo conto che se il numero dei panini è uguale al numero delle bibite si applica uno sconto di 2 sul prezzo totale e che se il numero dei panini e delle bibite è diverso il rivenditore regala il prodotto acquistato in minor quantità. 13) Scrivere un programma che legga l età di un individuo e visualizza i seguenti messaggi: a. Sei un bambino, se l età è inferiore a 12 anni b. Sei un ragazzo, se l età è compresa tra 13 e 25 anni c. Sei un uomo, se l età è compresa tra 26 e 50 anni d. Sei un anziano, se l età è superiore a 50 anni. 14) Ad un rappresentante spetta, oltre ad una percentuale sulle vendite effettuate in un mese, un premio in denaro se questa percentuale è superiore a 300. Dati in input l importo totale delle vendite e la percentuale su cui calcolare il guadagno del rappresentante, calcolare il premio e la somma totale che gli spetta. Si suppone che il premio sia: a. 50 se la percentuale sul guadagno è inferiore a 1000, b. 100 se la percentuale sul guadagno è inferiore a 1500, c. 200 se la percentuale sul guadagno è uguale o superiore a ) Un cinema applica uno sconto del 20% sul prezzo del biglietto agli spettatori con età superiore a 60 anni ed uno sconto del 25% per i ragazzi con meno di 18 anni. Dopo aver acquisito in input il prezzo base del biglietto e l età dello spettatore visualizzare l importo da pagare. 16) Le tariffe postali per spedire un pacco sono le seguenti: a. 3.5 per pacchi da 0 a 50 gr b. 5 per pacchi dai 51 gr ai 100 gr c. 10 per pacchi oltre 100 gr d. Dato il peso del pacco calcolare il costo totale della spedizione considerando che, se la spedizione è per l estero si devono aggiungere 1.50 di bollo. 17) Uno studente acquista un biglietto del treno il costo varia a seconda dei chilometri da percorre e dal tipo di tratta a. Se i km sono minori di 10 allora costa 1 a km b. Se i km sono compresi tra 10 e 20 costa 0.7 a km c. Se i km sono maggiori di 20 costa 0.5 a km 14

15 Lo studente ha lo sconto: d. del 7 % se è di tipo a e. del 8% se è del tipo b, f. del 9% se è del tipo c la tratta supera i 30km, g. altrimenti ha lo sconto del 5% se la tratta è superiore a 100km. 15

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

Linguaggio C++ Uso ambiente Dev C++ con creazione di progetto con scelta Basic --> Empty Project

Linguaggio C++ Uso ambiente Dev C++ con creazione di progetto con scelta Basic --> Empty Project Linguaggio C++ Uso ambiente Dev C++ con creazione di progetto con scelta Basic --> Empty Project NB: E necessario: adoperare la sintassi più evoluta per le direttive di precompilazione 1, usando come contenitore

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Ricerca sequenziale di un elemento in un vettore

Ricerca sequenziale di un elemento in un vettore Ricerca sequenziale di un elemento in un vettore La ricerca sequenziale o lineare è utilizzata per ricercare i dati in un vettore NON ordinato. L algoritmo di ricerca sequenziale utilizza quan non ha alcuna

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica L uso delle funzioni in C++ Claudio De Stefano - Corso di Fondamenti di Informatica 1 Funzioni Nel C++ è possibile scomporre problemi complessi in moduli più semplici

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

Analisi di massima: L utente dovrà inserire un numero limite, e tramite vari calcoli verrà stampato a video la sequenza.

Analisi di massima: L utente dovrà inserire un numero limite, e tramite vari calcoli verrà stampato a video la sequenza. Relazione tecnica Fibonacci ANDENA GIANMARCO Traccia: Creare un algoritmo che permetta, dato un valore intero e positivo, di stabilire la sequenza utilizzando la regola di fibonacci dei numeri fino al

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

Ambienti di sviluppo integrato

Ambienti di sviluppo integrato Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di

RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di esempio CERCA 90 NEL SACCHETTO = estrai num Casi num 90 Effetti CERCA 90 NEL

Dettagli

Verifica che una grammatica sia Context Free nel GrammaReader

Verifica che una grammatica sia Context Free nel GrammaReader Verifica che una grammatica sia Context Free nel GrammaReader Sommario Dispensa di Linguaggi di Programmazione Corrado Mencar Pasquale Lops In questa dispensa si descrivono alcune soluzioni per verificare

Dettagli

LA NOTAZIONE SCIENTIFICA

LA NOTAZIONE SCIENTIFICA LA NOTAZIONE SCIENTIFICA Definizioni Ricordiamo, a proposito delle potenze del, che = =.000 =.000.000.000.000 ovvero n è uguale ad seguito da n zeri. Nel caso di potenze con esponente negativo ricordiamo

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

IL LINGUAGGIO C++ Configurazione di Dev-C++

IL LINGUAGGIO C++ Configurazione di Dev-C++ IL LINGUAGGIO C++ Note sull'uso di DevC++ Requisiti di sistema per Dev-C++ - Sistema operativo Microsoft Windows 95, 98, Millenium Edition, NT 4, 2000 o XP - RAM: 8 Mb (consigliati almeno 32 Mb) - CPU:

Dettagli

Ricorsione. Corso di Fondamenti di Informatica

Ricorsione. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Ricorsione Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Linguaggio C: introduzione Il linguaggio C è un linguaggio general purpose sviluppato nel 1972 da Dennis Ritchie per scrivere il sistema operativo UNIX ed alcune applicazioni per un PDP-11. Il linguaggio

Dettagli

Progetti reali con ARDUINO

Progetti reali con ARDUINO Progetti reali con ARDUINO Introduzione alla scheda Arduino (parte 2ª) ver. Classe 3BN (elettronica) marzo 22 Giorgio Carpignano I.I.S. Primo LEVI - TORINO Il menù per oggi Lettura dei pulsanti Comunicazione

Dettagli

DAL PROBLEMA AL PROGRAMMA

DAL PROBLEMA AL PROGRAMMA 1. I PROBLEMI E LA LORO SOLUZIONE DAL PROBLEMA AL PROGRAMMA L'uomo, per affrontare gli innumerevoli problemi postigli dallo sviluppo della civiltà, si è avvalso della scienza e della tecnica, i cui destini

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dal Problema all'algoritmo

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dal Problema all'algoritmo stituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di nformatica Anno Scolastico 2008/2009 Classe 3APS Dal Problema all'algoritmo Pr.: 001 Ver.:1.0 Autore: prof. Michele Salvemini

Dettagli

Visibilità dei Membri di una Classe

Visibilità dei Membri di una Classe Visibilità dei Membri di una Classe Lezione 10 Ogni classe definisce un proprio scope racchiude il codice contenuto nella definizione della classe e di tutti i suoi membri ogni metodo della classe definisce

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {

Dettagli

CALCOLO DEL MASSIMO COMUN DIVISORE

CALCOLO DEL MASSIMO COMUN DIVISORE CALCOLO DEL MASSIMO COMUN DIVISORE Problema: "calcolare il Massimo Comun Divisore (M.C.D.) di due numeri naturali, A e B, secondo l'algoritmo cosiddetto delle sottrazioni successive". L'algoritmo "delle

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

CONOSCIAMO GLI ALGORITMI E I LINGUAGGI

CONOSCIAMO GLI ALGORITMI E I LINGUAGGI Dal problema al programma UNITÀ DIDATTICA 1 CONOSCIAMO GLI ALGORITMI E I LINGUAGGI IN QUESTA UNITÀ IMPAREREMO... che cos è un problema e come affrontarlo che cosa sono un algoritmo e un programma che cosa

Dettagli

Percorsi di matematica per il ripasso e il recupero

Percorsi di matematica per il ripasso e il recupero Giacomo Pagina Giovanna Patri Percorsi di matematica per il ripasso e il recupero 1 per la Scuola secondaria di secondo grado UNITÀ CMPIONE Edizioni del Quadrifoglio à t i n U 1 Insiemi La teoria degli

Dettagli

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Funzioni. Corso di Fondamenti di Informatica

Funzioni. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Funzioni Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e dei

Dettagli

ALGORITMI 1 a Parte. di Ippolito Perlasca. Algoritmo:

ALGORITMI 1 a Parte. di Ippolito Perlasca. Algoritmo: ALGORITMI 1 a Parte di Ippolito Perlasca Algoritmo: Insieme di regole che forniscono una sequenza di operazioni atte a risolvere un particolare problema (De Mauro) Procedimento che consente di ottenere

Dettagli

FUNZIONI AVANZATE DI EXCEL

FUNZIONI AVANZATE DI EXCEL FUNZIONI AVANZATE DI EXCEL Inserire una funzione dalla barra dei menu Clicca sulla scheda "Formule" e clicca su "Fx" (Inserisci Funzione). Dalla finestra di dialogo "Inserisci Funzione" clicca sulla categoria

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

Appunti sulle disequazioni

Appunti sulle disequazioni Premessa Istituto d Istruzione Superiore A. Tilgher Ercolano (Na) Appunti sulle disequazioni Questa breve trattazione non vuole costituire una guida completa ed esauriente sull argomento, ma vuole fornire

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli

Dettagli

I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED

I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED SED è un programma in grado di eseguire delle trasformazioni elementari in un flusso di dati di ingresso,

Dettagli

Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo

Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo /*Caricare un vettore di n numeri float, ordinarlo e e stamparlo

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

Rapida Introduzione all uso del Matlab Ottobre 2002

Rapida Introduzione all uso del Matlab Ottobre 2002 Rapida Introduzione all uso del Matlab Ottobre 2002 Tutti i tipi di dato utilizzati dal Matlab sono in forma di array. I vettori sono array monodimensionali, e così possono essere viste le serie temporali,

Dettagli

Introduzione al linguaggio C Gli array

Introduzione al linguaggio C Gli array Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome

Dettagli

Esercitazione 7. Procedure e Funzioni

Esercitazione 7. Procedure e Funzioni Esercitazione 7 Procedure e Funzioni Esercizio Scrivere un programma che memorizza in un array di elementi di tipo double le temperature relative al mese corrente e ne determina la temperatura massima,

Dettagli

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare

Dettagli

PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++

PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++ PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++ Classi ed oggetti. Classi derivate, ereditarietà e polimorfismo. Template Capitoli 12, 13, 14 Luis Joyannes Aguilar. Fondamenti di Programmazione in C++. Algoritmi,

Dettagli

1) Primi semplici programmi in C++: ingresso e uscita di informazioni

1) Primi semplici programmi in C++: ingresso e uscita di informazioni 1) Primi semplici programmi in C++: ingresso e uscita di informazioni Ecco un primo esempio di programma in linguaggio C++: Esempio 1.1 /* QUESTO PROGRAMMA MOLTIPLICA 3 PER 5 E SOMMA 7 AL RISULTATO DEL

Dettagli

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

La ricorsione. Politecnico di Milano Sede di Cremona

La ricorsione. Politecnico di Milano Sede di Cremona La ricorsione Politecnico di Milano Sede di Cremona Gianpaolo Cugola Dipartimento di Elettronica e Informazione cugola@elet.polimi.it http://www.elet.polimi.it/~cugola Definizioni ricorsive Sono comuni

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

Numeri naturali numeri naturali minore maggiore Operazioni con numeri naturali

Numeri naturali numeri naturali minore maggiore Operazioni con numeri naturali 1 Numeri naturali La successione di tutti i numeri del tipo: 0,1, 2, 3, 4,..., n,... forma l'insieme dei numeri naturali, che si indica con il simbolo N. Tale insieme si può disporre in maniera ordinata

Dettagli

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma Dev C++ Note di utilizzo 1 Prerequisiti Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma 2 1 Introduzione Lo scopo di queste note è quello di diffondere la conoscenza

Dettagli

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C.:luxx:. PREMESSE In questa guida non verranno trattati i costrutti di flusso, le funzioni, o comunque le caratteristiche del linguaggio, che si danno come presupposte.

Dettagli

Classi ed Oggetti in JAVA

Classi ed Oggetti in JAVA Classi ed Oggetti in JAVA Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it www.dii.unisi.it/~rigutini/

Dettagli

Quando troncare uno sviluppo in serie di Taylor

Quando troncare uno sviluppo in serie di Taylor Quando troncare uno sviluppo in serie di Taylor Marco Robutti October 13, 2014 Lo sviluppo in serie di Taylor di una funzione è uno strumento matematico davvero molto utile, e viene spesso utilizzato in

Dettagli

Generalizzazione di funzioni e di classi. Macro come funzioni generiche

Generalizzazione di funzioni e di classi. Macro come funzioni generiche Alessio Bechini - Corso di - Generalizzazione di funzioni e di classi Il meccanismo di template Macro come funzioni generiche long longmax(long x, long y) { Possibile soluzione int intmax(int x, int y)

Dettagli

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense Linguaggio del calcolatore Circuiti e reti combinatorie ppendice + dispense Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e nche per esprimere concetti complessi

Dettagli

Le Liste. Elisa Marengo. Università degli Studi di Torino Dipartimento di Informatica. Elisa Marengo (UNITO) Le Liste 1 / 31

Le Liste. Elisa Marengo. Università degli Studi di Torino Dipartimento di Informatica. Elisa Marengo (UNITO) Le Liste 1 / 31 Le Liste Elisa Marengo Università degli Studi di Torino Dipartimento di Informatica Elisa Marengo (UNITO) Le Liste 1 / 31 Cos è una Lista Una lista è una collezione di elementi omogenei che: potrebbero

Dettagli

INVIO SMS CON CHIAMATA DIRETTA ALLO SCRIPT

INVIO SMS CON CHIAMATA DIRETTA ALLO SCRIPT INVIO SMS CON CHIAMATA DIRETTA ALLO SCRIPT La chiamata diretta allo script può essere effettuata in modo GET o POST. Il metodo POST è il più sicuro dal punto di vista della sicurezza. Invio sms a un numero

Dettagli

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi TIPI DI DATO Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe di caratteri e quasi sempre anche collezioni di oggetti,

Dettagli

Sottoprogrammi: astrazione procedurale

Sottoprogrammi: astrazione procedurale Sottoprogrammi: astrazione procedurale Incapsulamento di un segmento di programma presente = false; j = 0; while ( (j

Dettagli

Gestione dei File in C

Gestione dei File in C Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte

Dettagli

1) Le Espressioni regolari

1) Le Espressioni regolari ESPRESSIONI REGOLARI e FILTRI SED, GREP e AWK 1) Le Espressioni regolari Un'espressione regolare è un modello che descrive un insieme di stringhe. Le espressioni regolari sono costruite, in maniera analoga

Dettagli

Excel basi e funzioni

Excel basi e funzioni Esercitazione di Laboratorio Excel basi e funzioni Contenuto delle celle 1. Testo 2. Numeri 3. Formule Formattazione delle celle (1) Formattazione del testo e dei singoli caratteri: Orientamento a 45 Allineamento

Dettagli

Le Stringhe. Un introduzione operativa. Luigi Palopoli

Le Stringhe. Un introduzione operativa. Luigi Palopoli Le Stringhe p.1/19 Le Stringhe Un introduzione operativa Luigi Palopoli ReTiS Lab - Scuola Superiore S. Anna Viale Rinaldo Piaggio 34 Pontedera - Pisa Tel. 050-883444 Email: palopoli@sssup.it URL: http://feanor.sssup.it/

Dettagli

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento.

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. Excel: le funzioni Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. DEFINIZIONE: Le funzioni sono dei procedimenti

Dettagli

Elementi di semantica denotazionale ed operazionale

Elementi di semantica denotazionale ed operazionale Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato

Dettagli

Rilevazione degli apprendimenti. Anno Scolastico 2006 2007 PROVA DI MATEMATICA. Scuola Secondaria di II grado. Classe Terza Tipo A. Codici. Scuola:...

Rilevazione degli apprendimenti. Anno Scolastico 2006 2007 PROVA DI MATEMATICA. Scuola Secondaria di II grado. Classe Terza Tipo A. Codici. Scuola:... Ministero della Pubblica Istruzione Rilevazione degli apprendimenti Anno Scolastico 2006 2007 PROVA DI MATEMATICA Scuola Secondaria di II grado Classe Terza Tipo A Codici Scuola:..... Classe:.. Studente:.

Dettagli

Prolog: aritmetica e ricorsione

Prolog: aritmetica e ricorsione Capitolo 13 Prolog: aritmetica e ricorsione Slide: Aritmetica e ricorsione 13.1 Operatori aritmetici In logica non vi è alcun meccanismo per la valutazione di funzioni, che è fondamentale in un linguaggio

Dettagli

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Cenni su algoritmi, diagrammi di flusso, strutture di controllo Cenni su algoritmi, diagrammi di flusso, strutture di controllo Algoritmo Spesso, nel nostro vivere quotidiano, ci troviamo nella necessità di risolvere problemi. La descrizione della successione di operazioni

Dettagli

al via 1 Percorsi guidati per le vacanze di matematica e scienze UNITÀ CAMPIONE Edizioni del Quadrifoglio Evelina De Gregori Alessandra Rotondi

al via 1 Percorsi guidati per le vacanze di matematica e scienze UNITÀ CAMPIONE Edizioni del Quadrifoglio Evelina De Gregori Alessandra Rotondi Evelina De Gregori Alessandra Rotondi al via 1 Percorsi guidati per le vacanze di matematica e scienze per la Scuola secondaria di primo grado UNITÀ CAMPIONE Edizioni del Quadrifoglio Test d'ingresso NUMERI

Dettagli

Rilevazione degli apprendimenti. Anno Scolastico 2006 2007 PROVA DI MATEMATICA. Scuola Secondaria di II grado. Classe Terza Tipo A. Codici. Scuola:...

Rilevazione degli apprendimenti. Anno Scolastico 2006 2007 PROVA DI MATEMATICA. Scuola Secondaria di II grado. Classe Terza Tipo A. Codici. Scuola:... Ministero della Pubblica Istruzione Rilevazione degli apprendimenti Anno Scolastico 2006 2007 PROVA DI MATEMATICA Scuola Secondaria di II grado Classe Terza Tipo A Codici Scuola:..... Classe:.. Studente:.

Dettagli

Codifica dei numeri negativi

Codifica dei numeri negativi E. Calabrese: Fondamenti di Informatica Rappresentazione numerica-1 Rappresentazione in complemento a 2 Codifica dei numeri negativi Per rappresentare numeri interi negativi si usa la cosiddetta rappresentazione

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Lab 02 Tipi semplici in C Obiettivo dell esercitazione Acquistare familiarità con i tipi di dato semplici supportati

Dettagli

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 08/03/07 Nota Questi lucidi sono tratti

Dettagli

APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI

APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI Le disequazioni fratte Le disequazioni di secondo grado I sistemi di disequazioni Alessandro Bocconi Indice 1 Le disequazioni non lineari 2 1.1 Introduzione.........................................

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Università per Stranieri di Siena. Centro. Certificazione CILS. Certificazione. di Italiano come Lingua Straniera. Sessione: Dicembre 2012 Livello: A1

Università per Stranieri di Siena. Centro. Certificazione CILS. Certificazione. di Italiano come Lingua Straniera. Sessione: Dicembre 2012 Livello: A1 Università per Stranieri di Siena Centro CILS Sessione: Dicembre 2012 Test di ascolto Numero delle prove 2 Ascolto - Prova n. 1 Ascolta i testi: sono brevi dialoghi e annunci. Poi completa le frasi.

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

Dettagli

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero

Dettagli

STRUTTURE (O COSTRUTTI) DI CONTROLLO

STRUTTURE (O COSTRUTTI) DI CONTROLLO Le strutture di controllo Le strutture di controllo STRUTTURE (O COSTRUTTI) DI CONTROLLO determinano l ordine con cui devono essere eseguite le istruzioni sono indipendenti dalla natura delle istruzioni

Dettagli

2 Rappresentazioni grafiche

2 Rappresentazioni grafiche asi di matematica per la MPT 2 Rappresentazioni grafiche I numeri possono essere rappresentati utilizzando i seguenti metodi: la retta dei numeri; gli insiemi. 2.1 La retta numerica Domanda introduttiva

Dettagli

Lab. 1 - Introduzione a Matlab

Lab. 1 - Introduzione a Matlab Lab. 1 - Introduzione a Matlab Alcune informazioni su Matlab Matlab è uno strumento per il calcolo scientifico utilizzabile a più livelli, dalla calcolatrice tascabile, alla simulazione ed analisi di sistemi

Dettagli

Un ripasso di aritmetica: Conversione dalla base 10 alla base 16

Un ripasso di aritmetica: Conversione dalla base 10 alla base 16 Un ripasso di aritmetica: Conversione dalla base 1 alla base 16 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base sedici sarà del tipo: c m c m-1... c 1 c (le c i sono cifre

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni

Dettagli

Così come le macchine meccaniche trasformano

Così come le macchine meccaniche trasformano DENTRO LA SCATOLA Rubrica a cura di Fabio A. Schreiber Il Consiglio Scientifico della rivista ha pensato di attuare un iniziativa culturalmente utile presentando in ogni numero di Mondo Digitale un argomento

Dettagli

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Cos è una stringa (1) Stringhe DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Una stringa è una serie di caratteri trattati come una singola unità. Essa potrà includere lettere, cifre, simboli e caratteri

Dettagli

Manipolazione di testi: espressioni regolari

Manipolazione di testi: espressioni regolari Manipolazione di testi: espressioni regolari Un meccanismo per specificare un pattern, che, di fatto, è la rappresentazione sintetica di un insieme (eventualmente infinito) di stringhe: il pattern viene

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t.

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t. Il programma MATLAB In queste pagine si introduce in maniera molto breve il programma di simulazione MAT- LAB (una abbreviazione di MATrix LABoratory). Introduzione MATLAB è un programma interattivo di

Dettagli

Linguaggio di bash per esempi. Tre modi per quotare. Esempio. quotare: significa trattare caratteri speciali come normali caratteri

Linguaggio di bash per esempi. Tre modi per quotare. Esempio. quotare: significa trattare caratteri speciali come normali caratteri Linguaggio di bash per esempi Tre modi per quotare quotare: signica trattare caratteri speciali come normali caratteri es. di aratteri speciali: $, blank, apici, 1. backslash: per quotare un solo carattere

Dettagli

FAQ sul prestito locale, interbibliotecario (ILL) e intersistemico (ISS) in SOL

FAQ sul prestito locale, interbibliotecario (ILL) e intersistemico (ISS) in SOL FAQ sul prestito locale, interbibliotecario (ILL) e intersistemico (ISS) in SOL PRESTITO LOCALE 1. Dove posso trovare informazioni dettagliate sul prestito locale e sulla gestione dei lettori? 2. Come

Dettagli