Fondamenti Teorici e Programmazione
|
|
- Isidoro Giordani
- 4 anni fa
- Visualizzazioni
Transcript
1 Fondamenti Teorici e Programmazione Modulo A Elementi di Programmazione Claudio Gallicchio, Ph.D.
2 Array 2
3 Dati Strutturati I tipi di dati visti finora sono numeri (interi o razionali) booleani (valori di verita') stringhe (sequenze di caratteri) Spesso e' necessario manipolare dati piu' complessi, che presentano una struttura Dati Strutturati 3
4 Array Gli array rappresentano un tipo di dato composto, formato da una sequenza di valori Ogni valore e' detto elemento dell'array Ad ogni valore e' associato un indice (numero d'ordine) Il numero di elementi in un array e' detto lunghezza (o dimensione) dell'array In JS gli array sono dinamici, cioe' possono avere lunghezza variabile Nota: In JS i valori che compongono un array possono essere omogenei (stesso tipo) o disomogenei (tipi diversi). Noi ci limitiamo al caso di array omogenei 4
5 Dichiarazione e inizializzazione La sintassi della dichiarazione di un array prevede alcune alternative Dichiarazione di un array vuoto alternativa 1 var nome_array = []; alternativa 2 var nome_array = new Array(); 5
6 Dichiarazione e Inizializzazione Dichiarazione di un array + inizializzazione degli elementi ad undefined var nome_array = new Array(lunghezza); Ad esempio var lunghezza = 7; var nome_array = new Array(lunghezza); writeln(nome_array); dichiara un array di lunghezza 7 inizializza ad undefined tutti i suoi elementi 6
7 Dichiarazione e Inizializzazione Dichiarazione di un array + inizializzazione degli elementi var nome_array = [espressione1, espressione2,..., espressionek]; Ad esempio var vettore = [1, -2, 3, 45]; writeln(vettore); dichiara un array di lunghezza 4 inizializza i suoi elementi a specifici valori indicati tra [ ] e separati da, 7
8 Dichiarazione e Inizializzazione Dichiarazione di un array + inizializzazione degli elementi (ver. 2) var nome_array = new Array(espressione1, espressione2,..., espressionek); Ad esempio var vettore = new Array(1, -2, 3, 45); writeln(vettore); dichiara un array di lunghezza 4 inizializza i suoi elementi a specifici valori indicati tra ( ) e separati da, 8
9 Accesso agli elementi di un array Ogni elemento di un array e' accessibile usando l'identificatore dell'array e l'indice dell'elemento es. nome_array[indice] L'indice puo' essere anche il risultato di un'espressione es. nome_array[espressione] L'indice deve essere un valore numerico intero, non negativo Gli array sono indicizzati a partire da 0 es.: gli indici di un array di 6 elementi variano da 0 (primo elemento) a 5 (ultimo elemento) Ricordare: vet[i] indica l'elemento dell'array vet di indice i 9
10 Rappresentazione grafica Supponiamo di aver dichiarato var vettore = new Array(7); possiamo rappresentare il vettore in forma tabellare Indice Elemento Variabile 0 undefined vettore[0] 1 undefined vettore[1] 2 undefined vettore[2] 3 undefined vettore[3] 4 undefined vettore[4] 5 undefined vettore[5] 6 undefined vettore[6] 10
11 Modifica di un array Gli elementi di un array possono essere modificati usando il comando di assegnamento ( = ) A sinistra dell'uguale si specifica l'espressione che denota l'elemento dell'array, a destra il suo nuovo valore var vettore = new Array(7); vettore[0] = 1; L'indice puo' essere una qualsiasi espressione che abbia un valore intero non negativo var i = Math.round(4.1); vettore[i] = Math.log(1); 11
12 Esempi di istruzioni che coinvolgono array Supponiamo di aver dichiarato il seguente array var vet = new Array(6); Indice Elemento Variabile ora eseguiamo le seguenti istruzioni e vediamo come cambia il contenuto dell'array vet[0] = 15; vet[1] = vet[0] + 4; write(vet[0]+vet[1]); 0 undefined vet[0] 1 undefined vet[1] 2 undefined vet[2] 3 undefined vet[3] 4 undefined vet [4] 5 undefined vet [5] 12
13 Esempi di istruzioni che coinvolgono array Dopo l'esecuzione di vet[0] = 15; Indice Elemento Variabile 0 15 vet[0] 1 undefined vet[1] 2 undefined vet[2] 3 undefined vet[3] 4 undefined vet [4] 5 undefined vet [5] 13
14 Esempi di istruzioni che coinvolgono array Dopo l'esecuzione di vet[1] = vet[0] + 4; Indice Elemento Variabile 0 15 vet[0] 1 19 vet[1] 2 undefined vet[2] 3 undefined vet[3] 4 undefined vet [4] 5 undefined vet [5] 14
15 Lo stato con gli array Quando si usano array, lo stato viene esteso. E' necessario considerare: l'ambiente che rappresenta le variabili come insieme di coppie lo heap in cui sono memorizzati gli array Le variabili che hanno come valore un array assumono nell'ambiente un valore speciale detto reference il reference e' un indirizzo di memoria che individua l'area dello heap in cui e' memorizzato l'array 15
16 Lo stato con gli array: reference e heap Lo heap in cui e' memorizzato l'array e' costituito da piu' locazioni di memoria (illustrato come nelle precedenti tabelle) Il reference e' indicato graficamente come una freccia (che punta allo heap), oppure con refi dal momento che l'indirizzo effettivo di memoria e' un dettaglio che dipende dal gestore della memoria (non ci interessa) 16
17 Esempio di stato var vet1 = new Array(6); Stato risultante: {(vet1, )} 0 undefined 1 undefined 2 undefined 3 undefined 4 undefined 5 undefined 17
18 Esempio di stato var vet1 = new Array(6); var vet2 = new Array(6); Stato risultante: {(vet1, ), (vet2, )} 0 undefined 1 undefined 2 undefined 3 undefined 4 undefined 5 undefined 0 undefined 1 undefined 2 undefined 3 undefined 4 undefined 5 undefined 18
19 Esempio di stato var vet1 = new Array(6); var vet2 = new Array(6); var a = 0; Stato risultante: {(vet1, ), (vet2, ), (a, 0)} 0 undefined 1 undefined 2 undefined 3 undefined 4 undefined 5 undefined 0 undefined 1 undefined 2 undefined 3 undefined 4 undefined 5 undefined 19
20 Esempio di stato var vet1 = new Array(6); var vet2 = new Array(6); var a = 0; vet1[0] = 4; Stato risultante: {(vet1, ), (vet2, ), (a, 0)} undefined 2 undefined 3 undefined 4 undefined 5 undefined 0 undefined 1 undefined 2 undefined 3 undefined 4 undefined 5 undefined 20
21 Esempio di stato Stato risultante: {(vet1, ), (vet2, ), (a, 0)} var vet1 = new Array(6); var vet2 = new Array(6); var a = 0; vet1[0] = 4; vet1[1] = a; vet2[1]=vet1[1]+2; undefined 3 undefined 4 undefined 5 undefined 0 undefined undefined 3 undefined 4 undefined 5 undefined 21
22 Esempio di stato - Attenzione Stato risultante: {(vet1, ), (vet2, ), (a, 0)} var vet1 = new Array(6); var vet2 = new Array(6); var a = 0; vet1[0] = 4; vet1[1] = a; vet2[1]=vet1[1]+2; vet2 = vet1; undefined 3 undefined 4 undefined 5 undefined 0 undefined undefined 3 undefined 4 undefined 5 undefined vet1 e vet2 condividono lo stesso array cioe' hanno lo stesso reference nell ambiente l'area di memoria puntata dal vecchio reference di vet2 non e' piu' accessibile 22
23 Esempio di stato - Attenzione Stato risultante: {(vet1, ), (vet2, ), (a, 0)} var vet1 = new Array(6); var vet2 = new Array(6); var a = 0; vet1[0] = 4; vet1[1] = a; vet2[1]=vet1[1]+2; vet2 = vet1; vet1[2]=vet2[1]; undefined 4 undefined 5 undefined 0 undefined undefined 3 undefined 4 undefined 5 undefined la modifica a vet2 modifica anche vet2, dal momento che hanno lo stesso reference nell'ambiente 23
24 Osservazioni sugli array Anche l'operatore di uguaglianza opera sugli array: due variabili array se condividono la stessa struttura esercizio: valutare (vet1==vet2) prima e dopo l'istruzione vet2 = vet1; Gli operatori di confronto (<, >) non sono definiti su array attenzione: non viene generato errore, ma sempre false! Nell'ambiente EasyJS le funzioni write e writeln funzionano anche su array stampano gli elementi dell'array separati da virgole 24
25 Manipolazione di array La manipolazione di array avviene spesso tramite cicli, e in particolare (di solito) con l'istruzione iterativa for L'indice del ciclo varia da 0 a lunghezza-1 viene usato per scandire tutto l'array e per accedere a ciascun elemento dell'array Esempio: lettura e stampa di un vettore var lunghezza = readnum(); var i; var vet = new Array(lunghezza); for (i = 0; i < lunghezza; i++) vet[i] = readnum(); for (i = 0; i < lunghezza; i++) writeln("elemento di indice " + i + " " + vet[i]); 25
26 Array dinamici In JS gli array sono strutture dinamiche: il numero degli elementi puo' variare durante l'esecuzione del programma Per aggiungere un elemento ad array e' possibile assegnare un valore ad un elemento di indice successivo all'ultimo attualmente esistente Esempio: var L = 5, i = 0; var vet = new Array(L); //vet ha lunghezza 5 //gli elementi del vettore vengono riempiti con //le potenze di 2 for (i = 0;i < L; i++) vet[i] = Math.pow(2,i); vet[l] = Math.pow(2,L); //<--- vet ora ha lunghezza 6 26
27 Array dinamici Esempio var L = 5, i = 0; var vet = new Array(L); //vet ha lunghezza 5 //gli elementi del vettore vengono riempiti con //le potenze di 2 for (i = 0;i < L; i++) vet[i] = Math.pow(2,i); vet[l] = Math.pow(2,L); //<--- vet ora ha lunghezza 6 vet[l+2] = -1; //aggiunge due elementi undefined
28 Lunghezza di un array In JS la lunghezza di un array e' una proprieta' dell'array Per conoscere la lunghezza di un array di nome occorre accedere alla sua proprieta' length Sintassi: nome_array.length Attenzione: la lunghezza dell'array e' uguale al massimo indice + 1 var L = 5, i = 0; var vet = new Array(L); writeln(vet.length); //stampa: 5 for (i = 0;i < vet.length; i++) //usa vet.length vet[i] = Math.pow(2,i); vet[vet.length] = Math.pow(2,L); //<--- vet ora ha lunghezza 6 writeln(vet.length); //stampa: 6 vet[vet.length+1] = -1; //aggiunge due elementi writeln(vet.length); //stampa: 8 28
29 Esempio Calcolo della somma degli elementi in un vettore var a = new Array(10); var i, somma = 0; // qui le istruzioni per riempire l'array //... //... // somma degli elementi nell'array: for (i = 0; i < a.length; i++) somma += a[i]; //stampiamo la somma: writeln(somma); 29
30 Esempio Calcolo del massimo tra gli elmenti (numerici) di un vettore var a = new Array(10); var i, max; // qui le istruzioni per riempire l'array //... //... // calcolo il massimo max = -Infinity; for (i = 0; i < a.length; i++) if (a[i]>max) max = a[i]; //stampiamo il massimo writeln(max); 30
31 Esempio Ricerca di un elemento con valore v in un array di lunghezza L Supponiamo che l'array non sia ordinato Calcolare true se l'elemento viene trovato, false altrimenti var a = new Array(10); var i, trovato = false; var v = readnum(); // elemento da cercare // qui le istruzioni per riempire l'array //... for(i = 0;i<a.length;i++) if (a[i] == v) trovato = true; //stampiamo il risultato if (trovato) writeln('trovato!'); else writeln('non trovato!'); 31
32 Esempio alternativa piu' efficiente Ricerca di un elemento con valore v in un array di lunghezza L, supponiamo che l'array non sia ordinato Se l'elemento viene trovato, stampare anche l'indice corrispondente nell'array Usiamo un' iterazione indeterminata var a = new Array(10); var i = 0, trovato = false; var v = readnum(); // elemento da cercare // qui le istruzioni per riempire l'array //... while (i<a.length &&!trovato) if (a[i] == v) trovato = true; else i++; //stampiamo il risultato if (trovato) writeln('trovato! indice = ' + i); else writeln('non trovato!'); 32
33 Esempio Shift a sinistra degli elementi di un vettore Occorre spostare di una posizione a sinistra tutti gli elementi del vettore. Es. con array di lunghezza vet[0] = vet[1] var vet = new Array(5); //... for(i = 0; i<vet.length-1; i++) vet[i] = vet[i+1]; vet[1] = vet[2] vet[2] = vet[3] vet[3] = vet[4] 33
34 Esempio Shift circolare a sinistra degli elementi di un vettore E' come uno shift a sinistra, ma l'elemento che esce dalla prima posizione rientra nell'ultima posizione var vet = new Array(5); //... var c = vet[0]; for(i = 0; i<vet.length-1; i++) vet[i] = vet[i+1]; vet[vet.length-1] = c; 34
35 Esercizio Scrivere il codice JS per implementare lo shift e lo shift circolare a destra 35
36 Esempio Scrivere un programma per leggere N interi. Successivamente, leggere un intero y e stampare i valori maggiori di y precedentemente letti var N = readnum(); var vet = new Array(N); var y; var i; // leggo gli N valori for (i=0;i<n;i++) vet[i] = readnum(); // leggo y y = readnum(); // stampo i numeri > y for (i = 0; i<n; i++) if (vet[i]>y) writeln(vet[i]); 36
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
DettagliFondamenti Teorici e Programmazione
Fondamenti Teorici e Programmazione Modulo A Elementi di Programmazione Claudio Gallicchio, Ph.D. Array Multidimensionali 2 Array a piu' dimensioni In JavaScript non esistono costrutti specifici per definire
DettagliLa programmazione nel linguaggio JavaScript. Il programma
Il programma Nei linguaggi di programmazione il programma è una funzione che ha come argomento i dati digitati in input e opportunamente convertiti. la descrizione della funzione (ovvero il programma)
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
DettagliFondamenti Teorici e Programmazione
Fondamenti Teorici e Programmazione Modulo A Elementi di Programmazione Claudio Gallicchio, Ph.D. Lettura di Stringhe e Numeri Interazione con l utente 2 Lettura di Stringhe e Numeri Le funzioni write
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à
DettagliArray. Walter Didimo
Array Walter Didimo Un problema ricorrente Gli strumenti di programmazione che abbiamo visto sin qui non sono ancora sufficienti per risolvere tutti i problemi di base Consideriamo ad esempio il seguente
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
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
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
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
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
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
DettagliGli Array. Dichiarazione di un array
Gli Array Un array rappresenta una variabile indicizzata (ovvero contenente un indice) che viene utilizzata per contenere più elementi dello stesso tipo. Ogni array ha un nome al quale viene associato
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 Programmazione Laurea in Informatica A.A. 2000/2001 Docente: A. Lanza. Il tipo ARRAY Problemi (calcolo della frequenza, trasposta, )
Laboratorio di Programmazione Laurea in Informatica A.A. 2000/2001 Docente: A. Lanza Il tipo ARRAY Problemi (calcolo della frequenza, trasposta, ) Editazione a cura di Bombini T., De Candia P. e Galantino
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];
DettagliArray. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 11 Array A. Miola Dicembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Array 1 Contenuti Il problema degli studenti da promuovere
DettagliTipi derivati: Array
Tipi derivati: Array Array Gli array (o vettori) sono composti da elementi omogenei (cioè hanno tutti lo stesso tipo base) ogni elemento è identificato all'interno dell'array da un numero d ordine detto
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)
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
DettagliMETODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi
Fondamenti di Informatica METODI in Java Prof.Angela Bonifati 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile definire nuovi tipi di dati, tramite i metodi è possibile
DettagliLaboratorio di Matematica e Informatica 1
Laboratorio di Matematica e Informatica 1 Matteo Mondini Antonio E. Porreca matteo.mondini@gmail.com porreca@disco.unimib.it Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi
DettagliCorso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4
Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Domanda n. 1 Argomento: Rappresentazione dell'informazione Domanda: Il numero binario
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)
DettagliProblema: ricerca di un elemento
Problema: ricerca di un elemento Ricerca di un numero all'interno di un vettore. Assumere che la dimensione del vettore sia uguale ad N e che la prima posizione del vettore sia uguale a 0. Esempio: Se
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
DettagliProgrammazione strutturata IV e Gli array. Dove siamo. Un esercizio. Oggi. Schema 1. Prima idea. 7. Programmazione strutturata 4 & Array
Programmazione strutturata IV e Gli array Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 7 18/10/2013
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
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
DettagliC array. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso.
Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso. Non sappiamo a priori quante variabili dobbiamo definire per contenere gli interi.
Dettagli5.4 Istruzione di input L istruzione di input ha la forma:
5.2 Istruzione di output L istruzione di output ha la forma: cout
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
DettagliFondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento
Fondamenti di Informatica Algoritmi di Ricerca e di Ordinamento 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure l elemento
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 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
DettagliPuntatori. Fondamenti di Programmazione
Puntatori Fondamenti di Programmazione Funzioni utili stdio.h c = getchar(); restituisce un carattere letto da tastiera. Equivale a: scanf( %c, &c); putchar(c); scrive un carattere sullo schermo. Equivale
DettagliLezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione
Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione
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
Dettagli7. Programmazione strutturata 4 & Array. ! No lezione il marzo. ! Lab.? ! Esempio. ! Introduzione agli array
Programmazione strutturata IV e Gli array Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 7 16/03/2015
DettagliProf. G. Ascia. I puntatori. Fondamenti di Informatica
I puntatori 1 Associazione Variabile-Indirizzo Tutte le volte che in un programma si dichiarano delle variabili, l'esecutore associa alla variabile un indirizzo. Es. Dato il programma #include
DettagliINFORMATICA. Vettori e matrici in C++ A cura dell Ing. Claudio Traini
INFORMATICA Vettori e matrici in C++ A cura dell Ing. Claudio Traini Vettori Il vettore è una collezione di variabili tutte dello stesso tipo (detto appunto tipo) di lunghezza prefissata. Questa collezione
Dettagliarray in Java come disporre di un numero arbitrariamente alto di variabili omogenee
array in Java come disporre di un numero arbitrariamente alto di variabili omogenee variabili con pedice? per memorizzare i coefficienti di polinomio di grado N occorrono N+1 variabili polinomio di grado
DettagliTipi derivati. Strutture Matrici typedef enum
Tipi derivati Strutture Matrici typedef enum Le strutture Una struttura, o struct, è un tipo di dato derivato che permette di aggregare un insieme di elementi, detti campi, all'interno di un unica entità
DettagliVariabili e input/ Alessandra Giordani Lunedì 18 marzo
Variabili e input/ output da tastiera Alessandra Giordani agiordani@disi.unitn.it Lunedì 18 marzo 2013 http://disi.unitn.it/~agiordani/ Es. compilazione helloworld.c 2 Variabili e valori Una variabile
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
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:
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&#
DettagliStrutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
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
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
DettagliUniversità degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto
Il Pascal (continua) Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Selezione multipla! Nel
DettagliArray. In Java un array è un oggetto senza metodi, con attributo pubblico length che memorizza la dimensione dell array
Array Una matrice (array) è un insieme ordinato e omogeneo di dati: è una variabile che contiene uno o più valori in sequenza ordinata. Questi valori si chiamano "elementi" e devono avere lo stesso tipo
DettagliPuntatori e array. Tipo puntatore Vettori
Puntatori e array Tipo puntatore Vettori I puntatori un puntatore si definisce scrivendo il tipo cui si punta, l'asterisco e il nome della variabile esempi di dichiarazione: int *ptr1, *ptr2; un puntatore
DettagliI Dati Strutturati ed il Linguaggio C
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Dati Strutturati Esigenze Vettori
DettagliAssociazione Variabile-Indirizzo
I puntatori Associazione Variabile-Indirizzo Tutte le volte che in un programma si dichiarano delle variabili, l'esecutore associa alla variabile un indirizzo. Es. Dato il programma #include
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
DettagliProgrammare. Compilatori e interpreti. Editor :: vi. Hello1.c. #include <stdio.h> >> cc Hello1.c. main() { printf( \n Hello World!
Programmare Hello1.c #include printf( \n Hello World! \n ); >> cc Hello1.c >> a.out Hello World! >> Hello1.c = file sorgente per scriverlo occorre un editor cc = compilatore per altri linguaggi
DettagliLezione 6 programmazione in Java
Lezione 6 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Le costanti I vettori Cos è un vettore Come si usa I vari tipi di vettori Esempi
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
DettagliCorso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione
Corso: Fondamenti di Informatica (Gruppo 2) a.a. 2017-18 Corsi di laurea: Ing. Settore Informazione Questionario a Risposte Multiple per auto-valutazione del Lab05 Domanda n. 1 Argomento: Iterazioni, 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
DettagliStrutture Dati per Inserimento Ordinato. Luca Abeni
Strutture Dati per Inserimento Ordinato Luca Abeni Esempio: Ordinamento di Numeri A cosa servono i tipi di dato strutturati? Non bastano i tipi scalari? Capiamolo con un esempio... Problema: dato un insieme
DettagliIl primo programma C++
Il primo programma C++ Un programma in qualsiasi linguaggio evoluto è una sequenza di istruzioni che la CPU dopo opportune conversioni esegue. La sintassi dei linguaggi di programmazione è molto piu rigida
DettagliPUNTATORI. Ivan Lanese
PUNTATORI Ivan Lanese Argomenti Puntatori Liste Puntatori Un puntatore è un tipo di dato che contiene l'indirizzo di memoria di un altro tipo di dato In c+o i puntatori sono tipati: avremo puntatori a
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
DettagliAlgoritmi di Ricerca. Esempi di programmi Java. Prof. Angela Bonifati
Passaggio dei parametri in Java Nel seguente esempio public class parametri2 public static void main(string args[]) int x = 1; int y; double d[] = new double[2]; d[0] = 25; y= metodo1(d, x); System.out.println("Il
DettagliFondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura
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
DettagliRiepilogo della puntata precedente
Riepilogo della puntata precedente Da quanto detto la volta scorsa, la scelta di passare un array mediante un puntatore è giustificata solo dal risparmio, in termini di memoria, che tale scelta comporta.
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
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
DettagliALGORITMI E STRUTTURE DATI
Esercitazioni del corso di: ALGORITMI E STRUTTURE DATI Tutor: Francesca Piersigilli email: francesca.piersigilli@unicam.it Strutture dati elementari Tecniche di organizzazione dei dati: scelta della struttura
DettagliIstruzioni di controllo
Istruzioni di controllo Le istruzioni in C Assegnazione Sequenza I/O Test Cicli Controllo = che cosa è la prossima cosa da fare La prossima cosa da fare è quella che segue La prossima cosa da fare dipende
DettagliA. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica
informatica Java basi del linguaggio Alberto Ferrari Informatica struttura di un programma Java /** * Classe EsempioProgramma * Un esempio di programmazione in Java * @author 4A Informatica */ public class
DettagliCasi di prova. Il problema dell ordinamento. Casi di prova. Casi di prova. Casi di prova
Casi di prova Casi di prova Quando si vuole testare un algoritmo si devono costruire vari casi di prova. Invece di eseguire il programma più volte si può costruire un file di dati contenente tutti i casi
DettagliClassi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array
Classi e array Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Si vuole definire una classe Polinomio per la rappresentazione di polinomi a
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
DettagliCapitolo 16 Iterazione
Capitolo 16 Accesso a sequenze I problemi esaminati in questo capitolo hanno lo scopo di accedere ed elaborare delle sequenze sequenze immesse dall utente lette dalla tastiera di lunghezza nota con un
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
DettagliFondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture iterative e selettive Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 AlgoBuild: Strutture iterative
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)
DettagliProgrammazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 7 Iterazioni nei programmi:definite e indefinite Tre costrutti: While Do...While For Esempi Istruzioni di iterazione Le istruzioni iterative permettono di ripetere
DettagliIstruzioni Condizionali
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti
DettagliCostanti e Variabili
Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli
DettagliAssegnazione di una variabile
Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile
DettagliTipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C
Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che
DettagliAlgebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
DettagliGestione dei compiti
1 of 18 23/10/2006 103 Gestione dei compiti Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Domanda n. 1 Argomento: Logica booleana Domanda: Qual e' il risultato
DettagliDo...While() Break Continue Concetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java Prof.Angela Bonifati 1 Istruzione while int vet1[] = new int[20]; int vet2[] = new int[20]; for(int
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
DettagliIl linguaggio C. Puntatori e dintorni
Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;
Dettagli