Programmazione Procedurale in Linguaggio C++

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione Procedurale in Linguaggio C++"

Transcript

1 Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 5 Metodologia di Sviluppo - a versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università della Basilicata mecca@unibas.it Sottoprogrammi: Metodologia di Sviluppo >> Sommario Sommario Metodologia per Raffinamenti Esempio: Indovina il Numero Esempio: 2

2 Sottoprogrammi: Metodologia di Sviluppo >> Metodologia Metodologia per Raffinamenti Passi per la scrittura di programmi effettuare l analisi delle specifiche scegliere l algoritmo scrivere il codice sorgente compilare e correggere gli errori sintattici verificare e correggere gli errori logici I passi cruciali algoritmo, codice sorgente e verifica 3 Sottoprogrammi: Metodologia di Sviluppo >> Metodologia Metodologia per Raffinamenti Tecnica per raffinamenti successivi individuare (preliminarmente) una strategia di dichiarazioni per la rappresentazione dei dati partire dalla specifica del problema complessivo e sviluppare il main() individuare una prima divisione sommaria del problema in passi (sottoproblemi) supporre di disporre di un sottoprogramma per ciascun passo 4

3 Sottoprogrammi: Metodologia di Sviluppo >> Metodologia Metodologia per Raffinamenti Tecnica per raffinamenti successivi (cont.) definire il prototipo del sottoprogramma (modalità di comunicazione con l esterno) a questo punto è possibile scrivere una prima versione del codice del main() usando sottoprogrammi che non esistono aggiungendo scheletri vuoti dei sottoprogrammi mancanti è già possibile compilare ed eseguire il codice per verificare 5 Sottoprogrammi: Metodologia di Sviluppo >> Metodologia Metodologia per Raffinamenti Tecnica per raffinamenti successivi (cont.) per completare la soluzione, è necessario scrivere il corpo dei sottoprog. mancanti in alcuni casi il sottoprogramma è sufficientemente semplice da procedere per scrittura diretta del codice in altri casi il sottoprogramma viene visto come un sottoproblema da affrontare e si riapplica il metodo 6

4 Sottoprogrammi: Metodologia di Sviluppo >> Metodologia Metodologia per Raffinamenti Tecnica per raffinamenti successivi (cont.) quando devo sviluppare il sottoprogramma p() divido il suo svolgimento in sottopassi individuo un sottoprogramma p1()... pn() per ciascun passo e ne definisco i prototipi scrivo il corpo di p() supponendo di usare i nuovi sottoprogrammi compilo e verifico rapidamente il codice ripeto ulteriormente il procedimento 7 Sottoprogrammi: Metodologia di Sviluppo >> Metodologia Metodologia per Raffinamenti Approccio dall alto ( top-down ) l approccio procede da problemi più generali a problemi via via più specifici Utilizzo di tecniche note dal basso attenzione però ad individuare tutte le volte che è possibile procedere per scrittura diretta tipico caso: tecniche algoritmiche notevoli bisogna riconoscere l applicabilità della tecnica e programmarla senza risvilupparla 8

5 Sottoprogrammi: Metodologia di Sviluppo >> Metodologia Metodologia per Raffinamenti Problema generale main() Sottoproblema n. 1 p1() Sottoproblema n. 2 p2() Sottoproblema n. 3 p3() Sottoproblema n. 1.1 p11() Sottoproblema n. 3.1 Sottoproblema n. 1.2 p12()... Scrittura diretta del codice Tecnica algoritmica nota 9 Sottoprogrammi: Metodologia di Sviluppo >> Metodologia Metodologia per Raffinamenti Caratteristica dell approccio la tecnica suggerita è centrata sulla scrittura del codice il procedimento viene applicato lavorando direttamente sul codice sorgente si alternano fasi di riflessione sulla strategia a fasi di scrittura del codice a fasi di verifica incrementale del codice scritto (codice e test) 10

