Modulo 5 La programazione Unità 4 Selezione

Save this PDF as:
 WORD  PNG  TXT  JPG

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

La selezione binaria

La selezione binaria Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per

Dettagli

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

Dettagli

Esercizi di programmazione

Esercizi di programmazione Esercizi di programmazione SEQUENZA 1. Scrivere un algoritmo che calcoli il doppio di un numero fornito in input. 2. Scrivere un algoritmo che, dati tre numeri reali X, Y e Z calcoli il risultato di (X

Dettagli

Esercizi di programmazione in C

Esercizi di programmazione in C Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

Traccia. Analisi di massima

Traccia. Analisi di massima Es1. Cirruto Fabio Traccia Richiedere in input la quantità Q e l importo unitario I di una merce venduta; lo sconto S1 da applicare (percentuale) se la quantità venduta supera le 100 unità; lo sconto S2

Dettagli

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...

Dettagli

INFORMATICA - I puntatori Roberta Gerboni

INFORMATICA - I puntatori Roberta Gerboni 1 2 I puntatori in C++ Il puntatore un tipo di dato scalare, che consente di rappresentare gli indirizzi delle variabili allocate in memoria. Dominio: Il dominio di una variabile di tipo puntatore è un

Dettagli

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali a Visual Basic Lezione 1 Concetti base e istruzioni condizionali Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Un esempio:

Dettagli

GUIDA BASE DI PASCAL

GUIDA BASE DI PASCAL 1 GUIDA BASE DI PASCAL Un algoritmo, nel suo significato più ampio, è sequenza logica di istruzioni elementari (univocamente interpretabili) che, eseguite in un ordine stabilito, permettono la soluzione

Dettagli

LAVORO ESTIVO DI INFORMATICA CLASSE 2O

LAVORO ESTIVO DI INFORMATICA CLASSE 2O LAVORO ESTIVO DI INFORMATICA CLASSE 2O PER COLORO CHE HANNO AVUTO LA SOSPENSIONE DEL GIUDIZIO, GLI ESERCIZI SVOLTI DEVONO ESSERE CONSEGNATI TASSATIVAMENTE IL GIORNO DELL'ESAME SCRITTO. A CHI È STATO ASSEGNATO

Dettagli

Gli algoritmi: definizioni e proprietà

Gli algoritmi: definizioni e proprietà Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da

Dettagli

DAL DIAGRAMMA AL CODICE

DAL DIAGRAMMA AL CODICE DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E04 Esempi di algoritmi e programmi C. Limongelli - A. Miola Novembre 2011 1 Contenuti q Somma di una sequenza di numeri interi

Dettagli

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

Dettagli

If a cascata, switch, boolean

If a cascata, switch, boolean If a cascata, switch, boolean If a cascata Switch Il tipo boolean Operatori logici, valutazione pigra 1 If a cascata Consideriamo una semplice classe che deve descrivere con una stringa gli effetti di

Dettagli

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente. Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito

Dettagli

Un algoritmo è una sequenza di comandi (detti istruzioni) che istruiscono sull'esecuzione di un determinato compito.

Un algoritmo è una sequenza di comandi (detti istruzioni) che istruiscono sull'esecuzione di un determinato compito. Definizione di algoritmo Un algoritmo è una sequenza di comandi (detti istruzioni) che istruiscono sull'esecuzione di un determinato compito. Esempi di algoritmi possono essere: una ricetta di cucina,

Dettagli

Unità B3 Strutture di controllo

Unità B3 Strutture di controllo (A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: I/O su console Package Blocco di controllo Oggetto System.out Oggetto System.in Oggetto Tastiera Metodo readline() Strutture

Dettagli

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

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

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

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Puntatori Anno Accademico 2010/2011 Francesco Tortorella Variabili, registri ed indirizzi Abbiamo visto che la definizione di una variabile implica l allocazione (da parte del compilatore)

Dettagli

Connessione ad internet

Connessione ad internet Introduzione al C++ Connessione ad internet Istruzioni per la connessione internet: - una volta connessi, aprire un browser (firefox) - in Modifica/preferenze/avanzate/rete/impostazioni - attivare la modalità

Dettagli

1) Dati in ingresso 2 numeri, l algoritmo calcola e stampa a video la loro somma

1) Dati in ingresso 2 numeri, l algoritmo calcola e stampa a video la loro somma Algoritmo: E un insieme finito di azioni che risolvono un determinato problema, trasformando i dati di input in di dati di output (o risultati) attraverso relazioni o formule che legano i dati in ingresso

