Programmazione Procedurale in Linguaggio C++
|
|
- Bartolomeo Gioia
- 6 anni fa
- Visualizzazioni
Transcript
1 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à della Basilicata mecca@unibas.it Tipi Strutturati: Record >> Sommario Sommario Introduzione Dichiarazione di Record (o Strutture ) Descrizione del Modello Sintassi e Semantica Utilizzo dei Record (o Strutture ) Sintassi e Semantica Nidificazione Nidificazione e Passaggio dei Parametri 2
2 Tipi Strutturati: Record >> Introduzione Introduzione Record (o Strutture ) funzionalità dei linguaggi di programmazione che consente di rappresentare in un prg. oggetti attraverso varie componenti (variabili) Differenze nell uso un array serve a rappresentare una collezione di dati tutti dello stesso tipo un record serve a rappresentare un unico dato con struttura complessa 3 Tipi Strutturati: Record >> Introduzione Introduzione Differenze con gli array in un record, le componenti possono non essere dello stesso tipo ogni componente ha un nome (identificatore) e non un indice intero gli array sono una funzionalità essenziale dei linguaggi di programmazione procedurali i record non sono essenziali (in alcuni linguaggi, es: FORTRAN 77, non esistono) 4
3 Tipi Strutturati: Record >> Introduzione Introduzione Principale utilità dei record semplificazione del codice (dichiarazione di meno variabili, minor numero di parametri) maggiore leggibilità del codice (le variabili che rappresentano un oggetto sono raggruppate e quindi meglio identificabili) Un esempio: equazioni di II grado >> equazioni4lib.h >> equazioni4lib.cpp >> equazioni4.cpp un equazione di II grado richiede 3 numeri 5 Tipi Strutturati: Record >> Dichiarazione di Record Dichiarazione di Record Processo a due passi I passo: descrivo il modello del record che voglio utilizzare II passo: utilizzo il modello come nuovo tipo di dato per dichiarare variabili Modello del record descrizione della struttura del record può essere utilizzato dovunque sia previsto un tipo di dato in aggiunta a quelli di base 6
4 Tipi Strutturati: Record >> Dichiarazione di Record Dichiarazione di Record: Esempi struct equazione { float a, b, c; ; equazione eq1, eq2; struct partita { string squadracasa, squadratrasferta; int golcasa, goltrasferta; char segno; ; partita partite[n]; descrizione del modello di record dichiarazione di 2 variabili secondo il modello descrizione del modello di record dichiarazione di un array di variabili secondo il modello 7 Tipi Strutturati: Record >> Dichiarazione di Record Descrizione del Modello di Record Sintassi struct <nome> {<elencoattributi>; Dove ATTENZIONE: errore frequente <nome> è un identificatore <elencoattributi> è l elenco delle componenti del record, detti attributi (o campi ) una lista di dichiarazioni del genere <tipoattributo> <nomeattributo>; 8
5 Tipi Strutturati: Record >> Dichiarazione di Record Descrizione del Modello di Record Semantica la descrizione del modello diventa un nuovo identificatore di tipo si aggiunge ai tipi di base (int, float, char, ecc.) e ai tipi predefiniti (string, ofstream ecc.) Di conseguenza può essere utilizzato per dichiarare variabili, costanti e parametri 9 Tipi Strutturati: Record >> Dichiarazione di Record Dichiarazione delle Variabili Sintassi ordinaria <nomemodello> <nomevar>; Semantica ha l effetto di dichiarare un numero di variabili pari agli attributi del modello più una variabile per il record nel suo complesso nome delle variabili costituito da due parti ovvero: <nomevar>.<nomeattributo> 10
6 Tipi Strutturati: Record >> Dichiarazione di Record Dichiarazione delle Variabili Esempio #99 struct equazione { float a, b, c; ; #101 #102 #103 eq1 eq1.a eq1.b eq1.c eq2.a equazione eq1, eq2; #104 #105 eq2 eq2.b eq2.c #106 in totale: 8 variabili 11 Tipi Strutturati: Record >> Dichiarazione di Record Dichiarazione di Record Attenzione in questo caso avrei potuto anche dichiarare due array (componenti dello stesso tipo) Esempio float eq1[3], eq2[3]; a quale coefficiente corrisponde eq1[0]? (a, b o c) a quale coefficiente corrisponde eq1[1]? (a, b o c) a quale coefficiente corrisponde eq1[2]? (a, b o c) E una soluzione metodologicam. inappropriata 12
7 Tipi Strutturati: Record >> Dichiarazione di Record Dichiarazione delle Variabili Esempio struct partita { string squadracasa; #99 string squadratrasferta; #101 int goalcasa; #102 int goaltrasferta; #103 char segno; #104 ; #105 p p.squadracasa p.squadratrasferta p.goalcasa p.goaltrasferta p.segno partita p; in totale: 6 variabili 13 Tipi Strutturati: Record >> Dichiarazione di Record Dichiarazione delle Variabili Un annotazione importante differenza fondamentale tra descrizione del modello e dichiarazione (di var. o param.) la descrizione del modello NON produce effetti sulla memoria, la dichiarazione sì la descrizione del modello ha solo l effetto di rendere il modello un nuovo tipo di dato ATTENZIONE: Errore frequente la descrizione del modello deve finire con ; 14
8 Tipi Strutturati: Record >> Dichiarazione di Record Dichiarazione delle Variabili Inizializzazione anche in questo caso è possibile inizializzare gli attributi alla dichiarazione Sintassi <modello> <nomevar> = {<listavalori>; Dove <listavalori> è un elenco di valori di tipo opportuno, uno per ogni attributo del record, separati da virgole 15 Tipi Strutturati: Record >> Dichiarazione di Record Dichiarazione delle Variabili Esempio equazione eq = {5, 2, 5; partita p = { Juventus, Inter, 4, 0, 1 ; 16
9 Tipi Strutturati: Record >> Utilizzo di Record Utilizzo dei Record Regola generale come gli array, di norma le operazioni sui record si effettuano attributo per attributo ovvero lavorando singolarmente sulle variabili che rappresentano gli attributi Alcune eccezioni istruzioni di assegnazione utilizzo nei sottoprogrammi 17 Tipi Strutturati: Record >> Utilizzo di Record Utilizzo dei Record Istruzioni di assegnazione attributo per attributo oppure tutto in una volta Esempio struct equazione { float a, b, c; ; void main() { equazione eq1 = {5, 2, 5; equazione eq2; eq2 = eq1; equivalente a: eq2.a = eq1.a; eq2.b = eq1.b; eq2.c = eq1.c; 18
10 Tipi Strutturati: Record >> Utilizzo di Record Utilizzo dei Record Passaggio dei parametri la variabile che rappresenta il record nel suo complesso può essere usata come argomento per i sottoprogrammi Parametro di tipo record tanti parametri, uno per ciascun attributo Differenza con gli array passaggio dei parametri avviene in modo ordinario, sia per valore che per riferimento 19 Tipi Strutturati: Record >> Utilizzo di Record Utilizzo dei Record Passaggio dei parametri standard nello spazio di memoria del parametro viene copiato il valore del record argomento, attributo per attributo Passaggio dei parametri per riferimento nello spazio di memoria del parametro viene copiato l indirizzo del primo registro del record utilizzato come argomento 20
11 Tipi Strutturati: Record >> Utilizzo di Record Esempio: Equazioni void leggidatiequazione (equazione &eq) { cout << "Inserisci i coefficienti dell'equazione \n"; cin >> eq.a; cin >> eq.b; cin >> eq.c; return; void stampadatiequazione (equazione eq) { cout << " Equazione \n"; cout << eq.a << "x2+"<< eq.b <<"x+" << eq.c << "=0 \n"; return; float discriminante (equazione eq) { return eq.b*eq.b-4*eq.a*eq.c; parametro per riferimento parametri standard 21 Tipi Strutturati: Record >> Utilizzo di Record Esempio: Equazioni void leggidatiequazione (equazione &eq) { cout << "Inserisci coeff."; cin >> eq.a; cin >> eq.b; cin >> eq.c; return; #99 #101 #102 #103 #104 eq1 eq2 eq1.a eq1.b eq1.c eq2.a eq2.b void main() { equazione eq1, eq2; leggidatiequazione(eq1); leggidatiequazione(eq2); if (discriminante(eq1)>=0 && discriminante(eq2)>=0) { #105 #106 eq eq2.c 22
12 Tipi Strutturati: Record >> Utilizzo di Record Esempio: Equazioni #99 float discriminante (equazione eq) { return eq.b*eq.b-4*eq.a*eq.c; #101 #102 #103 eq1 eq1.a eq1.b eq1.c eq2.a #104 eq2 eq2.b 2 void main() { equazione eq1, eq2; leggidatiequazione(eq1); leggidatiequazione(eq2); if (discriminante(eq1)>=0 && discriminante(eq2)>=0) { #105 #106 #107 #108 eq eq2.c eq.a eq.b eq.c Tipi Strutturati: Record >> Utilizzo di Record Utilizzo dei Record Risultato delle funzioni le funzioni possono restituire come risultato dei record (ulteriore differenza con gli array) Esempio: calcolo delle radici reali struct radicireali { float x, y; ; radicireali calcolaradici (equazione eq) { radicireali rr; rr.x=(-eq.b+sqrt(discriminante(eq)))/(2*eq.a); rr.y=(-eq.b-sqrt(discriminante(eq)))/(2*eq.a); return rr; NOTA: una funzione del genere può essere usata solo in una assegnazione del tipo: radicireali radici1; radici1 = calcolaradici(eq1) 24
13 Tipi Strutturati: Record >> Utilizzo di Record Utilizzo dei Record Per il resto le operazioni sui record (lettura, stampa ecc.) vengono fatte attributo per attributo Differenza rispetto agli array nel caso degli array, è possibile utilizzare cicli per rendere più compatto il codice nel caso dei record questo vantaggio non esiste; le istruzioni devono essere scritte per ciascun attributo separatamente 25 Tipi Strutturati: Record >> Utilizzo di Record Utilizzo di Record Record e array i record possono essere combinati con gli array per rappresentare collezioni di dati con struttura complessa Esempio: Partite di Serie A dati i risultati di una giornata di serie A, calcolare e stampare i segni in schedina un array di 9 partite 26
14 Tipi Strutturati: Record >> Dichiarazione di Record Esempio: Partite di Serie A const int N=9; struct partita { ; string squadracasa; string squadratrasf; int goalcasa; int goaltrasferta; char segno; partita partite[n]; in totale: 55 variabili -1 array -9 componenti -5 attributi per componente #99 #101 #102 #103 #104 #140 #141 #142 #143 #144 #145 partite partite[0] partite[8] partite[0].squadracasa partite[0].squadratrasf partite[0].goalcasa partite[0].goaltrasferta partite[0].segno partite[8].squadracasa partite[8].squadratrasf partite[8].goalcasa partite[8].goaltrasferta partite[8].segno 27 Tipi Strutturati: Record >> Utilizzo di Record Esempio: Partite di Serie A Nota la definizione del modello di record partita, così come la costante N, devono essere dichiarati a livello di file visibilità globale, perché vengono usati sostanzialmente in tutti i moduli del programma questo non contravviene all indicazione di non usare variabili globali, visto che non si tratta di variabili 28
15 Tipi Strutturati: Record >> Utilizzo di Record Esempio: Partite di Serie A struct partita { string squadracasa, squadratrasferta; int goalcasa, goaltrasferta; char segno; ; const int N=9; void leggipartite(partita partite[n]); void stampapartite(partita partite[n]); void calcolasegni(partita partite[n]); void main() { partita partite[n]; leggipartite(partite); calcolasegni(partite); stampapartite(partite); 29 Tipi Strutturati: Record >> Utilizzo di Record Esempio: Partite di Serie A void leggipartite(partita partite[n]){ int i; for (i=0; i<n; i++) { leggipartita(partite[i]); return; void leggipartita(partita &p){ cout << "Squadra in casa : "; getline(cin, p.squadracasa); cout << "Squadra in trasferta : "; getline(cin, p.squadratrasferta); cout << "Goal squadra in casa : "; cin >> p.goalcasa; cout << "Goal squadra in trasferta: "; cin >> p.goaltrasferta; cin.ignore(); return; ha l effetto di chiamare N volte la procedura leggipartita i=0 leggipartita(partite[0]) i=1 leggipartita(partite[1]) necessaria per rimuovere il carattere \n dal flusso prima della lettura della stringa successiva 30
16 Tipi Strutturati: Record >> Dichiarazione di Record Esempio: Partite void leggipartita(partita &p){ getline(cin, p.squadracasa); partite #102 partite[0] partite[0].goalcasa 0 void leggipartite #103 partite[0].goaltrasferta 0 (partita partite[n]){ #104 partite[0].segno int i; for (i=0; i<n; i++) { #140 partite[8].squadracasa leggipartita(partite[i]); partite[8] return; #144 partite[8].segno #145 partite void main() { #146 i 01 partita partite[n]; #147 p #105 leggipartite(partite); 31 #99 #101 partite[0].squadracasa Juve partite[0].squadratrasf Inter Tipi Strutturati: Record >> Utilizzo di Record Esempio: Partite di Serie A void calcolasegni(partita partite[n]){ int i; for (i=0; i<n; i++) { if (partite[i].goalcasa > partite[i].goaltrasferta) { partite[i].segno='1'; else { if (partite[i].goalcasa<partite[i].goaltrasferta) { partite[i].segno='2'; else { partite[i].segno='x'; return; 32
17 Tipi Strutturati: Record >> Utilizzo di Record Esempio: Partite di Serie A void stampapartite(partita partite[n]){ int i; for (i=0; i<n; i++) { stampapartita(partite[i]); return; void stampapartita(partita p){ cout << p.squadracasa << "- << p.squadratrasferta << " \t"; cout << p.goalcasa << "-" << p.goaltrasferta << " \t" << p.segno << endl; return; ha l effetto di chiamare N volte la procedura stampapartita i=0 stampapartita(partite[0]) i=1 stampapartita(partite[1]) 33 Tipi Strutturati: Record >> Dichiarazione di Record Esempio: Partite void stampapartita(partita p){ void stampapartite (partita partite[n]){ int i; for (i=0; i<n; i++) { stampapartita(partite[i]); return; void main() { partita partite[n]; stampapartite(partite); #146 #147 #148 #149 #150 Juve Inter #151 p.segno X 34 #99 #101 #102 #103 #104 #140 #144 #145 partite partite[0] partite[8] partite i p partite[0].squadratrasf partite[0].goalcasa partite[0].goaltrasferta partite[0].segno partite[8].squadracasa partite[8].segno partite[0].squadracasa Juve p.squadracasa p.squadratrasf p.goalcasa p.goaltrasferta Inter 0 0 X 0 0 0
18 Tipi Strutturati: Record >> Nidificazione Nidificazione Due categorie di tipi di dato tipi di base (int, float, double, char, bool) e assimilati (string, ifstream, ofstream) tipi strutturati Tipi strutturati costruiti utilizzando array e record array e record possono essere liberamente nidificati 35 Tipi Strutturati: Record >> Nidificazione Nidificazione Un esempio sovrapposizione di rettangoli Rettangolo oggetto rappresentato da due punti nel piano cartesiano Punto oggetto rappresentato da due coordinate reali nel piano cartesiano 36
19 Tipi Strutturati: Record >> Nidificazione Esempio: Sovrapp. di Rettangoli struct punto { float x, y; ; #99 #101 r1 r1.v1 r1.v1.x r1.v1.y struct rettangolo { punto v1, v2; ; #102 #103 #104 r1.v2 r2.v1 r1.v2.x r1.v2.y r2.v1.x #105 r2 r2.v1.y rettangolo r1, r2; #106 #107 r2.v2 r2.v2.x r2.v2.y #108 record che contiene al suo interno due record >> rettangoli2.cpp 37 Tipi Strutturati: Record >> Nidificazione Nidificazione Nidificazioni profonde sono possibili array e record che al loro interno contengono altri record ed altri array utile ad esempio per rappresentare collezioni (array) di oggetti (record) i quali contengono al loro interno ulteriori oggetti (record) o collezioni (array) di valori in questo caso l unica attenzione da prestare è al meccanismo dei nomi delle variabili 38
20 Tipi Strutturati: Record >> Nidificazione Nidificazione In particolare per i nomi delle componenti degli array: [ ] per i nomi degli attributi dei record:. Esempio partite del campionato di serie A con risultato squadre complete di formazioni data della partita 39 Tipi Strutturati: Record >> Nidificazione Nidificazione struct giocatore { string nome; int maglia; ; struct squadra { string nome; giocatore formazione[11]; ; struct data { int giorno, mese, anno; ; struct partita { squadra sq1, sq2; int goal1, goal2; data d; ; partita p[9]; 40
21 Tipi Strutturati: Record >> Nidificazione #10 p[0].sq1.nome #11 p[0].sq1.formazione[0] #12 p[0].sq1 #13 #14 p[0].sq1.formazione[10] #15 #16 p[0].sq2.nome #17 p[0].sq2.formazione[0] #18 p[0] p[0].sq2 #19 #20 p[0].sq2.formazione[10] #21 p[0].sq1.formazione[0].nome p[0].sq1.formazione[0].maglia p[0].sq1.formazione[10].nome p[0].sq1.formazione[10].maglia p[0].sq2.formazione[0].nome p[0].sq2.formazione[0].maglia p[0].sq2.formazione[10].nome p[0].sq2.formazione[10].maglia #22 p[0].goal1 #23 p[0].goal2 #24 p[0].data.giorno #25 p[0].data p[0].data.mese #26 p[0].data.anno #27 p[1] p[1].sq1 p[1].sq1.nome #28 Juventus Buffon 1 Nedved 11 Inter Toldo 1 Recoba Lazio 41 Tipi Strutturati: Record >> Nidificazione Nidificazione e Passaggio dei Param. Attenzione in questi casi NON conviene passare i dati per valore: la copia richiederebbe tempo Nel caso degli array il passaggio avviene comunque per riferimento Nel caso dei record possono esserci problemi 42
22 Tipi Strutturati: Record >> Nidificazione Nidificazione e Passaggio dei Param. Esempio: squadra la variabile s non dovrebbe mai essere passata per valore per evitare che venga effettuata la copia di tutte le componenti dell array struct squadra { string nome; string giocatori[30]; ; void leggi(squadra &s); void stampa (squadra &s); void main() { squadra s; leggi (s); stampa (s); 43 Tipi Strutturati: Record >> Nidificazione Nidificazione e Passaggio dei Param. NOTA questo vale solo nel caso di record che contengono array e solo se gli array hanno un numero alto di componenti in tutti gli altri casi bisogna scegliere il tipo di parametro più appropriato (standard o per riferimento) 44
23 Tipi Strutturati: Record >> Sommario Riassumendo Record dichiarare oggetti con struttura complessa Dichiarazione descrizione del modello (ATTENZIONE) dichiarazione delle variabili Utilizzo i vantaggi principali: dichiarazioni e parametri Nidificazione profonda Passaggio dei Parametri 45 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 copiadella licenza, è possibile visitare oppure inviare una lettera all indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. 46
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
DettagliProgrammazione 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)
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Tipi Strutturati: Introduzione >> Sommario Sommario Panoramica Alcuni Esempi
DettagliProgrammazione 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à
DettagliProgrammazione 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)
DettagliProgrammazione 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
DettagliProgrammazione 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
DettagliProgrammazione 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
DettagliProgrammazione 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)
DettagliProgrammazione 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
DettagliProgrammazione 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)
DettagliTecnologie 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
DettagliTecnologie 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
DettagliProgrammazione 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à
DettagliBreve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
DettagliProgrammazione 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.
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni
DettagliProgrammazione 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)
DettagliProgrammazione 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
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliElementi di Informatica A. A. 2016/2017
Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Programmazione C++ Parte 2
DettagliFunzioni in C. Funzioni. Strategie di programmazione. Funzioni in C. Come riusare il codice? (2/3) Come riusare il codice? (1/3)
Funzioni Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Strategie di programmazione Riuso di
DettagliConcetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
DettagliStrategie di programmazione
Funzioni Funzioni in C Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Funzioni in C Strategie
DettagliIntroduzione al linguaggio C Puntatori
Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2016
DettagliIl 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
DettagliEsercizi C sui tipi definiti dall utente
Politecnico di Milano Esercizi C sui tipi definiti dall utente Typedef,, tipi enumerativi e strutturati Sinonimi: typedef int Intero; Intero a; int b; Definire un nuovo tipo typedef char Stringa[10]; Stringa
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
DettagliCorso di Fondamenti di Informatica Tipi strutturati: Strutture typedef Anno Accademico 2008/2009 Francesco Tortorella
Corso di Fondamenti di Informatica Tipi strutturati: Strutture typedef Anno Accademico Francesco Tortorella Le strutture Gli array permettono la sola aggregazione di variabili dello stesso tipo. Quindi
DettagliStrutture Dati. Elisa Marengo. Università degli Studi di Torino Dipartimento di Informatica. Elisa Marengo (UNITO) Strutture Dati 1 / 16
Strutture Dati Elisa Marengo Università degli Studi di Torino Dipartimento di Informatica Elisa Marengo (UNITO) Strutture Dati 1 / 16 Introduzione Fino ad ora nei nostri programmi abbiamo usato Variabili;
DettagliLinguaggio C - sezione dichiarativa: costanti e variabili
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente
DettagliEsercizi 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
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Design Pattern: Storia Parte b versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliGestione di files Motivazioni
Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)
DettagliImplementazione 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
DettagliEsercizi. La funzione swapint() primo tentativo
Politecnico di Milano Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio di array. #include
DettagliComplementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system -
Complementi - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system - Università degli Studi di Brescia Prof. Massimiliano Giacomin
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
Dettagli1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio
soluzione di un problema 1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio rappresentazioni disponibili in C++:
DettagliTipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C
Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che
DettagliProgrammazione 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
DettagliC: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
DettagliIstruzioni semplici e strutturate
Consorzio NETTUNO Corso di Fondamenti di Informatica I secondo giorno di stage Istruzioni semplici e strutturate Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II
DettagliLezione 8 Struct e qsort
Lezione 8 Struct e qsort Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 3 QuickSort strambo Modificare il Quicksort
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliCostanti e Variabili
Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli
DettagliInformatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1
Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Cosa è il C++ E un linguaggio di programmazione derivato dal C Può essere usato per modificare il SO Unix e i suoi derivati (Linux)
DettagliESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
DettagliDefinizione di classi. Walter Didimo
Definizione di classi Walter Didimo Definizione di classi Fino ad ora abbiamo imparato a: creare oggetti da classi già pronte usare gli oggetti creati, invocando metodi la creazione e l uso di oggetti
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Conclusioni Parte b versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliCapitolo 10 - Strutture
1 Capitolo 10 - Strutture Strutture In molte situazioni, una variabile non è sufficiente per descrivere un oggetto. Ad esempio, una posizione sul piano cartesiano è identificata da due coordinate, e la
DettagliUniversità di Roma Tor Vergata L12-1
Università di Roma Tor Vergata L12-1 soluzione di un problema fl 1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: Thread versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliLinguaggio C. tipi di dati definiti dall utente. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C tipi di dati definiti dall utente Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Tipi di dati in C Predefiniti
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Applicazioni Web J2EE Framework per il Modello 2 Struts versione 3.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliIntroduzione alla programmazione in C++
Introduzione alla programmazione in C++ Fondamenti di Informatica Roberto BASILI Marzo, 2007 La Programmazione Programmare significa: Determinare la natura del problema (analisi) Definire una decomposizione
DettagliIntroduzione 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
DettagliFunzioni, puntatori, strutture. Lab. Calc. AA 2006/07
Funzioni, puntatori, strutture sommario In questa lezione integriamo le informazioni fornite su puntatori e funzioni approfondendo i seguenti punti Puntatori a puntatori Puntatori e array come parametri
DettagliESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
DettagliUniversità degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Array. Anno Accademico 2010/2011 Francesco Tortorella
Corso di Informatica Tipi strutturati: Array Anno Accademico 2010/2011 Francesco Tortorella Gli array In alcuni casi, l informazione che bisogna elaborare consiste di un aggregazione di valori, piuttosto
DettagliFunzioni di libreria. Richiedono tutte. #include <math.h> fabs(x) sqrt(x) pow(x,a) exp(x) log(x)
Funzioni di libreria Richiedono tutte #include x x a x fabs(x) sqrt(x) pow(x,a) x e ln(x) exp(x) log(x) log 10 ( x ) log10(x) sen(x) cos(x) tg(x) arcsen(x) arccos(x) arctg(x) senh(x) cosh(x) tgh(x)
DettagliReti di calcolatori Introduzione al corso
Reti di calcolatori Introduzione al corso Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ RETI DI CALCOLATORI Introduzione al corso - 1 Copyright Quest opera è protetta dalla licenza
DettagliCalcolatori Elettronici Lezione A4 Programmazione a Moduli
Calcolatori Elettronici Lezione A4 Programmazione a Moduli Ing. Gestionale e delle Telecomunicazioni A.A. 2007/08 Gabriele Cecchetti Sommario Programmazione a moduli Programmi con linguaggi misti Tempo
DettagliStruttura dei programmi C
Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte
Dettagliuguale livello gerarchico non vi sono funzioni più importanti di altre main main
FUNZIONI in C/C++ Un programma C++ è un insieme di funzioni indipendenti e di uguale livello gerarchico (nel senso che non vi sono funzioni più importanti di altre o dotate, in qualche modo, di diritti
DettagliCorso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
Dettagli#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++
Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Java Servlet Parte a versione 3.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca
Dettaglinome (lista_parametri) Funzioni funzioni predefinite: sqrt(x) log(x) usare queste funzioni significa: specificare il valore degli argomenti
Università di Roma Tor Vergata L9-1 Funzioni funzioni predefinite: sqrt(x) log(x) usare queste funzioni significa: specificare il valore degli argomenti utilizzare il valore restituito quanti argomenti
Dettagli9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
9 - 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 Corso di Laurea
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione II Tatiana Zolo zolo@cs.unipr.it 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento
DettagliCorso di Fondamenti di Informatica. Puntatori e Allocazione Dinamica
Corso di Fondamenti di Informatica Puntatori e Allocazione Dinamica I puntatori (Richiamo) Il C++ prevede puntatori a dati di qualsiasi natura, semplici o strutturati e puntatori a funzione. In particolare
DettagliUtilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:
1 Tipi di dati 1 Tipi di dati Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: Tutto è un oggetto Tutto eredita implicitamente
DettagliA. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas
Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),
DettagliModulo 2: Strutture fondamentali della programmazione Java
Modulo 2: Strutture fondamentali della programmazione Java Argomenti Trattati: Un semplice programma Java: Presentazione di un primo Esempio; Introduzione alla struttura; Compilazione ed esecuzione. Argomenti
DettagliLinguaggio C++ Linguaggi di terza generazione
Linguaggio C++ Linguaggi di terza generazione Insieme di primitive ad alto livello, ognuna traducibile in una sequenza di primitive in linguaggio macchina Es.: pesolordo pesocarico + pesoveicolo Due load,
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione XML: JDOM versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.
DettagliArgomenti Avanzati.! I puntatori! Stack! Visibilità delle Variabili
Linguaggio C Argomenti Avanzati! I puntatori! Stack! Visibilità delle Variabili 2 ! Il C consente di associare ai tipi di dati nomi definiti dal programmatore, mediante la parola chiave typedef! Dal punto
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web JavaScript Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università della Basilicata
DettagliQualsiasi programma in C++ segue lo schema:
Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni
DettagliFondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Operatore? Tipo di dato: struct La ricorsione Funzioni ricorsive Esercizi proposti 26/04/2012 2 Operatore? L'operatore? può essere
DettagliSottoprogrammi: astrazione procedurale
Sottoprogrammi: astrazione procedurale Incapsulamento di un segmento di programma presente = false; j = 0; while ( (j
DettagliUn esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore)
Un esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore) Macchina astratta: un linguaggio di programmazione trasforma un calcolatore in una macchina
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
DettagliOrdinamento. Lorenzo Donatiello,Moreno Marzolla Dip. di Scienze dell'informazione Università di Bologna
Ordinamento Lorenzo Donatiello,Moreno Marzolla Dip. di Scienze dell'informazione Università di Bologna Original work Copyright Alberto Montresor, University of Trento (http://www.dit.unitn.it/~montreso/asd/index.shtml)
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica: C# Parte b versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliTipi di dato semplici
Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma
DettagliTipi di dato. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliLinguaggio C: le funzioni. Introduzione e sintassi
ISIS "Guido Tassinari" di Pozzuoli Indirizzo Informatico - Articolazione Informatica Informatica Prof. A.S. 2012/2013 Linguaggio C: le funzioni. Introduzione e sintassi 21/10/2012 Introduzione Spesso alcuni
DettagliUniversità degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella
Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali
DettagliArray k-dimensionali
Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Array k-dimensionali In C è possibile definire array con più dimensioni (ANSI C massimo k=12), per
DettagliStringhe e tipi di dati strutturati
Stringhe e tipi di dati strutturati Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 21 Marzo 2013 Info sui Labs http://tinyurl.com/ieimlabextra Ricordate di portare un adattatore!
DettagliEsercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
DettagliArray in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica
Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Eccezioni: Gestione dei Flussi versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliDati aggregati. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture
DettagliAggregati di dati eterogenei: il tipo struct. Esercizi risolti
Esercizi risolti 1 Esercizio Si vuole realizzare un tipo utilizzato per informazioni su operazioni di vendita, avente i seguenti campi: codice: numero intero indicante il codice di riferimento dell articolo
DettagliProgrammazione in Python. Moreno Marzolla
Programmazione in Python Moreno Marzolla http://www.moreno.marzolla.name/ Copyright 2011, Moreno Marzolla (http://www.moreno.marzolla.name/teaching/labinf2011/) This work is licensed under the Creative
Dettagli