Fondamenti Teorici e Programmazione
|
|
- Gioacchino Innocenti
- 4 anni fa
- Visualizzazioni
Transcript
1 Fondamenti Teorici e Programmazione Modulo A Elementi di Programmazione Claudio Gallicchio, Ph.D.
2 Array Multidimensionali 2
3 Array a piu' dimensioni In JavaScript non esistono costrutti specifici per definire array a piu' dimensioni, ma.. Gli elementi di un array possono essere di qualsiasi tipo, quindi anche strutture Gli array a piu' dimensioni si possono quindi ottenere come array i cui elementi sono a loro volta array 3
4 Esempio Matrice 3 x 4 var A = [[1, 2, 3, 4],[2, 4, 6, 8],[4, 8, 12, 16]]; righe colonne
5 Operazioni su array multidimensionali Si possono usare gli stessi costrutti visti per gli array a una sola dimensione, tenendo presente che ogni elemento dell'array e' a sua volta un array Ad esempio, dato var A = [[1, 2, 3, 4],[2, 4, 6, 8],[4, 8, 12, 16]]; A[1][1] indica l'elemento di indice 1 dell'elemento di indice 1 di A (nell'esempio 4) A.length e' il numero di elementi di A (3) A[1].length e' il numero di elementi di A[1] (4) 5
6 Manipolazione di array multidimensionali Per manipolare array multidimensionali, di solito si usano cicli annidati Ad esempio: stampa degli elementi di una matrice var riga, colonna; for (riga = 0;riga<A.length;riga++){ for (colonna = 0;colonna<A[riga].length;colonna++) write(a[riga][colonna]+'\t'); write('\n'); 6
7 Manipolazione di array multidimensionali Esempio: lettura degli elementi di una matrice var B = [new Array(4), new Array(4), new Array(4)]; var i, j; for (i = 0; i<b.length;i++) //itera sulle righe for (j = 0;j < B[i].length;j++) //itera sulle colonne B[i][j] = readnum(); Nota: ogni elemento di B puo' avere lunghezza differente! Da provare per esercizio. 7
8 Matrici Una matrice di dimensione M x N e' una tabella con M righe ed N tabelle in cui ogni elemento e' un valore numerico In JavaScript le matrici si possono rappresentare con array multidimensionali in cui ogni array interno ha la stessa lunghezza Numero di righe -> numero di elementi dell'array (esterno) Numero di colonne -> numero di elementi di ogni array interno Una matrice si dice quadrata (NxN) quando ha lo stesso numero di righe e di colonne 8
9 Matrici: esempi Matrice 3 x Matrice 3 x diagonale principale elementi di indice [i][i] per i = 0,...,N Matrice 3 x 3 diagonale Matrice 3 x 3 identica Matrice 3 x 3 di permutazione
10 Esempio: Stampa degli elementi di una matrice Scrivere una funzione con un parametro array (multidim.) che rappresenta una matrice. La funzione deve stampare una tabella che contenga gli elementi della matrice allineati sulle righe e sulle colonne. function stampa_matrice(a){ var M = A.length; var N = A[0].length; var i,j; for (i = 0;i<M;i++){ for (j = 0;j<N;j++) write(a[i][j]+'\t'); write('\n'); 10
11 Esempio: Lettura degli elementi di una matrice Scrivere una funzione con due parametri numerici M ed N. La funzione deve costruire un array (multim.) che rappresenti una matrice M x N, riempiendo tutti gli elementi della matrice con valori letti dall'input. Infine, la funzione deve restituire in output l'array che rappresenta la matrice. function leggi_matrice(m,n){ var i,j; var A = new Array(M); for (i = 0;i<M;i++){ A[i] = new Array(N); for (j = 0;j<N;j++) A[i][j] = readnum(); return A; 11
12 Somma tra matrici Date due matrici A e B, entrambe M x N, e' possibile calcolare la loro somma A+B C = A+B e' una matrice MxN in cui ogni elemento e' dato dalla somma tra i corrispondenti elementi nelle matrici A e B Esempio =
13 Somma tra matrici Scrivere una funzione con due parametri A e B. Considerando i parametri come matrici della stessa dimensione, la funzione calcola e restituisce un array (multidim.) che rappresenta la matrice A+B. function somma_matrici(a,b){ var M = A.length; var N = A[0].length; var C = new Array(M); var i,j; for (i = 0;i<M;i++){ C[i] = new Array(N); for (j = 0;j<N;j++) C[i][j] = A[i][j]+B[i][j]; return C; 13
14 Prodotto di una matrice per uno scalare Data una matrice A di tipo MxN, ed un valore numerico a (detto scalare), il risultato del prodotto a A e' una matrice MxN che si ottiene da A, moltiplicando ogni suo elemento individualmente per lo scalare a =
15 Prodotto di una matrice per uno scalare Esercizio: Scrivere una funzione in JavaScript che dati due parametri a e A calcoli e restituisca la matrice che si ottiene dal prodotto della matrice A per lo scalare a. La funzione assuma che a abbia un valore numerico e che A sia un array multidimensionale che rappresenta una matrice. 15
16 Prodotto tra matrici (righe per colonne) Date due matrici, A di tipo MxN e B di tipo NxP, e' possibile calcolare il prodotto di A per B. La matrice risultante e' di tipo M x P Posto C = A B, l'elemento di C in riga i e colonna j e' definito come C i, j = σ N k=1 A(i, k) B(k, j) 1x1 + 2x2 + 3x4 = x = x2 + (-1)x(-1) + 1x0 =
17 Prodotto tra matrici Scrivere una funzione con due parametri A e B, array multidimensionali che rappresentano matrici. Supponendo che le due matrici siano compatibili per il prodotto, la funzione calcola e restituisce in output un array multidimensionale che rappresenta il prodotto A x B. Verificare che il prodotto tra matrici non e' commutativo Verificare cosa accade se si moltiplica una matrice per la matrice identica e che accade se si moltiplica per una matrice di permutazione? 17
18 Prodotto tra matrici function prodotto_matrici(a,b){ // Assumiamo A di tipo M x N // Assumiamo B di tipo N x P var M = A.length; var N = A[0].length; var P = B[0].length; // C = A x B e' di tipo M x P var C = new Array(M); var i,j,k; var sommap; for (i = 0;i<M;i++){ C[i] = new Array(P); for (j = 0;j<P;j++){ //calcolo il prodotto della riga i per la colonna j sommap = 0; for(k = 0;k<N;k++) sommap +=A[i][k]*B[k][j]; C[i][j] = sommap; return C; 18
19 Esercizi Scrivere una funzione con un parametro A, array multidimensionale che rappresenta una matrice quadrata NxN. La funzione deve calcolare e restituire un array che contiene gli elementi della diagonale principale di A. Scrivere una funzione con un parametro A, array multidim. che rappresenta una matrice. La funzione deve verificare se la matrice e' una matrice identica (quadrata e con elementi diagonali uguali a 1, ed extradiagonali uguali a 0). La funzione deve quindi restituire true o false in base al risultato ottenuto. 19
20 Esercizi Verificare che il prodotto tra matrici non e' commutativo Verificare cosa accade se si moltiplica una matrice per la matrice identica...e che accade se si moltiplica per una matrice di permutazione? 20
21 Array Associativi 21
22 Array associativi In JavaScript e' possibile usare come indici di un array anche valori di tipo stringa Dichiarazione ed inizializzazione esplicita di un array associativo var nome_array = { "s1" : espressione1, "s2" : espressione2, //... "sk" : espressionek 22
23 Esempio Definizione della data usando un array associativo var d1 = { "giorno": 25, "mese":"dicembre", "anno":2017 Definizione di una funzione che verifica se e' Natale function Natale(d){ return ((d["giorno"] == 25) && (d["mese"] == "dicembre")); if (Natale(d1)) writeln('buon NATALE!'); else writeln('dovresti STUDIARE!'); 23
24 Esempio Con gli array associativi non e' significativo l'ordine in cui sono elencati gli elementi dell'array var d1 = { "giorno": 25, "mese":"dicembre", "anno":2017 var d2 = { "mese": "dicembre", "giorno": 25, "anno":2017 La funzione Natale va bene anche cosi': function Natale(d){ return ((d["mese"] == "dicembre") && (d["giorno"] == 25)); 24
25 Creazione Implicita di un array associativo Un'alternativa alla creazione esplicita consiste in assegnamenti successivi L'array associativo viene creato in modo dinamico var d = {; d["giorno"] = 25; d["anno"] = 2018; d["mese"] = "dicembre"; 25
26 Accesso agli elementi di un array associativo Per gli array associativi la lunghezza non e' definita, in quanto gli indici degli elementi non hanno un valore numerico. Per scandire gli elementi di un array associativo si usa il costrutto for-in Sintassi for (id in nome_array_assoc) istruzione; nome_array e' il nome della variabile il cui valore e' un array associativo id e' un identificatore che assume i valori degli indici (stringhe) degli elementi dell'array associativo (nell'ordine in cui sono elencati) istruzione e' il corpo del ciclo (puo' essere un blocco {...) 26
27 Esempio Scrivere una funzione che stampi gli elementi contenuti in un array associativo function stampa_associativo(d){ var id; for (id in d) writeln(id + " = " + d[id]); 27
28 For-in per array non associativi Il costrutto for-in si puo' usare anche per array (non associativi) In questo caso gli elementi dell'array vengono enumerati seguendo l'ordine degli indici for (id in nome_array) istruzione; for (id=0;id<nome_array.length;id++) istruzione Esempio: stampa degli elementi di un array con for-in var a = [1,2,3,4]; for (i in a) writeln(a[i]); 28
29 Esercizio Scrivere una funzione con due parametri: d ed l. Il parametro d e'un array associativo che rappresenta una data (come negli esempi precedenti). Il parametro l e' una stringa che rappresenta una citta' (es. "Pisa"). La funzione deve stampare un'intestazione in cui si indichino il luogo e la data. Ad esempio Pisa, 12 Dicembre
30 Array o Array associativi? In JavaScript gli elementi di un array non sono vincolati ad essere tutti dello stesso tipo (possono essere eterogenei) E' tuttavia conveniente fare distinzione nell'uso di array ed array associativi Usare array quando gli elementi sono tutti dello stesso tipo e rappresentano dati semanticamente omogenei es. la temperatura di una stanza misurata ad intervalli regolari di 1 minuto Usare array associativi negli altri casi. Cioe' nei casi di elementi di tipo diverso o che rappresentino dati semanticamente eterogenei es. una data, altezza e peso di una persona, ecc. 30
31 Esempio - Anagrafe Supponiamo di voler definire i dati relativi ad una persona, es. nome, cognome, eta', sesso. var p = {"nome":"mario","cognome":"rossi","eta":27,"sesso":"m"; Usiamo la data di nascita al posto dell'eta' var p = {"nome":"mario","cognome":"rossi","sesso":"m", "nascita":{"giorno":26,"mese": "ottobre","anno":1991; in questo caso l'elemento di indice "nascita" e' un array associativo come quelli visti in precedenza per rappresentare una data 31
32 Esempio - Anagrafe Ciascun elemento (entry) di un'anagrafe e' composta da entita' eterogenee, quindi uso un array associativo per rappresentare i dati di una singola persona Una collezione di dati anagrafici di piu' persone contiene elementi omogenei (ogni elemento si riferisce ad una persona), quindi posso usare un array (non associativo) var p1 = {"nome":"mario","cognome":"rossi","sesso":"m", "nascita":{"giorno":26,"mese":"ottobre","anno":1991; var p2 = {"nome":"antonio","cognome":"bonocore","sesso":"m", "nascita":{"giorno":12,"mese":"gennaio","anno":1924; //... var anagrafe = new Array(); anagrafe[0] = p1; anagrafe[1] = p2; //... 32
33 Array Dinamici 33
34 Repetita E' possibile aggiungere dinamicamente nuovi elementi ad un array Si esegue un assegnamento all'elemento che si vuole aggiungere, come se esistesse gia' Quando si aggiunge un elemento il cui indice non e' immediatamente successivo a quello dell'ultimo elemento definito dell'array: vengono aggiunti automaticamente tutti gli elementi intermedi, inizializzati con il valore undefined 34
35 Metodo Push Aggiunta di un elemento ad un array Aggiunge un nuovo elemento ad un array var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.push("kiwi"); Il nuovo elemento viene aggiunto alla fine dell'array nell'esempio precedente "Kiwi" viene aggiunto come elemento di indice 4. Come conseguenza, la lunghezza dell'array viene incrementata di uno 35
36 Metodo Pop Rimozione di un elemento da un array Rimuove l'ultimo elemento di un array e restituisce l'elemento rimosso var fruits = ["Banana", "Orange", "Apple", "Mango"]; var removed = fruits.pop(); writeln(removed); //writes "Mango" La lunghezza dell'array viene decrementata di uno 36
37 Metodo Splice Modifica degli elementi di un array in modo dinamico Aggiunge/rimuove elementi in/da un array, restituendo gli elementi rimossi Sintassi A.splice(posizione,quanti,elemento1,elemento2,..., elementon); posizione: un intero che specifica l'indice a partire dal quale eliminare/aggiungere elementi quanti: un intero che specifica quanti elementi eliminare se uguale a 0: non vengono eliminati elementi elemento1, elemento2,...: lista di elementi da aggiungere dopo l'eliminazione se questa lista manca, non vengono aggiunti elementi all'array 37
38 Splice: esempio var A = [1,2,3,4,5,6,7,8,9,10]; A.splice(0,2,11,12,13);
39 Esercizio Implementare funzioni equivalenti a push e pop, che abbiano un array come parametro. Nel caso di pop la funzione deve anche restituire l'elemento rimosso dall'array. 39
40 Esercizio: inserimento in array ordinato Scrivere una funzione con due parametri: A, array di valori numerici, e n, numero. La funzione deve aggiungere l'elemento n all'array A, assumendo che A sia ordinato in senso crescente. Idea: scandire gli elementi di A fino a che non trovo un elemento maggiore di n quindi sposto tutto il resto dell'array a destra di una posizione (incrementando la lunghezza dell'array di 1) infine inserisco il valore n nella posizione trovata 40
41 Soluzione funzioni ausiliarie function shift_destra(a,indice){ var i; for (i=a.length;i>indice;i--) A[i] = A[i-1]; function trova_maggiore(a,n){ //deve restituire l'indice in A della prima //occorrenza di un numero maggiore di n var indice; for (indice = 0;indice<A.length;indice++) if (A[i]>n) return indice; return A.length; function inserisci_ord(a,n){ var indice; if (A.length == 0) A = [n]; else{ indice = trova_maggiore(a,n); shift_destra(a,indice); A[indice] = n; 41
42 Esercizio: eliminazione delle occorrenze di un elemento da un vettore Scrivere una funzione con due parametri: A, array di valori numerici, e n, numero. La funzione deve eliminare ogni occorrenza di n in A. Idea: scandire gli elementi di A se trovo un elemento uguale ad n uso il metodo splice e lo rimuovo, senza aggiornare il contatore altrimenti aggiorno il contatore 42
43 Soluzione function elimina_occorrenze(a,n){ var indice = 0; while(indice<a.length){ if (A[indice]==n) A.splice(indice,1); else indice++; 43
44 Merge di due array ordinati Dati due array ordinati in senso crescente, A e B, costruire e restituire un terzo array C, che contenga tutti gli elementi di A e di B, ordinati in senso crescente. Idea Scandisco insieme gli elementi di A e quelli di B. L'elemento piu' piccolo viene inserito in C, e si aggiorna solo il contatore nell'array corrispondente Se A e B non hanno la stessa lunghezza, alla fine aggiungo a C tutti gli elementi rimanenti dell'array piu' lungo 44
45 Soluzione function merge_ord(a,b){ var C = new Array(); var i = 0;//indice in A var j = 0;//indice in B while (i<a.length && j<b.length) if (A[i]<B[j]){ C.push(A[i]); i++; else{ C.push(B[j]); j++ while (i<a.length){ C.push(A[i]); i++; while (j<b.length){ C.push(B[j]); j++; return C; 45
46 Esercizio Scrivere una funzione che dati due array A e B della stessa lunghezza costruisce e restituisce in output un array, della stessa lunghezza di A e di B, in cui gli elementi di indice pari siano presi dai corrispondenti elementi di A, e gli elementi di indice dispari siano presi dai corrispondenti elementi di B. es. A = [2,5,6,12,-4] B = [0,22,31,98,22] la funzione restituisce [2,22,6,98,-4] 46
47 47
Fondamenti Teorici e Programmazione
Fondamenti Teorici e Programmazione Modulo A Elementi di Programmazione Claudio Gallicchio, Ph.D. Array 2 Dati Strutturati I tipi di dati visti finora sono numeri (interi o razionali) booleani (valori
DettagliTipi di dato strutturati: Array
Tipi di dato strutturati: Array I dati visti finora sono: numeri (interi o razionali), booleani le stringhe (sequenze di caratteri) ma i dati manipolati nelle applicazioni reali sono spesso complessi (o
DettagliEsercizi su array di array
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E10 C. Limongelli Gennaio 2010 1 Contenuti Fusione di due array ordinati, con eliminazione di duplicati Verifica array bidimensionale
Dettaglipublic static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;
Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i
DettagliMatrici. Parte 7. 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
DettagliProgrammazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 14: ALGORITMI di ordinamento di array RICERCA sequenziale e binaria Array bidimensionali (matrici) Passaggio di argomenti al main Operazioni su array Un array
DettagliIntroduzione al C. Unità 7 Array. S. Salza, C. Ciccotelli, D. Bloisi, S. Peluso, A. Pennisi
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 7 Array S. Salza, C. Ciccotelli, D. Bloisi, S. Peluso, A. Pennisi Sommario Unità
DettagliCorso di Laurea Ingegneria Informatica. Dispensa E11. Esercizi su array e. Gennaio 2012
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E11 Esercizi su array e array di array C. Limongelli Gennaio 2012 1 Contenuti Fusione di due array ordinati, con eliminazione di
DettagliArray. Definizione e utilizzo di vettori
Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];
DettagliPrecisazione sulla visibilità delle variabili durante l esecuzione delle funzioni
Precisazione sulla visibilità delle variabili durante l esecuzione delle funzioni var a = new Array (4); var y= 7; function foo(vet,x) { var i=0;... } //fine foo foo(a,y); print(y); Stato {(a, ),(y,7)
DettagliMatrici. Unità 7. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliMatrici. Unità 7. 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
DettagliArray di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa Array di array A. Miola Febbraio 8 http://www.dia.uniroma.it/~java/fondinf/ Array di array Contenuti Array bidimensionali creazione
DettagliIterazione determinata e indeterminata
Iterazione determinata e indeterminata Le istruzioni iterative permettono di ripetere determinate azioni più volte: un numero di volte fissato = iterazione determinata, Esempio: fai un giro del parco di
DettagliLaboratorio di Programmazione Lezione 3. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 3 Cristian Del Fabbro Prossima lezione GIOVEDÌ 12 NOVEMBRE ORE 14:00 Array a.k.a. vettore Un array è una collezione ordinata di dati omogenei (cioé sono tutti dello
Dettagliosservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1
Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)
DettagliArray e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 17. A. Miola Gennaio 2012
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 17 A. Miola Gennaio 2012 1 Contenuti q Array paralleli q Array e oggetti q Ricerca sequenziale q Ricerca binaria q Fusione di sequenze
DettagliLinguaggio C: Array Valeria Cardellini
Linguaggio C: Array Valeria Cardellini Corso di Calcolatori Elettronici A.A. 2018/19 Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Array in C q Dichiarazione
DettagliListe di Liste Matrici
Liste di Liste Matrici Una lista annidata è una lista che compare come elemento di un'altra lista. Nell'esempio seguente il quarto elemento della lista (elemento numero 3 dato che il primo ha indice 0)
DettagliLaboratorio di Python
Laboratorio di Python Matrici con Liste Lab09 5 Aprile 2017 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che verifica se una
DettagliE9 Esercizi sul Capitolo 9 Array
E9 Esercizi sul Capitolo 9 Array Esercizio 1 (esercizio 9.1 del libro di testo). Implementare un metodo statico di nome stringacorta che prende come parametro un array di oggetti String e che restituisce
DettagliE17 Esercizi sugli Array in Java
E17 Esercizi sugli Array in Java Esercizio 1 (esercizio 9.1 del libro di testo). Implementare un metodo statico di nome stringacorta che prende come parametro un array di oggetti String e che restituisce
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
DettagliFondamenti Teorici e Programmazione
Fondamenti Teorici e Programmazione Modulo A Elementi di Programmazione Claudio Gallicchio, Ph.D. Variabili e Assegnamento Seconda Parte 2 Variabili Una variabile è un identificatore a cui è associato
DettagliProgrammazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013
Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Array Array monodimensionali Array bidimensionali Esercizi 16/01/2013 2 ARRAY Gli array sono oggetti utilizzati in Java per memorizzare
DettagliArray. Unità 7. 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
DettagliProgrammazione I - corso B a.a prof. Viviana Bono
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 15 Algoritmi su array: selection sort, insertion sort, fusione
DettagliSi descriva il comportamento del metodo main della classe ES2: cosa viene stampato sul video? Giustificare la risposta.
Esame scritto di: Fondamenti di Informatica - corsi 4 e 5 Data: 12 dicembre 2001 Traccia: B Tempo disponibile: 3 ore Cognome Nome Matricola Corso CORSO DI LAUREA Esercizio 1. Si consideri la seguente classe:
DettagliLaboratorio di Python
Laboratorio di Python Matrici con Liste Lab09 10 Aprile 2018 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Outline Correzione esercizi per oggi Matrici Teoria Esercizi
DettagliFondamenti Teorici e Programmazione
Fondamenti Teorici e Programmazione Modulo A Elementi di Programmazione Claudio Gallicchio, Ph.D. Istruzioni Iterative Istruzioni do-while e break 2 Istruzione While - Repetita Sintassi guardia del ciclo
DettagliLaboratorio di Python
25 marzo 2015 Sommario 1 2 Esercizi a casa Scrivere un unico programma, che attraverso un menù di selezione restituisca i risultati delle funzioni che seguono, senza uscire dal programma se non selezionando
Dettagliosservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1
Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)
DettagliArray Tipi di dato semplici e strutturati strutturati array elementi omogenei numero d ordine indice lunghezza dimensione
Array Tipi di dato semplici e strutturati i tipi di dato visti finora erano tutti semplici: int, char, float,... i dati manipolati sono spesso complessi (o strutturati) con componenti elementari o strutturate
DettagliEsercitazione di Reti degli elaboratori
Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione
Dettaglidefinisce un vettore di 4 puntatori a carattere (allocata memoria per 4 puntatori)!
" Non ci sono vincoli sul tipo degli elementi di un vettore " Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere (allocata
DettagliUNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Matlab: esempi ed esercizi Sommario e obiettivi Sommario Esempi di implementazioni Matlab di semplici algoritmi Analisi di codici Matlab Obiettivi
DettagliEsercizi su array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E08. C. Limongelli Gennaio 2012
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E08 Esercizi su Array C. Limongelli Gennaio 2012 1 Contenuti q Esercizi: Lettura e stampa di un array Massimo elemento di un array
DettagliMATRICI e DETERMINANTI. Prof.ssa Maddalena Dominijanni
MATRICI e DETERMINANTI Le matrici non sono altro che tabelle di elementi ordinati per righe e colonne. Se m = n la matrice si dice quadrata Matrice quadrata di ordine 3 Matrice rettangolare di tipo 2 3
DettagliLABORATORIO DI PROGRAMMAZIONE Prova Intermedia - 4 Novembre Soluzione degli Esercizi
LABORATORIO DI PROGRAMMAZIONE 2002-2003 Prova Intermedia - 4 Novembre 2002 degli Esercizi Esercizio 1. v1. Si consideri il seguente frammento di codice in Java: int x = 1; for (int j = 1; j
DettagliEsercizi su Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E09. C. Limongelli Novembre 2007
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E09 Esercizi su Array C. Limongelli Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Esercizi su array 1 Contenuti Esercizi:
Dettaglin deve essere maggiore di 0, altrimenti il metodo restituisce null.
Esercizio 1 di classe Intersezione che presi in input due Array di int A e B, restituisce in output un array contenente gli elementi presenti sia in A che in B. Esercizio 2 di classe identità che prende
DettagliFondamenti di Informatica
Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile
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
DettagliDue osservazioni sulle variabili
Due osservazioni sulle variabili Dichiarazione: cosa succede se non dichiaro una variabile e la uso? provare... Le costanti: sono utilizzate nei linguaggi di programmazione rendere simbolici dei valori
DettagliAmbienti di Programmazione per il Software di Base
Ambienti di Programmazione per il Software di Base Le Funzioni in C Esercizi sulle Funzioni svolti Esercizi sulle Funzioni da svolgere A.A. 2011/2012 Ambienti di Programmazione per il Software di Base
DettagliEsercitazione Fondamenti di Informatica 2
Esercitazione Fondamenti di Informatica 2 Matrici (seconda parte) 27 marzo 2006 a Prodotto righe-colonne Scrivere un metodo Matrice moltiplica(matrice mat) che, applicato ad una istanza dell oggetto Matrice,
DettagliIntroduzione al C. Esercitazione 2ter. S. Salza, C. Ciccotelli, D. Bloisi, S. Peluso, A. Pennisi
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Esercitazione 2ter S. Salza, C. Ciccotelli, D. Bloisi, S. Peluso, A. Pennisi Esercizio
DettagliTipi di dato strutturati: Array
Tipi di dato strutturati: Array I tipi di dato visti finora sono tutti semplici: int, char, float,... ma i dati manipolati nelle applicazioni reali sono spesso complessi (o strutturati) Gli array sono
DettagliTipi di dato strutturati: Array
Tipi di dato strutturati: I tipi di dato visti finora sono tutti semplici: int, char, float,... ma i dati manipolati nelle applicazioni reali sono spesso complessi (o strutturati) Gli array sono uno dei
DettagliProgrammazione I - corso B a.a prof. Viviana Bono
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 14 Array parzialmente riempiti. Algoritmi sugli array. Arrayparzialmente
DettagliRappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
DettagliIntroduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 24 settembre 2007 Outline 1 M-file di tipo Script e Function Script Function 2 Elementi di programmazione
DettagliLaboratorio di Python
per casa 17 marzo 2015 Sommario per casa 1 2 3 4 per casa a casa per casa Scrivere una funzione che presi due numeri come parametri della funzione mi stampi il MCD tra i due numeri. Usare ciclo for. Scrivere
DettagliLABORATORIO DI INFORMATICA ESERCITAZIONE VIII
LABORATORIO DI INFORMATICA ESERCITAZIONE VIII Cercate di eseguire gli esercizi da soli. Se non ci riuscite, cercate di capire i messaggi di errore. Se non ci riuscite, provateci di nuovo. Poi chiamate
DettagliEsercitazioni di Fondamenti di Informatica - Lez. 4 23/10/2018
Esercitazioni di Fondamenti di Informatica - Lez. 4 2/0/20 Esercizi sui tipi in C I codici e le soluzioni degli esercizi sono nella cartella parte. Dato il seguente codice, trovare gli errori, correggerli
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Array Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 14 ARRAY (1) Un vettore (array) è un insieme
DettagliRappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
DettagliProblema: conteggio occorrenze
Problema: conteggio occorrenze start read N,X i := 0 occorrenze := 0 vero vero i < N vettore[i]=x falso write occorrenze end occorrenze := occorrenze + 1 falso i := i + 1 Codice Javascript: prima parte
DettagliLaboratorio di Python
Algoritmo, sulle liste Università di Bologna 3 e 5 aprile 2013 Sommario Correzione esercizi 1 Correzione esercizi 2 3 4 Correzione Correzione esercizi scrivere e documentare un programma con un menu dove:
DettagliLaboratorio - Programmazione
Laboratorio - Programmazione Angelo Di Iorio angelo.diiorio@unibo.it Progetto L obiettivo del progetto è realizzare un applicazione PHP da linea di comando che raccoglie dati sui terremoti avvenuti in
DettagliRicerca di un valore nell array (già vista) Inserimento di un valore nell array Eliminazione di un elemento dall array
Algoritmi su array Per utilizzare gli array come insiemi dinamici di dati (la cui composizione, cioè, può variare dinamicamente) è necessario realizzare operazioni quali: Ricerca di un valore nell array
DettagliRicerca di un valore nell array (già vista) Inserimento di un valore nell array Eliminazione di un elemento dall array
Algoritmi su array Per utilizzare gli array come insiemi dinamici di dati (la cui composizione, cioè, può variare dinamicamente) è necessario realizzare operazioni quali: Ricerca di un valore nell array
DettagliArray. Parte 7. 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
DettagliCalcolare il massimo di una lista
Calcolare il massimo di una lista Lunedì abbiamo definito un algoritmo per calcolare il valore massimo fra gli elementi di una lista predefinita di interi. In particolare, abbiamo: deciso di rappresentare
DettagliFondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
DettagliArray di array. Walter Didimo
Array di array Walter Didimo Array di array Abbiamo visto che il tipo di dato degli elementi di un array può essere qualsiasi tipo valido Il tipo di dato degli elementi di un array può dunque anche essere
DettagliNon ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di
ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere
DettagliEsercizio 1: media di numeri reali (uso funzioni e struct)
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 5 Esercitazione: 2 novembre 2005 Esercizi sulle funzioni Esercizio 1: media di numeri reali (uso funzioni e struct) Le
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 2
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E14 F. Gasparetti, C. Limongelli Maggio 2012 1 Verifica presenza di elementi comuni V1 - Date due liste di stringhe scrivere
DettagliAlgoritmi su Matrici. int const R=40; int const C=8; int A[R][C]; int n=32; int m=5; Compito Studente N O
Algoritmi su Matrici Esempio: una classe di 32 studenti ha sostenuto durante l anno 5 compiti in classe. Supponiamo di voler scrivere un programma che stampi per ogni studente la somma e la media dei voti
DettagliEsercitazioni del Corso di Fondamenti di Informatica ARRAY. Prof. Giuseppe Manco. A cura di Ing. Andrea Tagarelli
Esercitazioni del Corso di Fondamenti di Informatica ARRAY Prof. Giuseppe Manco A cura di Ing. Andrea Tagarelli ESERCIZIO 1 public static int[] elaboravettore (int[] v) che verifica che gli elementi di
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Array, matrici. Marco D. Santambrogio Ver. aggiornata al 21 Marzo 2013
Array, matrici Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 21 Marzo 2013 WAT? Questa volta non ce ne sono WAT 2 Obiettivi Gli array, questi sconosciuti Gli array in C Array n-dimensionali
Dettagliprint((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript
Funzioni Funzioni predefinite della libreria matematica Funzioni disponibili: Math.sqrt(x) radice quadrata Math.log(x) logaritmo naturale in base e di x Math.abs(x) valore assoluto di x Math.ceil(x) arrotonda
DettagliInformatica (A-K) 5. Algoritmi e pseudocodifica
Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
DettagliCognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :
PROGRAMMAZIONE (Corsi B e C) Pre-appello di Gennaio 2004 (A.A. 2003/2004) PROGRAMMAZIONE (B e C) S. Straordinaria - Appello di Gennaio (A.A. 2002/2003) 22 Gennaio 2004 ore 11 Aula II di Facoltà (Durata:
DettagliLaboratorio di Python
Documentare il codice,, Comprendere cosa calcola una funzione 21 marzo 2014 Sommario 1 2 3 4 Lunedì il numero di studenti che avevano consegnato gli esercizi era 15. Martedì il numero di esercizi ricevuti
DettagliCorso di Laurea in Informatica Modulo di Laboratorio di Programmazione I (a.a ) Docente: Prof. M. Nesi
Corso di Laurea in Informatica Modulo di Laboratorio di Programmazione I (a.a. 2009-10) Docente: Prof. M. Nesi Esercizi su Algoritmi e Diagrammi di Flusso (Versione preliminare) Dati i seguenti problemi,
DettagliIng. Lorenzo Vismara
Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#
DettagliGli array Libro cap. 6 Moreno Marzol a Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Gli array Libro cap. 6 Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Array 2 Ringraziamenti prof. Stefano Mizzaro, Università
Dettaglia a 1n A = a n1... a nn a 11 x a 1n x n = b 1 a n1 x a nn x n = b n ] sono determinati. 2- La matrice A = [ a ij
Recupero. 2, Determinanti. 1. Determinanti Consideriamo una matrice A = a 11... a 1n.. a n1... a nn quadrata di ordine n ad elementi in R. Sappiamo che sono equivalenti la affermazioni 1- tutti i sistemi
DettagliProf. Marco Masseroli
Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Dipartimento di Elettronica e Informazione Informatica B Prof. Marco Masseroli Indice Laboratorio 4: Linguaggio
DettagliUn esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);
Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i
DettagliLaboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly
Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly Scrivere il codice ARM che implementi le specifiche richieste e quindi verificarne il comportamento usando il simulatore
DettagliL assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Abbiamo visto È conveniente definire una macchina astratta C Lo stato della macchina ci
DettagliARRAY DI PUNTATORI. ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori
ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere
DettagliAlcuni Soluzioni. Fornire la specifica di un algoritmo risolutivo utilizzando lo pseudocodice visto a lezione.
Alcuni Soluzioni ESERCIZIO 1 Data una sequenza di interi di dimensione dim, determinare se esistono esattamente cont occorrenze del valore val, utilizzando per questo una variabile booleana check. Stato
DettagliLaboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
DettagliFondamenti di Informatica
Fondamenti di Informatica I ntroduzione alla programmazione in MATLAB E s e rc i t a z i o n e 1 P r o f. R a f f a e l e P i z zo l a n t e A. A. 2 0 1 6 / 1 7 Esercizio 1 Scrivere una funzione, chiamata
DettagliI tipi strutturati e i record in C++
I tipi strutturati e i record in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi
DettagliArray. Aggragati di variabili omogenee...
Array Aggragati di variabili omogenee... Cosa è un array È un insieme di variabili omogenee identificato da un indice, ad esempio Se devo leggere 1 numeri dallo standard input e memorizzarli all'interno
DettagliProblema: calcolare il massimo tra K numeri
Problema: calcolare il massimo tra K numeri Scrivere un algoritmo che fornisca in input ad un programma un numero K e K interi positivi. L algoritmo deve restituire il valore massimo tra quelli introdotti
DettagliLABORATORIO 7 ARRAY. ATTENZIONE: argomenti da linea di comando!!!
LABORATORIO 7 ARRAY Esercizio Minimo Massimo Media Scrivere un programma che chieda all'utente di inserire un numero intero n, e quindi chieda di inserire n numeri interi. Dopo aver salvato i numeri inseriti
DettagliProgrammazione di base
Fondamenti di Informatica Sesto Appello 016-17 11 Settembre 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
DettagliAlgoritmi su Array. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Ringraziamenti prof. Stefano Mizzaro, Università di Udine http://users.dimi.uniud.it/~stefano.mizzaro/
DettagliProgrammazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 3 - Array Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2. Dipartimento
DettagliEsercizio. 2 i=i*2) j=j*2)
Esercizio 1 Esercizio 2 i=i*2) j=j*2) Soluzione Il frammento è composto da due parti quasi identiche. L unica differenza è il modo in cui crescono i contatori. Nella prima parte la crescita è lineare mentre
DettagliProgrammazione 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