6 Sottoprogrammi: Metodologia di Sviluppo >> Metodologia Metodologia per Raffinamenti Riscontri frequenti e incrementali compilare frequentemente il codice scritto per intercettare precocemente gli errori sintattici eseguire il codice non appena si raggiungono punti stabili (es: lettura e stampa oppure soluzioni intermedie) per intercettare precocemente eventuali errori logici 11 Sottoprogrammi: Metodologia di Sviluppo >> Indovina il Numero Indovina il Numero Specifica il calcolatore acquisisce il nome del giocatore il calcolatore sceglie un numero a caso compreso tra 1 e 100 il giocatore deve indovinare il numero facendo dei tentativi; ad ogni tentativo, se il numero è corretto, il giocatore vince; altrimenti il calcolatore risponde con un suggerimento che può essere Prova con un numero più alto oppure Prova con un numero più basso il calcolatore tiene traccia del numero di tentativi effettuati dal giocatore in qualsiasi momento il giocatore deve poter interrompere la partita e visualizzare il numero da indovinare 12

7 Sottoprogrammi: Metodologia di Sviluppo >> Indovina il Numero Indovina il Numero Analisi delle specifiche dati di ingresso: nome del giocatore e sequenza dei tentativi dati di uscita: messaggi del computer e numero di tentativi effettuati Domanda: come interrompere la partita? prima soluzione: un menu apposito presentato ogni volta (poco usabile) seconda soluzione: valore 0 per il tentativo Algoritmo e codice (>>> scrittura del prog.) 13 Sottoprogrammi: Metodologia di Sviluppo >> Indovina il Numero Indovina il Numero Riassumiamo il metodo I iterazione: Programma principale passo n.1: inizia il gioco e acquisisci il nome passo n.2: gioca le partite Per ognuno dei passi (sottoproblemi) un sottoprogramma in alcuni casi è necessario ripetere il procedimento 14

8 Sottoprogrammi: Metodologia di Sviluppo >> Indovina il Numero Indovina il Numero #include <iostream.h> void schermolegginome(string &nome); void gioca(string nome); void main() { string nome; schermolegginome(nome); // per il passo 1 gioca(nome); // per il passo 2 15 Sottoprogrammi: Metodologia di Sviluppo >> Indovina il Numero Indovina il Numero schermolegginome scrittura diretta gioca applico di nuovo il metodo II iterazione: gioca passo 2.1: genera il numero passo 2.2: gestisci tentativi 16