Dettagli

PER GLI STUDENTI DELLE CLASSI PRIME DEL LICEO MURATORI ESERCIZI DI MATEMATICA

PER GLI STUDENTI DELLE CLASSI PRIME DEL LICEO MURATORI ESERCIZI DI MATEMATICA LICEO CLASSICO STATALE L. A. MURATORI con sezioni di Liceo Linguistico Via Cittadella, 50-411 MODENA - Tel. 059-4007 - FAX 059-497186 e-mail: mopc00008@pec.istruzione.it - mopc00008@istruzione.it Codice

Dettagli

Programmazione in Java (I modulo) Lezione 3: Prime nozioni

Programmazione in Java (I modulo) Lezione 3: Prime nozioni Programmazione in Java (I modulo) Lezione 3: Prime nozioni La volta scorsa Abbiamo avuto un primo assaggio! Abbiamo visto come usare l editor per scrivere un programma Java. Abbiamo analizzato riga per

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Primi programmi in C

Primi programmi in C Primi programmi in C Docente: Violetta Lonati PAS classe A042 Corso introduttivo pluridisciplinare in Informatica Nota: ricordate le opzioni principali del comando gcc (per eventuali dubbi, consultate

Dettagli

Corso Programmazione 1 Capitolo 01: Concetti Elementari

Corso Programmazione 1 Capitolo 01: Concetti Elementari Corso Programmazione 1 Capitolo 01: Concetti Elementari Docente: Roberto Sebastiani - roberto.sebastiani@unitn.it Esercitatori: Mario Passamani - mario.passamani@unitn.it Alessandro Tomasi - alessandro.tomasi@unitn.it

Dettagli

LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B

LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B 23.XI.2012 VINCENZO MARRA Indice Esercizio 1 1 Menu 1 Tempo: 35 min. 2 Commento 1 2 Esercizio 2 2 Ordinamento e ricerca binaria con la classe

Dettagli

Dispensa 3. 1.1 YACC: generalità

Dispensa 3. 1.1 YACC: generalità Dispensa 3 1.1 YACC: generalità Il tool Yacc (acronimo per Yet Another Compiler Compiler) è uno strumento software che a partire da una specifica grammaticale context free di un linguaggio scritta in un

Dettagli

void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }

void funzioneprova() { int x=2; cout<<dentro la funzione x=<<x<<endl; } FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo

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

Costruzione di Siti Web con PHP e MySQL. Lezione 4: Operatori, Array, Controlli e Cicli

Costruzione di Siti Web con PHP e MySQL. Lezione 4: Operatori, Array, Controlli e Cicli Costruzione di Siti Web con PHP e MySQL Lezione 4: Operatori, Array, Controlli e Cicli Argomenti della lezione In questa lezione si riprenderà il concetto di Array, nel suo aspetto basilare, ed in particolare

Dettagli

BOZZA. cin per la comunicazione dal dispositivo di input standard, la tastiera, al programma (stream di input standard)

BOZZA. cin per la comunicazione dal dispositivo di input standard, la tastiera, al programma (stream di input standard) Capitolo 6 Input/output su file BOZZA 6.1 Stream e file L input/output in C ++, in particolare quello su file, avviene tramite stream. stream. Uno stream è un astrazione di un canale di comunicazione,

Dettagli

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) Scrivere una funzione per definire se un numero è primo e un programma principale minimale che ne testa la funzionalità. #include

Dettagli

I Sistemi di numerazione e la rappresentazione dei dati

I Sistemi di numerazione e la rappresentazione dei dati I Sistemi di numerazione e la rappresentazione dei dati LA RAPPRESENTAZIONE DELLE INFORMAZIONI (1) Per utilizzare un computer è necessario rappresentare in qualche modo le informazioni da elaborare e il

Dettagli

SOLUZIONE ESERCIZIO 1

SOLUZIONE ESERCIZIO 1 SOLUZIONE ESERCIZIO 1 Progettare un algoritmo che dati tre numeri (voti) a, b, c che possono assumere i valori interi da 18 a 30, calcoli la loro media. #include void main() { int a, b, c; float

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni

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

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione basata sul campo d utilizzo. I principali package sono:

Dettagli

PROBLEMI DI SCELTA. Problemi di. Scelta. Modello Matematico. Effetti Differiti. A Carattere Continuo. A più variabili d azione (Programmazione

PROBLEMI DI SCELTA. Problemi di. Scelta. Modello Matematico. Effetti Differiti. A Carattere Continuo. A più variabili d azione (Programmazione 1 PROBLEMI DI SCELTA Problemi di Scelta Campo di Scelta Funzione Obiettivo Modello Matematico Scelte in condizioni di Certezza Scelte in condizioni di Incertezza Effetti Immediati Effetti Differiti Effetti

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

Appunti di Sistemi Elettronici

Appunti di Sistemi Elettronici Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare

Dettagli

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi:

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi: JAVASCRIPT Introduzione Con l HTML siamo in grado di realizzare pagine web statiche. Con il linguaggio Javascript, invece, possiamo interagire modificando il contenuto della pagina. Il linguaggio javascript

Dettagli

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013 Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013 In questo documento vengono illustrate brevemente le operazioni aritmetiche salienti e quelle logiche ad esse strettamente collegate.

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

www.wlascuola.4000.it

www.wlascuola.4000.it 1 Cenni di programmazione Risolvere un problema significa trovare un procedimento che consenta di produrre i risultati, a partire dai dati iniziali, attraverso un processo di elaborazione. La metodologia

Dettagli

Esercizio. Pseudocodice

Esercizio. Pseudocodice Esercizio Trovare quoziente e resto di una divisione intera per differenze successive (supponendo cioè di non disporre dell operatore di divisione) Dati di Input: D, D1 (supponiamo D1>0) Dati di Output:

Dettagli

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Aritmetica: operazioni ed espressioni

Aritmetica: operazioni ed espressioni / A SCUOLA DI MATEMATICA Lezioni di matematica a cura di Eugenio Amitrano Argomento n. : operazioni ed espressioni Ricostruzione di un abaco dell epoca romana - Museo RGZ di Magonza (Germania) Libero da

Dettagli

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Dettagli

Dispensa del corso di Informatica

Dispensa del corso di Informatica Dispensa 6-Boolean 1 Algebra Booleana Dispensa del corso di Informatica La logica George Boole (1815 1864) è stato un matematico e logico britannico, ed è considerato il padre fondatore della logica matematica.

Dettagli

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

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA1 1.3 - Le strutture di controllo 1 Prerequisiti Istruzioni semplici Strutture di controllo Scittura di semplici applicazioni Java 2 1 Introduzione In molti casi le

Dettagli

LAVORI ESTIVI DI INFORMATICA PER LA CLASSE IV Sez. Ainf (Prof. Tessore Luca)

LAVORI ESTIVI DI INFORMATICA PER LA CLASSE IV Sez. Ainf (Prof. Tessore Luca) Ministero dell Istruzione, dell Università e della Ricerca Istituto Tecnico Industriale Statale Enrico Mattei Via Martiri di Cefalonia 46-20097 San Donato Milanese Tel. 0255691411 - Fax 025276676 itisando@tin.it

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di

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

Richiesta pagina PHP (es: index.php)

Richiesta pagina PHP (es: index.php) PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con

Dettagli

Introduzione. Perché un altro libro sui quiz di logica?

Introduzione. Perché un altro libro sui quiz di logica? Introduzione Per gran parte dei concorsi pubblici, dall'accesso al'università alla selezione per posti lavorativi i quiz di logica solo parte importante dei quesiti selettivi. Non richiedono una preparazione

Dettagli

Prova Scritta del 19/07/10

Prova Scritta del 19/07/10 Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da un solo lato. In testa a ciascun foglio scrivere: cognome, nome, numero progressivo

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

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Corso di Esercitazioni di Programmazione

Corso di Esercitazioni di Programmazione Corso di Esercitazioni di Programmazione Introduzione Dott.ssa Sabina Rossi Informazioni Pagina web del corso: News Orari Mailing list Lezioni Esercitazioni Date esami Risultati esami.. http://www.dsi.unive.it/~prog1

Dettagli

LA RAPPRESENTAZIONE DELLE INFORMAZIONI

LA RAPPRESENTAZIONE DELLE INFORMAZIONI ISTITUTO TECNICO E LICEO SCIENTIFICO TECNOLOGICO ANGIOY LA RAPPRESENTAZIONE DELLE INFORMAZIONI Prof. G. Ciaschetti DATI E INFORMAZIONI Sappiamo che il computer è una macchina stupida, capace di eseguire

Dettagli

Le stringhe. Le stringhe

Le stringhe. Le stringhe Informatica: C++ Gerboni Roberta Stringhe di caratteri (esempi di utilizzo dei vettori) Nel linguaggio C++ una stringa è semplicemente un vettore di caratteri Vettori di caratteri La stringa "hello" è

Dettagli

La struttura dati ad albero binario

La struttura dati ad albero binario La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,

Dettagli

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare

Dettagli

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base: LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto

Dettagli

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri. Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri. A partire da questa lezione, ci occuperemo di come si riescono a codificare con sequenze binarie, quindi con sequenze di 0 e 1,

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

+ / 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

Corso di Programmazione ad oggetti

Corso di Programmazione ad oggetti Corso di Programmazione ad oggetti Il sistema di I/O del C++ a.a. 2008/2009 Claudio De Stefano 1 Il Modello di Von Neumann Il Modello di Von Neumann prevede che la CPU carichi in maniera sequenziale i

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

ALGORITMI 1. GLI ALGORITMI 2. IL LINGUAGGIO DI PROGETTO

ALGORITMI 1. GLI ALGORITMI 2. IL LINGUAGGIO DI PROGETTO ALGORITMI 1. GLI ALGORITMI Un algoritmo è la descrizione del percorso risolutivo di un problema per giungere dai dati iniziali ai risultati finali. Scriviamo l algoritmo pensando di rivolgerci a un esecutore,

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

FORMULE: Operatori matematici

FORMULE: Operatori matematici Formule e funzioni FORMULE Le formule sono necessarie per eseguire calcoli utilizzando i valori presenti nelle celle di un foglio di lavoro. Una formula inizia col segno uguale (=). La formula deve essere

Dettagli

Programmazione I / Informatica generale Prova scritta 11 Giugno 2008

Programmazione I / Informatica generale Prova scritta 11 Giugno 2008 Programmazione I / Informatica generale Prova scritta 11 Giugno 2008 NOTA: Si trascuri ogni problema legato al tipo ed al valore di ritorno della funzione main. Inoltre, nei programmi è da sottintendere

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

anno 2014-15 Introduzione all'algoritmica per i Licei 3 Controllo del flusso di esecuzione.

anno 2014-15 Introduzione all'algoritmica per i Licei 3 Controllo del flusso di esecuzione. anno 2014-15 Introduzione all'algoritmica per i Licei 3 Controllo del flusso di esecuzione. Elio Giovannetti Dipartimento di Informatica Università di Torino versione 1 marzo 2015 Quest'opera è distribuita

Dettagli

Informatica 3. Informatica 3. LEZIONE 6: Il controllo dell esecuzione. Lezione 6 - Modulo 1. Errori durante l esecuzione. Il controllo dell esecuzione

Informatica 3. Informatica 3. LEZIONE 6: Il controllo dell esecuzione. Lezione 6 - Modulo 1. Errori durante l esecuzione. Il controllo dell esecuzione Informatica 3 Informatica 3 LEZIONE 6: Il controllo dell esecuzione Modulo 1: La gestione delle eccezioni Modulo 2: Programmazione concorrente Lezione 6 - Modulo 1 La gestione delle eccezioni Politecnico

Dettagli

SCHEDE PROGRAMMATE PER L APPRENDIMENTO DELLA MATEMATICA. Emidio Tribulato. Centro studi LOGOS - Messina

SCHEDE PROGRAMMATE PER L APPRENDIMENTO DELLA MATEMATICA. Emidio Tribulato. Centro studi LOGOS - Messina SCHEDE PROGRAMMATE PER L APPRENDIMENTO DELLA MATEMATICA Emidio Tribulato Centro studi LOGOS - Messina 1 Emidio Tribulato SCHEDE PROGRAMMATE PER L APPRENDIMENTO DELLA MATEMATICA C 2010- Tutti i diritti

Dettagli

e il calcolo percentuale

e il calcolo percentuale SCHEDA 1 Le proporzioni e il calcolo percentuale Gli obiettivi didattici Conoscere i concetti di proporzionalità diretta e inversa Conoscere il calcolo percentuale Saper applicare il calcolo percentuale

Dettagli

Caratteri e stringhe Esercizi risolti

Caratteri e stringhe Esercizi risolti Esercizi risolti 1 Esercizio: Conta vocali e consonanti Scrivere un programma in linguaggio C che legga una frase introdotta da tastiera. La frase è terminata dall introduzione del carattere di invio.

Dettagli

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++ ISTITUTO TECNICO INDUSTRIALE STATALE G A L I L E O F E R R A R I S DIISPENSA DII IINFORMATIICA E SIISTEMII AUTOMATIICII LA GESTIONE DEI FILE DI TESTO IN C++ Le classi per la gestione dei file. Il C++ è

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 05 La rappresentazione dell informazione Carla Limongelli Ottobre 2011 http://www.dia.uniroma3.it/~java/fondinf/ La rappresentazione

Dettagli

Indice. Materiale di riferimento. Struttura di un programma in C++ Introduzione al C++ (CAP 1) Alberto Garfagnini e Marco Mazzocco A.A.

Indice. Materiale di riferimento. Struttura di un programma in C++ Introduzione al C++ (CAP 1) Alberto Garfagnini e Marco Mazzocco A.A. Introduzione al C++ (CAP 1) Alberto Garfagnini e Marco Mazzocco Università degli studi di Padova A.A. 2014/2015 Indice Scrittura del primo programma in C++ elementi costitutivi del programma compilazione

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Introduzione. Informatica B. Daniele Loiacono

Introduzione. Informatica B. Daniele Loiacono Introduzione Informatica B Perchè studiare l informatica? Perchè ha a che fare con quasi tutto quello con cui abbiamo a che fare ogni giorno Perché è uno strumento fondamentale per progettare l innovazione

Dettagli

Codifica binaria dei numeri relativi

Codifica binaria dei numeri relativi Codifica binaria dei numeri relativi Introduzione All interno di un calcolatore, è possibile utilizzare solo 0 e 1 per codificare qualsiasi informazione. Nel caso dei numeri, non solo il modulo ma anche

Dettagli

Lab 04 Istruzioni, cicli e array"

Lab 04 Istruzioni, cicli e array Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2011/2012 Lab 04 Istruzioni, cicli e array" Lab04

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

Matrice Excel Calcolo rata con IMPORTO DEL FINANZIAMENTO determinato dall'utente

Matrice Excel Calcolo rata con IMPORTO DEL FINANZIAMENTO determinato dall'utente Matrice Excel Calcolo rata con IMPORTO DEL FINANZIAMENTO determinato dall'utente L'acquisto di un immobile comporta un impegno finanziario notevole e non sempre è possibile disporre della somma di denaro

Dettagli

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri 1 Da base 2 a base 10 I seguenti esercizi richiedono di convertire in base 10 la medesima stringa binaria codificata rispettivamente

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Breve riepilogo della puntata precedente:

Breve riepilogo della puntata precedente: Breve riepilogo della puntata precedente: 1. In C, il passaggio dei parametri alle funzioni avviene sempre per copia, ovvero il valore del parametro viene copiato all'interno della variabile che rappresenta

Dettagli