Fondamenti Teorici e Programmazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fondamenti Teorici e Programmazione"

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

Dettagli

Tipi di dato strutturati: Array

Tipi 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

Dettagli

Esercizi su array di array

Esercizi 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

Dettagli

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;

public 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

Dettagli

Matrici. Parte 7. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Matrici. 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

Dettagli

Programmazione in Java (I modulo)

Programmazione 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

Dettagli

Introduzione al C. Unità 7 Array. S. Salza, C. Ciccotelli, D. Bloisi, S. Peluso, A. Pennisi

Introduzione 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à

Dettagli

Corso di Laurea Ingegneria Informatica. Dispensa E11. Esercizi su array e. Gennaio 2012

Corso 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

Dettagli

Array. Definizione e utilizzo di vettori

Array. 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];

Dettagli

Precisazione sulla visibilità delle variabili durante l esecuzione delle funzioni

Precisazione 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)

Dettagli

Matrici. Unità 7. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Matrici. 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

Dettagli

Matrici. Unità 7. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Matrici. 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

Dettagli

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008

Array 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

Dettagli

Iterazione determinata e indeterminata

Iterazione 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

Dettagli

Laboratorio di Programmazione Lezione 3. Cristian Del Fabbro

Laboratorio 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

Dettagli

osservazione: 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

osservazione: 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)

Dettagli

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 17. A. Miola Gennaio 2012

Array 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

Dettagli

Linguaggio C: Array Valeria Cardellini

Linguaggio 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

Dettagli

Liste di Liste Matrici

Liste 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)

Dettagli

Laboratorio di Python

Laboratorio 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

Dettagli

E9 Esercizi sul Capitolo 9 Array

E9 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

Dettagli

E17 Esercizi sugli Array in Java

E17 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

Dettagli

9 - 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 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

Dettagli

Fondamenti Teorici e Programmazione

Fondamenti 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

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione 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

Dettagli

Array. Unità 7. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Array. 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

Dettagli

Programmazione I - corso B a.a prof. Viviana Bono

Programmazione 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

Dettagli

Si descriva il comportamento del metodo main della classe ES2: cosa viene stampato sul video? Giustificare la risposta.

Si 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:

Dettagli

Laboratorio di Python

Laboratorio 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

Dettagli

Fondamenti Teorici e Programmazione

Fondamenti 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

Dettagli

Laboratorio di Python

Laboratorio 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

Dettagli

osservazione: 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

osservazione: 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)

Dettagli

Array Tipi di dato semplici e strutturati strutturati array elementi omogenei numero d ordine indice lunghezza dimensione

Array 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

Dettagli

Esercitazione di Reti degli elaboratori

Esercitazione 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

Dettagli

definisce un vettore di 4 puntatori a carattere (allocata memoria per 4 puntatori)!

definisce 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

Dettagli

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

UNIVERSITÀ 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

Dettagli

Esercizi su array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E08. C. Limongelli Gennaio 2012

Esercizi 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

Dettagli

MATRICI e DETERMINANTI. Prof.ssa Maddalena Dominijanni

MATRICI 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

Dettagli

LABORATORIO DI PROGRAMMAZIONE Prova Intermedia - 4 Novembre Soluzione degli Esercizi

LABORATORIO 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

Dettagli

Esercizi su Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E09. C. Limongelli Novembre 2007

Esercizi 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:

Dettagli

n deve essere maggiore di 0, altrimenti il metodo restituisce null.

n 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

Dettagli

Fondamenti di Informatica

Fondamenti 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

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi 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

Dettagli

Due osservazioni sulle variabili

Due 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

Dettagli

Ambienti di Programmazione per il Software di Base

Ambienti 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

Dettagli

Esercitazione Fondamenti di Informatica 2

Esercitazione 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,

Dettagli

Introduzione al C. Esercitazione 2ter. S. Salza, C. Ciccotelli, D. Bloisi, S. Peluso, A. Pennisi

Introduzione 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

Dettagli

Tipi di dato strutturati: Array

Tipi 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

Dettagli

Tipi di dato strutturati: Array

Tipi 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

Dettagli

Programmazione I - corso B a.a prof. Viviana Bono

Programmazione 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

Dettagli

Rappresentazione degli algoritmi

Rappresentazione 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

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione 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

Dettagli

Laboratorio di Python

Laboratorio 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

Dettagli

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII

LABORATORIO 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

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez. 4 23/10/2018

Esercitazioni 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

Dettagli

Fondamenti di Informatica T-1

Fondamenti 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

Dettagli

Rappresentazione degli algoritmi

Rappresentazione 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

Dettagli

Problema: conteggio occorrenze

Problema: 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

Dettagli

Laboratorio di Python

Laboratorio 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:

Dettagli

Laboratorio - Programmazione

Laboratorio - 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

Dettagli

Ricerca di un valore nell array (già vista) Inserimento di un valore nell array Eliminazione di un elemento dall array

Ricerca 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

Dettagli

Ricerca di un valore nell array (già vista) Inserimento di un valore nell array Eliminazione di un elemento dall array

Ricerca 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

Dettagli

Array. Parte 7. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Array. 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

Dettagli

Calcolare il massimo di una lista

Calcolare 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

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti 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

Dettagli

Array di array. Walter Didimo

Array 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

Dettagli

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di

Non 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

Dettagli

Esercizio 1: media di numeri reali (uso funzioni e struct)

Esercizio 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

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso 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

Dettagli

Algoritmi 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. 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

Dettagli

Esercitazioni 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 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

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Array, matrici. Marco D. Santambrogio Ver. aggiornata al 21 Marzo 2013

DIPARTIMENTO 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

Dettagli

print((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript

print((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

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (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

Dettagli

Cognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :

Cognome 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:

Dettagli

Laboratorio di Python

Laboratorio 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

Dettagli

Dichiarazione di variabili

Dichiarazione di variabili Dichiarazione di variabili ESEMPIO: somma di due numeri

Dettagli

Corso 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 ) 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,

Dettagli

Ing. Lorenzo Vismara

Ing. Lorenzo Vismara Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&&#2! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)&#7& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#

Dettagli

Gli array Libro cap. 6 Moreno Marzol a Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

Gli 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à

Dettagli

a 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

a 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

Dettagli

Prof. Marco Masseroli

Prof. 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

Dettagli

Un 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. 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

Dettagli

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly

Laboratorio 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

Dettagli

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time

L 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

Dettagli

ARRAY 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. 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

Dettagli

Alcuni Soluzioni. Fornire la specifica di un algoritmo risolutivo utilizzando lo pseudocodice visto a lezione.

Alcuni 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

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio 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[]

Dettagli

Fondamenti di Informatica

Fondamenti 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

Dettagli

I tipi strutturati e i record in C++

I 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

Dettagli

Array. Aggragati di variabili omogenee...

Array. 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

Dettagli

Problema: calcolare il massimo tra K numeri

Problema: 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

Dettagli

LABORATORIO 7 ARRAY. ATTENZIONE: argomenti da linea di comando!!!

LABORATORIO 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

Dettagli

Programmazione di base

Programmazione 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,

Dettagli

Algoritmi su Array. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

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

Dettagli

Programmazione I - Laboratorio

Programmazione 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

Dettagli

Esercizio. 2 i=i*2) j=j*2)

Esercizio. 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

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