9 Sottoprogrammi: Metodologia di Sviluppo >> Indovina il Numero Indovina il Numero int generanumero(); void gestiscitentativi(string nome, int numero); void gioca(string nome) { int numero; numero = generanumero(); gestiscitentativi(nome, numero); 17 Sottoprogrammi: Metodologia di Sviluppo >> Indovina il Numero Indovina il Numero generanumero scrittura diretta III iterazione: gestiscitentativi finchè l utente vuole andare avanti passo 2.2.1: acquisisci il tentativo se il tentativo è uguale a 0 interrompi il gioco passo 2.2.2: visualizza lo schermo di partita interrotta altrimenti se il tentativo è uguale al numero passo 2.2.3: visualizza lo schermo di vittoria altrimenti passo 2.2.4: analizza il tentativo e stampa l esito 18

10 Sottoprogrammi: Metodologia di Sviluppo >> Indovina il Numero Indovina il Numero //...prototipi omessi per ragioni di spazio void gestiscitentativi(string nome, int numero) { int giocata; int tentativi = 0; bool continua = true; while (continua) { giocata = schermotentativo(nome, tentativi); if (giocata == 0) { continua = false; schermointerruzione(nome, numero, tentativi); else { tentativi++; if (giocata == numero) { continua = false; schermoindovinato(nome, tentativi); else { schermoesitogiocata(nome, numero, giocata); return; 19 Sottoprogrammi: Metodologia di Sviluppo >> Indovina il Numero Indovina il Numero schermotentativo scritura diretta schermointerruzione scrittura diretta schermoindovinato scrittura diretta schermoesitogiocata scrittura diretta 20

11 Sottoprogrammi: Metodologia di Sviluppo >> Indovina il Numero Indovina il Numero Tenere traccia dei tentativi effettuati un classico problema di conteggio risolvibile con una tecnica algoritmica notevole: utilizzo di una variabile contatore riapplico la tecnica standard senza riprogettarla ma semplicemente limitandomi ad adattarla al contesto applicativo specifico (tentativi) 21 Sottoprogrammi: Metodologia di Sviluppo >> Indovina il Numero Indovina il Numero In sintesi quindi il metodo guida il programmatore dall inizio alla fine della scrittura del codice applicato sistematicamente consente di produrre abbastanza facilmente la soluzione consente di ottenere riscontri rapidi su errori sintattici ed errori logici e facilita la correzione 22

12 Specifica siano dati due rettangoli nel piano cartesiano si supponga che i due rettangoli abbiano i lati paralleli agli assi cartesiani analizzare i rettangoli e stampare il quadrante in cui sono contenuti verificare se i due rettangoli hanno una sovrapposizione (una parte di piano che cade in entrambi i rettangoli) se sì, stampare l area della superficie comune 23 Esempi rettangoli nel I quadrante in questo caso c è una superficie comune di area pari a 12 cm 2 I rettangolo a cavallo tra più quadranti II rettangolo nel I quadrante in questo caso non c è superficie comune 24

13 Analisi della specifica è fondamentale l ipotesi semplificativa per cui i lati sono paralleli agli assi il problema principale è che i rettangoli possono essere in uno qualsiasi dei quadranti e le posizioni reciproche possono essere varie (disgiunti, parz. sovrapp., tot. sovrapp.) la casistica è abbastanza ampia 25 Analisi della specifica (continua) ambiguità: nell analisi del quadrante bisogna stabilire come considerare gli assi soluzione: stabiliamo di considerare gli assi come parte dei quadranti positivi nel caso in cui il rettangolo non sia in un unico quadrante stamperemo un messaggio generico Rettangolo tra più quadranti 26

14 Strategia per la rappresentazione dei dati ci sono vari modi per rappresentare un rettangolo in questo caso utilizzeremo le coordinate di due dei vertici ogni rettangolo sarà rappresentato con 4 variabili reali 2 coordinate del vertice in basso a sinistra 2 coordinate del vertice in alto a destra 27 Esempi rettangolo 1: (1, 2) (7, 6) rettangolo 2: (3, 1) (8, 5) rettangolo 1: (-2, 3.5) (3, 5.5) rettangolo 2: (2, 1) (6.2, 3) 28

15 >>> scrittura del programma Per la scrittura del codice utilizzeremo il metodo individuazione di un modulo da scrivere (main o sottoprogramma) divisione in sottoproblemi (fase di progetto) scelta di un sottoprogramma per ciascun sottoproblema scrittura del modulo supponendo di avere a disposizione i sottoprogrammi compilazione e verifica parziale ripetizione dei passi precedenti per ulteriori moduli 29 Programma Principale: I Raffinamento passo 1: leggi i dati dei rettangoli passo 2: stampa i dati dei rettangoli passo 3: analizza i quadranti passo 4: trova la superficie comune passo 5: stampa il risultato 30

16 void leggidatirettangolo(float &x1,float &y1,float &x2,float &y2); void stampadatirettangolo(float x1, float y1, float x2, float y2); void stampaquadrante(float x1, float y1, float x2, float y2); float areasovrapposizione(float x1,float y1,float x2,float y2, float x3,float y3,float x4,float y4); void stamparisultato(float superficie); NOTA: tutte le procedure sono schermi (il nome è abbreviato) void main() { float x1, y1, x2, y2, x3, y3, x4, y4; float superficie; leggidatirettangolo(x1, y1, x2, y2); leggidatirettangolo(x3, y3, x4, y4); stampadatirettangolo(x1, y1, x2, y2); stampaquadrante(x1, y1, x2, y2); stampadatirettangolo(x3, y3, x4, y4); stampaquadrante(x3, y3, x4, y4); superficie = areasovrapposizione(x1,y1,x2,y2,x3,y3,x4,y4); stamparisultato(superficie); 31 II Raffinamento passo 1: procedura leggirettangolo > scrittura diretta del codice passo 2: procedura stamparettangolo > scrittura diretta del codice passo 3: procedura stampaquadrante > applico iterativamente il procedimento passo 4: funzione areasovrapposizione > applico iterativamente il procedimento passo 5: stampa il risultato > scrittura diretta del codice 32

17 Come al solito in generale scrivo prima il codice del modulo chiamante e poi quello dei moduli chiamati stabilisco un accordo relativo alla chiamata prima ancora di avere deciso i dettagli del codice accordo: nome del modulo, numero e tipo dei parametri, eventuale tipo del risultato 33 Passo 3: stampaquadrante passo 3.1: trova il quadrante del vertice in basso a sinistra passo 3.2: trova il quadrante del vertice in alto a destra se sono nello stesso quadrante stampa il quadrante altrimenti stampa Rettangolo tra quadranti diversi 34

18 int quadrante(float x, float y); void stampaquadrante(float x1, float y1, float x2, float y2){ int q1, q2; q1 = quadrante(x1, y1); q2 = quadrante(x2, y2); cout << " \n"; if (q1 == q2) { cout << "Rettangolo nel quadrante n. " << q1 << "\n"; else { cout << "Rettangolo a cavallo tra quadranti diversi \n"; cout << " \n"; return; 35 Passo 3.1: quadrante il passo 3.1 e il passo 3.2 richiedono la stessa funzione dato un punto, deve restituire un numero intero corrispondente al quadrante è possibile scrivere direttamente il codice analizzando il valore dell ascissa e dell ordinata 36

19 int quadrante(float x, float y) { int q; if (x >= 0 && y >= 0) { q = 1; else if (x < 0 && y >= 0) { q = 2; else if (x < 0 && y < 0) { q = 3; else { q = 4; return q; 37 Passo 4: areasovrapposizione si tratta di calcolare effettivamente l area della sovrapposizione In effetti la sovrapposizione, se c è, è un rettangolo posso pensare di calcolarne separatamente la base e l altezza e poi calcolarne l area 38

20 Di conseguenza dovrei calcolare l eventuale sovrapposizione tra le due basi l eventuale sovrapposizione tra le due altezze 39 Passo 4: areasovrapposizione passo 4.1: trova la lunghezza dell eventuale sovrapposizione tra le basi passo 4.2: trova la lunghezza dell eventuale sovrapposizione tra le altezze se entrambe le lunghezze sono positive calcola il prodotto restituisci il prodotto calcolato altrimenti restituisci 0 40

21 In realtà il passo 4.1 e il passo 4.2 corrispondono a ripetere due volte la stessa operazione trovare la sovrapposizione tra due segmenti è un problema unidimensionale: dati due generici segmenti su un asse, trovare la lunghezza dell event. segmento comune la prima volta i segmenti sono le basi la seconda volta i segmenti sono le altezze 41 Quindi utilizzerò un unica funzione lunghezzasegmentocomune che lavora su due segmenti ogni segmento è rappresentato dalle coordinate dei due estremi su un asse I caso: segmento 1: (-1, 3) segmento 2: (6, 8) II caso: segmento 1: (-1, 5) segmento 2: (3, 8) 42

22 float lunghezzasegmentocomune (float z1, float z2, float z3, float z4); float areasovrapposizione(float x1,float y1,float x2,float y2, float x3,float y3,float x4,float y4) { float sovrapposizionebasi; float sovrapposizionealtezze; float area = 0; sovrapposizionebasi = lunghezzasegmentocomune(x1,x2,x3,x4); sovrapposizionealtezze =lunghezzasegmentocomune(y1,y2,y3,y4); if (sovrapposizionebasi > 0 && sovrapposizionealtezze > 0) { area = sovrapposizionebasi * sovrapposizionealtezze; return area; 43 III Raffinamento è necessario scrivere la funzione lunghezzasegmentocomune Soluzione n.1 analisi caso per caso estremamente difficile da scrivere (casistica molto ampia) 44

23 Soluzione n.2 analizzando il problema, è possibile trovare una formula compatta che risolve il problema dati due segmenti di estremi z1-z2 e z3-z4 calcoliamo le lungh.: L1= z2-z1, L2= z4-z3 calcoliamo la coordinata di valore più basso INF = min(z1, z3) calcoliamo la coordinata di valore più alto SUP = max(z2, z4) 45 Soluzione n.2 (continua) calcoliamo L = (L1 + L2) - SUP - INF se L>0, i due segmenti hanno una porzione comune di lunghezza L Intuizione I caso: L1=5, L2=2, INF=1, SUP=8 L= =0 II caso: L1=4, L2=2, INF=-1, SUP=8 L= =-3 II caso: L1=6, L2=5, INF=-1, SUP=8 L= =

24 Vantaggio della formula funziona in tutti i possibili casi (coordinate positive o negative, segmenti disgiunti, parzialmente o totalmente sovrapposti, ecc.) il codice è estremamente compatto soluzione elegante ma si tratta di un algoritmo per nulla scontato richiede capacità di analisi e conoscenza della geometria 47 A questo punto il problema è praticamente risolto è necessario utilizzare una funzione per il calcolo del minimo > scrittura diretta è necessario utilizzare una funzione per il calcolo del massimo > scrittura diretta la funzione lunghezzasegmentocomune può essere scritta come segue 48

25 float minimo(float a, float b); float massimo(float a, float b); float lunghezzasegmentocomune (float z1, float z2, float z3, float z4){ float lunghezza1, lunghezza2; float estremoinferiore, estremosuperiore; float lunghezza; lunghezza1 = fabs(z2-z1); lunghezza2 = fabs(z4-z3); estremoinferiore = minimo(z1, z3); estremosuperiore = massimo(z2, z4); lunghezza = lunghezza1 + lunghezza2 - fabs(estremosuperiore - estremoinferiore); return lunghezza; 49 Una volta completata la scrittura è necessario verificare la correttezza Verifica è necessario costruire un insieme di dati di test per effettuare le verifiche devono rappresentare tutti o pressoché tutti i casi significativi ogni volta che il programma viene modificato, è necessario ripetere tutte le verifiche 50

26 Una porzione dei dati di test >> rettangoli1.cpp rettangolo 1: (1, 2) (7, 6) rettangolo 1: (-2, 3.5) (3, 5.5) rettangolo 2: (3, 1) (8, 5) rettangolo 2: (2, 1) (6.2, 3) sovrapposizione: 12 cm 2 sovrapposizione: 0 51 Sottoprogrammi: Metodologia di Sviluppo >> Sommario Riassumendo Metodologia suggerita per raffinamenti successivi approccio iterativo e centrato sulla scrittura del codice 52

27 Termini della Licenza Termini della Licenza This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Questo lavoro viene concesso in uso secondo i termini della licenza Attribution-ShareAlike di Creative Commons. Per ottenere una copia della licenza, è possibile visitare oppure inviare una lettera all indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. 53

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 3 (b) Metodologia di Sviluppo versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Conclusioni parte b versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 4 Conclusioni versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 6 Metodologia di Sviluppo - b versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 2 Istruzioni Condizionali versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 1 Introduzione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 4 Conclusioni versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 3 Istruzioni Iterative (Cicli) versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 8 Dettagli e Approfondimenti versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 1 Introduzione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 2 (a) Sintassi e Semantica versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 1 Introduzione versione 2.1 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Introduzione versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Concetti Avanzati Tecniche di Test e Correzione versione 2.4 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 4 Conclusioni versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Concetti Introduttivi Parte 2 Linguaggi di Programmazione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte c versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 7 Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 5 Conclusioni versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 5 Conclusioni versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Concetti Introduttivi Parte 2 Linguaggi di Programmazione versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ereditarietà e Polimorfismo: Polimorfismo - a Programmare con il Polimorfismo versione 1.2 Questo lavoro è concesso in uso secondo i termini di

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 6 Il FORTRAN versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Test e Correzione: Introduzione versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione Web: Introduzione versione 3.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Design Pattern: Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Concetti Avanzati versione 2.5 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web JavaScript Concetti Fondamentali versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica: Convenzioni di Stile versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Qualità del Codice: Convenzioni di Stile versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 3 Record versione 2.1 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Riferimenti versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 3 Programmazione Modulare (a) versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 1 Introduzione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: C# versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Strumenti di Sviluppo: Introduzione versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Concetti Introduttivi Parte 1 Architettura del Calcolatore versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Aspetti Metodologici versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 2 La Lista versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 4 Lettura e Stampa dei Dati versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: C# versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Elementi di base di un programma Dichiarazione dei dati in un programma Sommario Panoramica Elementi di Base di un Programma Struttura Direttive Elementi Sintattici di Base Commenti

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati La Matrice versione. Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Strati Applicativi versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurae in Linguaggio C++ Strutture di Dati La Lista parte b versione 2.4 Questo avoro è concesso in uso secondo i termini di una icenza Creative Commons (vedi utima pagina) G. Mecca

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ereditarietà e Polimorfismo: Polimorfismo - d Regole Sintattiche e Semantiche versione 1.2 Questo lavoro è concesso in uso secondo i termini di

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 4 Conclusioni G. Mecca M. Samela Università della Basilicata Strutture di Dati: Conclusioni >> Sommario Sommario Ricapitolazione Alcune

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Conclusioni Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Le Stringhe versione 2.1 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it Università

Dettagli

Programmazione Procedurale

Programmazione Procedurale Programmazione Procedurale Concetti Introduttivi Strumenti di Sviluppo versione 3.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università

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 E03 Esempi di algoritmi e programmi A. Miola Novembre 2011 1 Contenuti q Progettazione di algoritmi q Problemi di ingresso - uscita

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Eccezioni: C# versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione Web: Conclusioni versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati 1 Note di carratere generale Docente: Camillo Fiorentini 9 ottobre 2007 L obiettivo è quello di scrivere delle semplici funzioni per risolvere problemi di tipo

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Componenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java : Conclusioni versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione su XML: C# versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione su XML: Strato di Persistenza versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Introduzione versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: Conclusioni versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 2 La Lista G. Mecca M. Samela Università della Basilicata Strutture di Dati: Lista >> Sommario Sommario Introduzione Definizione di

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 4 Conclusioni G. Mecca M. Samela Università della Basilicata Strutture di Controllo >> Sommario Sommario Ricapitolazione Alcune

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Presentazione del Corso Anno Accademico 2003-2004 http://www.db.unibas.it/users/mecca/corsi/progoggettii versione 1.0 Questo lavoro è concesso in

Dettagli

Esercitazione 3. Espressioni booleane I comandi if-else e while

Esercitazione 3. Espressioni booleane I comandi if-else e while Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 2 Istruzioni Condizionali G. Mecca M. Samela Università della Basilicata Istruzioni Condizionali >> Sommario Sommario Introduzione

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Introduzione Architettura di Riferimento versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti Sintassi e Semantica Parte b: Peculiarità di Java versione 1.2 Questo lavoro è concesso in uso secondo i termini di una licenza

Dettagli

Introduzione ai Calcolatori Elettronici

Introduzione ai Calcolatori Elettronici Introduzione ai Calcolatori Elettronici Elementi di Base dell ICT Information and Communication Technology Concetti Introduttivi A.A. 2013/2014 Domenica Sileo Università degli Studi della Basilicata Elementi

Dettagli

Il problema dello zaino

Il problema dello zaino Il problema dello zaino (knapsack problem) Damiano Macedonio mace@unive.it Copyright 2010 2012 Moreno Marzolla, Università di Bologna (http://www.moreno.marzolla.name/teaching/asd2011b/) This work is licensed

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Linguaggi di Programmazione Sintassi

Dettagli

L ELABORATORE ELETTRONICO!

L ELABORATORE ELETTRONICO! L ELABORATORE ELETTRONICO! Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti

Dettagli

Dall analisi alla codifica (1)

Dall analisi alla codifica (1) Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (1) Aprile 2010 Dall'analisi alla codifica (1) 1 Contenuti... Problemi e algoritmi comprensione del problema

Dettagli

PROGRAMMAZIONE: Le strutture di controllo

PROGRAMMAZIONE: Le strutture di controllo PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Tecniche di Programmazione: Date versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 3 Record G. Mecca M. Samela Università della Basilicata Tipi Strutturati: Record >> Sommario Sommario Introduzione Dichiarazione di Record

Dettagli

Il primo programma C++

Il primo programma C++ Il primo programma C++ Un programma in qualsiasi linguaggio evoluto è una sequenza di istruzioni che la CPU dopo opportune conversioni esegue. La sintassi dei linguaggi di programmazione è molto piu rigida

Dettagli

Strutture come parametri di funzioni

Strutture come parametri di funzioni Strutture come parametri di funzioni int main() { struct PolReg { int numlati; float lunghezzalato; PolReg p1; p1.numlati = 3; p1.lunghezzalato = 10.0; float perimetro = p1.numlati * p1.lunghezzalato;

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: C# versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

ITI M. FARADAY. Programmazione a. s

ITI M. FARADAY. Programmazione a. s ITI M. FARADAY Programmazione a. s. 2018-2019 Disciplina: INFORMATICA Indirizzo: INFORMATICA E TELECOMUNICAZIONI Classi: Terza A Terza B Ore settimanali previste: 6 (3 ora Teoria - 3 ore Laboratorio) Docenti:

Dettagli

Elaboratore Elettronico

Elaboratore Elettronico L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati)) per produrre rre altri oggetti

Dettagli

Assegnazione di una variabile

Assegnazione di una variabile Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile

Dettagli

Unità A1 Funzioni MODULO Java 2

Unità A1 Funzioni MODULO Java 2 Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA Passaggio parametri per valore Passaggio parametri per indirizzo Parametri formali e attuali Regole di visibilità Ambiente

Dettagli

Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie

Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie Università degli Studi di Verona Dipartimento di Biotecnologie Laurea in Biotecnologie Corso di Informatica2014/2015 Algoritmie Diagrammidiflusso Gennaio 2015 - Sergio Marin Vargas Problemi e soluzioni

Dettagli

L ELABORATORE ELETTRONICO

L ELABORATORE ELETTRONICO L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su dati in ingresso (input) per produrre uno

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Test e Correzione: C# Parte a versione 1.5 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

PROGRAMMAZIONE: La selezione

PROGRAMMAZIONE: La selezione PROGRAMMAZIONE: La selezione Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l altra, riga per

Dettagli

20/10/2014 M. Nappi/FIL 1

20/10/2014 M. Nappi/FIL 1 FIL Lezione 4: Istruzioni Iterative. Michele Nappi mnappi@unisa.it biplab.unisa.it 20/10/2014 M. Nappi/FIL 1 La struttura di Iterazione while Struttura tt di iterazione i Il programmatore specifica un

Dettagli

Come scrivere bene codice? (1 di 1)

Come scrivere bene codice? (1 di 1) DIAGRMMI DI FLUSSO Come scrivere bene codice? (1 di 1) Prima di iniziare a scrivere un programma: Acquisire profonda comprensione del problema; Progettare un approccio per la risoluzione del problema.

Dettagli

Implementazione dell albero binario in linguaggio C++

Implementazione dell albero binario in linguaggio C++ Implementazione dell albero binario in linguaggio C++ Costruire il programma per gestire le operazioni su un albero binario. Ogni nodo dell albero contiene un codice e una descrizione; il programma deve

Dettagli

Esercizi di Algoritmi e Strutture Dati

Esercizi di Algoritmi e Strutture Dati Esercizi di Algoritmi e Strutture Dati Moreno Marzolla http://www.moreno.marzolla.name/ Ultima Modifica: 7 ottobre 202 Copyright Portions of this work are Copyright 202, Moreno Marzolla. This work is licensed

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione su Basi di Dati: Tecnologie versione 3.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli