Algoritmi su Array. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
|
|
- Celia Norma Paoli
- 5 anni fa
- Visualizzazioni
Transcript
1 Algoritmi su Array Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
2 Algoritmi su Array 2
3 Ringraziamenti prof. Stefano Mizzaro, Università di Udine Algoritmi su Array 3
4 Passaggio di parametri di tipo array void f1( int a[5] ); /* OK, dimensione prefissata */ void f2( int a[] ); /* OK, ma devo sapere per altre vie la dimensione di a */ void f3( int a[], int n ); #define C 40 void f4( int v[][c], int r ); void f5( int v[4][3] ); /* OK, dimensioni prefissate */ Algoritmi su Array 4
5 Esempi classici con array Inversione Ricerca lineare Ricerca binaria Ordinamento Algoritmi su Array 5
6 Inversione Algoritmi su Array 6
7 Inversione di un array Scambiare di posto gli elementi di un array a[] di n elementi Il primo e l ultimo Il secondo e il penultimo... Prima Dopo Algoritmi su Array 7
8 Come (non) scambiare il valore di due variabili int a = 3, b = 5; /* modo SBAGLIATO di scambiare tra loro i valori di a e b */ a = b; b = a; Quale è il risultato del frammento di codice sopra? Algoritmi su Array 8
9 Come scambiare il valore di due variabili 3 bicchieri, a, b e tmp ("temporaneo") In a c è acqua, in b c è vino, tmp è vuoto Voglio scambiare a e b (mettere il vino in a e l acqua in b). Come faccio? /* modo CORRETTO di scambiare a e b */ a b int a = 3, b = 5, tmp; tmp Algoritmi su Array 9
10 Come scambiare il valore di due variabili 3 bicchieri, a, b e tmp ("temporaneo") In a c è acqua, in b c è vino, tmp è vuoto Voglio scambiare a e b (mettere il vino in a e l acqua in b). Come faccio? /* modo CORRETTO di scambiare a e b */ a b int a = 3, b = 5, tmp; tmp = a; /* copia a in tmp */ tmp Algoritmi su Array 10
11 Come scambiare il valore di due variabili 3 bicchieri, a, b e tmp ("temporaneo") In a c è acqua, in b c è vino, tmp è vuoto Voglio scambiare a e b (mettere il vino in a e l acqua in b). Come faccio? /* modo CORRETTO di scambiare a e b */ a b int a = 3, b = 5, tmp; tmp = a; /* copia a in tmp */ a = b; /* copia b in a */ tmp Algoritmi su Array 11
12 Come scambiare il valore di due variabili 3 bicchieri, a, b e tmp ("temporaneo") In a c è acqua, in b c è vino, tmp è vuoto Voglio scambiare a e b (mettere il vino in a e l acqua in b). Come faccio? /* modo CORRETTO di scambiare a e b */ a b int a = 3, b = 5, tmp; tmp = a; /* copia a in tmp */ a = b; /* copia b in a */ b = tmp; /* copia tmp in a */ tmp Algoritmi su Array 12
13 Inversione: primi tentativi int i, tmp; for (i=0; i<n; i++) { tmp = a[n-i]; a[n-i] = a[i]; a[i] = tmp; SBAGLIATO int i, tmp; for (i=0; i<n; i++) { tmp = a[n-1-i]; a[n-1-i] = a[i]; a[i] = tmp; SBAGLIATO Algoritmi su Array 13
14 Inversione di un array int i, tmp; for (i=0; i<n; i++) { tmp = a[n-1-i]; a[n-1-i] = a[i]; a[i] = tmp; SBAGLIATO i= Algoritmi su Array 14
15 Inversione di un array int i, tmp; for (i=0; i<n; i++) { tmp = a[n-1-i]; a[n-1-i] = a[i]; a[i] = tmp; SBAGLIATO i= Algoritmi su Array 15
16 Inversione di un array int i, tmp; for (i=0; i<n; i++) { tmp = a[n-1-i]; a[n-1-i] = a[i]; a[i] = tmp; SBAGLIATO i= Algoritmi su Array 16
17 Inversione di un array int i, tmp; for (i=0; i<n; i++) { tmp = a[n-1-i]; a[n-1-i] = a[i]; a[i] = tmp; SBAGLIATO i= Algoritmi su Array 17
18 Inversione di un array int i, tmp; for (i=0; i<n; i++) { tmp = a[n-1-i]; a[n-1-i] = a[i]; a[i] = tmp; SBAGLIATO i= Algoritmi su Array 18
19 Inversione di un array int i, tmp; for (i=0; i<n; i++) { tmp = a[n-1-i]; a[n-1-i] = a[i]; a[i] = tmp; SBAGLIATO Alla fine riotteniamo l'array di partenza! Algoritmi su Array 19
20 L algoritmo Scambio il primo con l'ultimo......il secondo con il penultimo......fino a metà array! i = 0; while ("non sono arrivato a metà") { "scambia a[i] con a[n-1-i]" i = i + 1; Algoritmi su Array 20
21 L algoritmo (meglio) Scambio il primo con l'ultimo......il secondo con il penultimo......fino a metà array! i = 0; j = n-1; while ("non sono arrivato a metà") { "scambia a[i] con a[j]" i = i + 1; j = j 1; Algoritmi su Array 21
22 L'algoritmo Come decido se non sono ancora arrivato a metà? i j i j i = 0; j = n-1; while (i < j) { "scambia a[i] con a[j]" i = i + 1; j = j 1; Algoritmi su Array 22
23 Inversione di un array /* inversione.c : inverte il contenuto di un array */ #include <stdio.h> void inverti(int a[], int n) { int i = 0, j = n-1, tmp; while ( i < j ) { tmp = a[i]; a[i] = a[j]; a[j] = tmp; i++; j--; #define N 10 int main( void ) { int a[n], i; printf("digita %d valori\n", N); for (i = 0; i < N; i++) { /* Lettura dell'array */ scanf("%d", &a[i]); inverti(a, N); for (i = 0; i < N; i++) { /* Stampa l'array dopo l'inversione */ printf("%d\n", a[i]); return 0; Algoritmi su Array 23
24 Ricerca lineare Algoritmi su Array 24
25 Ricerca lineare Dati Un array a[] di int di lunghezza n Un intero k int ricerca(int a[], int n, int k) Restituisce la posizione di una occorrenza (la prima?) di k in a[] Se k non compare in a, restituisce -1 Procedimento Scorro l array partendo dall inizio Fermandomi se trovo un elemento il cui valore è uguale a k, oppure se arrivo in fondo all'array k 3 a[] Algoritmi su Array
26 Ricerca lineare Primo tentativo (sbagliato) int ricerca(int a[], int n, int k) { int i; for (i = 0; i < n; i++) { if (a[i] == k) { return i; /* trovato */ else { return -1; /* non trovato */ SBAGLIATO k 3 a[] Algoritmi su Array
27 Ricerca lineare Secondo tentativo (meglio) int ricerca(int a[], int n, int k) { int i; for (i = 0; i < n; i++) { if (a[i] == k) { return i; /* trovato */ return -1; /* non trovato */ OK k 3 a[] Algoritmi su Array
28 Ricerca lineare /* ricerca-lineare.c */ #include <stdio.h> int ricerca(int a[], int n, int k) { int i; for (i = 0; i < n; i++) { if (a[i] == k) { return i; return -1; #define N 10 Ricordare che l'istruzione return termina immediatamente l'esecuzione della funzione, restituendo il valore indicato int main( void ) { int a[n] = {7, 12, 3, -1, 8, 2, 1, 3, 2, 15; printf("ricerca 7 = %d\n", ricerca(a, N, 7)); printf("ricerca 15 = %d\n", ricerca(a, N, 15)); printf("ricerca 3 = %d\n", ricerca(a, N, 3)); printf("ricerca 17 = %d\n", ricerca(a, N, 17)); return 0; Algoritmi su Array 28
29 Una applicazione della ricerca lineare Il sindaco di Paperopoli ha deciso di tassare i residenti in base al reddito. Detto R il reddito lordo annuo, l'importo dovuto in tasse è (R x), dove x dipende da R secondo la seguente tabella Se 0 R < x = 0.05 Se R < x = 0.11 Se R x = 0.15 Scrivere un programma in C che chiede all'utente di inserire il reddito R (tipo double; se l'utente inserisce un valore negativo, richiederlo), e stampa l'importo dovuto in tasse Algoritmi su Array 29
30 Primo tentativo: funziona, ma... /* tasse-1.c */ #include <stdio.h> int main( void ) { double R, x; do { printf("inserire reddito R\n"); scanf("%lf", &R); while (R < 0); if ( R < ) { x = 0.05; else { if ( R < ) { x = 0.11; else { x = 0.15; printf("le tasse dovute ammontano a %f\n", R*x); return 0; Algoritmi su Array 30
31 Un bel giorno... Vista la situazione disastrata delle finanze di Paperopoli, il sindaco decide di introdurre nuovi scaglioni: Se 0 R < x = 0.05 Se R < x = 0.11 Se R < x = 0.15 Se R < x = 0.17 Se R < x = 0.20 Se R x = 0.25 Modificare il programma precedente per funzionare correttamente nella nuova situazione Algoritmi su Array 31
32 /* tasse-2.c */ #include <stdio.h> int main( void ) { double R, x; do { printf("inserire reddito R\n"); scanf("%lf", &R); while (R < 0); if ( R < ) { x = 0.05; else { if ( R < ) { x = 0.11; else { if ( R < ) { x = 0.15; else { if ( R < ) { x = 0.17; else { if ( R < ) { x = 0.20; else { x = 0.25; printf("le tasse dovute ammontano a %f\n", R*x); return 0; Algoritmi su Array 32
33
34 Idea Memorizzo gli scaglioni e le relative percentuali in una tabella cioè in un array Dato il reddito R, cerco nell'array lo scaglione corrispondente e da questo ricava la percentuale Se gli estremi degli scaglioni e/o le percentuali cambiano, devo cambiare solo l'array e non il programma che fa la ricerca! Algoritmi su Array 34
35 Nuova soluzione: meglio /* tasse-4.c */ #include <stdio.h> #define N 6 int main( void ) { double scaglioni[n]={ 0.0, , , , , ; double imposta[n] ={0.05, 0.11, 0.15, 0.17, 0.20, 0.25; double R, x; int i; do { printf("inserire reddito R\n"); scanf("%lf", &R); while (R < 0); scaglioni[i] è il limite inferiore dello scaglione i-esimo (inizio a contare da i = 0). imposta[i] è la percentuale di tasse per i redditi appartenenti allo scaglione i-esimo for (i=n-1; R < scaglioni[i]; i--) ; x = imposta[i]; Corpo del ciclo "for" vuoto! printf("le tasse dovute ammontano a %f (imposta=%f%%)\n", R*x, x*100); return 0; Algoritmi su Array 36
36 Ricerca Binaria Algoritmi su Array 37
37 Ricerca binaria Dati: Un array di valori interi distinti v[0], v[1], v[n-1] ordinati in senso crescente (v[0] < v[1] < < v[n-1]) Un valore intero x (arbitrario) Determinare la posizione di x nell'array (se presente) Es: Cioè determinare l'indice i, se esiste, tale che v[i] == x Se x non compare nell'array, restituire -1 v[0] v[1] v[2] v[3] v[4] v[5] Cerchiamo x = 7 La funzione restituisce 2 Algoritmi su Array 38
38 Esempio Ricerca di x = Algoritmi su Array 39
39 Esempio Ricerca di x = Algoritmi su Array 40
40 Esempio Ricerca di x = Algoritmi su Array 41
41 Esempio Ricerca di x = Algoritmi su Array 42
42 Esempio Ricerca di x = Algoritmi su Array 43
43 Esempio Ricerca di x = Trovato! Algoritmi su Array 44
44 Esempio Ricerca di x = Algoritmi su Array 45
45 Esempio Ricerca di x = Algoritmi su Array 46
46 Esempio Ricerca di x = Algoritmi su Array 47
47 Esempio Ricerca di x = Algoritmi su Array 48
48 Esempio Ricerca di x = Algoritmi su Array 49
49 Esempio Ricerca di x = Algoritmi su Array 50
50 Esempio Ricerca di x = Non trovato! Algoritmi su Array 51
51 Domande Dato un array ordinato di n elementi (con n "grande"): Quanti elementi bisogna esaminare nel caso migliore? Quanti elementi bisogna esaminare nel caso peggiore? Algoritmi su Array 52
52 Funzionamento dell'algoritmo Usiamo due valori interi i (inizio) e f (fine) per rappresentare la posizione (indice) del primo e dell'ultimo elemento della porzione di array in cui potrebbe trovarsi il valore cercato Indichiamo con m (mezzo) l'indice dell'elemento che occupa la posizione centrale nel sottovettore v[i] v[f] i=0 m=3 f=6 v[0] v[1] v[2] v[3] v[4] v[5] v[6] Algoritmi su Array 53
53 Schema di soluzione int ricbinaria(int v[], int n, int x) { int i = 0, f = n-1, m; while ( sottovettore non vuoto ) { m = posizione centrale nel sottovettore v[i..f] ; if (v[m] == x) { return m; /* trovato in posizione m */ else { aggiorna gli estremi i e f return -1; /* non trovato */ Algoritmi su Array 54
54 Raffinamento Come facciamo a "calcolare la posizione centrale nel sottovettore v[i..f]"? (f i + 1) elementi... i Circa (f i)/2 elementi m Circa (f i)/2 elementi f... m = i + (f i) / 2 = (i + f) / 2 Algoritmi su Array 55
55 Attenzione... Controlliamo se funziona anche in casi particolari i = 1 f = 2 m = (1 + 2) / 2 = 1 i = 4 f = 4 m = (4 + 4) / 2 = 4 Algoritmi su Array 56
56 Raffinamento int ricbinaria(int v[], int n, int x) { int i = 0, f = n-1, m; while ( sottovettore non vuoto ) { m = (i + f)/2; if (v[m] == x) { return m; /* trovato in posizione m */ else { aggiorna gli estremi i e f return -1; /* non trovato */ Algoritmi su Array 57
57 Secondo raffinamento Se il valore centrale non è quello cercato, come aggiornare il valore di i ed f? Caso 1: il valore centrale è troppo grande (es., cerchiamo 3, valore centrale è 12) i m f i f Algoritmi su Array 58
58 Secondo raffinamento Se il valore centrale non è quello cercato, come aggiornare il valore di i ed f? Caso 2: il valore centrale è troppo piccolo (es., cerchiamo 21, valore centrale è 12) i m f i f Algoritmi su Array 59
59 Secondo raffinamento int ricbinaria(int v[], int n, int x) { int i = 0, f = n-1, m; while ( sottovettore non vuoto ) { m = (i + f)/2; if (v[m] == x) { return m; /* trovato in posizione m */ else { if (x < v[m]) { f = m - 1; else { i = m + 1; return -1; /* non trovato */ Algoritmi su Array 60
60 Raffinamento finale L'algoritmo termina quando non ci sono più elementi da esaminare Es: cerchiamo x = 13 int ricbinaria(int v[], int n, int x) { int i = 0, f = n-1, m; while (i <= f) { m = (i + f)/2; if (v[m] == x) { return m; else { if (x < v[m]) { f = m - 1; else { i = m + 1; return -1; i = 0 m = 1 f = i = 2 m = 2 f = f = 1 i = Algoritmi su Array 61
61 /* ricerca-binaria.c */ #include <stdio.h> int ricbinaria(int v[], int n, int x) { int i = 0, f = n-1, m; while (i <= f) { m = (i + f) / 2; if (v[m] == x) { return m; /* trovato in posizione m */ else { if (x < v[m]) { f = m - 1; else { i = m + 1; return -1; /* non trovato */ #define N 10 int main( void ) { int a[n] = {-1, 1, 2, 3, 7, 15, 16, 18, 20, 21; printf("ricerca 7 = %d\n", ricbinaria(a, N, 7)); printf("ricerca -1 = %d\n", ricbinaria(a, N, -1)); printf("ricerca 17 = %d\n", ricbinaria(a, N, 17)); printf("ricerca -2 = %d\n", ricbinaria(a, N, -2)); return 0; Algoritmi su Array 62
62 /* ricerca-binaria.c */ #include <stdio.h> int ricbinaria(int v[], int n, int x) { int i = 0, f = n-1, m; while (i <= f) { m = (i + f) / 2; if (v[m] == x) { return m; /* trovato in posizione m */ else { if (x < v[m]) { f = m - 1; else { i = m + 1; return -1; /* non trovato */ valori duplicati? #define N 10 int main( void ) { int a[n] = {-1, 1, 2, 3, 7, 15, 16, 18, 20, 21; printf("ricerca 7 = %d\n", ricbinaria(a, N, 7)); printf("ricerca -1 = %d\n", ricbinaria(a, N, -1)); printf("ricerca 17 = %d\n", ricbinaria(a, N, 17)); printf("ricerca -2 = %d\n", ricbinaria(a, N, -2)); return 0; Algoritmi su Array 63 Cosa succede se la funzione ricbinaria() viene invocata su un array vuoto (n = 0)? Cosa succede se l'array contiene
63 Ordinamento Algoritmi su Array 64
64 Ordinamento Ordinare un array, ad es., in ordine crescente Problema classico Capita spesso in moltissime applicazioni Vari algoritmi Ne vediamo uno (Selection Sort) Semplice da capire Non molto efficiente Algoritmi su Array 65
65 Selection Sort Cerco il minimo in a[0]...a[n-1] e lo scambio con a[0] Cerco il minimo in a[1]...a[n-1] e lo scambio con a[1] Cerco il minimo in a[i]...a[n-1] e lo scambio con a[i] Algoritmi su Array
66 Schema di soluzione void selectionsort(int a[], int n) { int i, j; for (i=0; i<n-1; i++) { /* per ogni i=0, n-2 */ for (j=i+1; j<n; j++) { /* per ogni j=i+1, n-1 */ if (a[i] > a[j]) { "scambia a[i] con a[j]" Algoritmi su Array 67
67 Esempio Algoritmi su Array 68
68 Esempio Algoritmi su Array 69
69 Esempio Algoritmi su Array 70
70 Esempio Algoritmi su Array 71
71 Esempio Algoritmi su Array 72
72 Esempio Algoritmi su Array 73
73 Esempio Algoritmi su Array 74
74 Esempio Algoritmi su Array 75
75 Costo computazionale Quante volte viene eseguito il blocco di codice evidenziato? void selectionsort(int a[], int n) { int i, j; for (i=0; i<n-1; i++) { /* per ogni i=0, n-2 */ for (j=i+1; j<n; j++) { /* per ogni j=i+1, n-1 */ if (a[i] > a[j]) { "scambia a[i] con a[j]" Algoritmi su Array 77
76 = una iterazione del ciclo "for" interno (quello con indice j) n - 1 i n-2 Algoritmi su Array 78
77 = una iterazione del ciclo "for" interno (quello con indice j) n - 1 i n-2 Algoritmi su Array 80
78 1+2+ +(n 2)=parte grigia= n(n 1) 2 n - 1 = una iterazione del ciclo "for" interno (quello con indice j) n - 1 n i n-2 Algoritmi su Array 81
79 Il codice /* selection-sort.c */ #include <stdio.h> void selectionsort(int a[], int n) { int i, j, tmp; for (i = 0; i < n - 1; i++) { for (j = i + 1; j < n; j++) { if (a[i] > a[j]) { tmp = a[i]; /* scambio a[i] con a[j] */ a[i] = a[j]; a[j] = tmp; /* qui si ha che a[0..i] contiene i primi (i+1) elementi ordinati di a[] /* #define N 10 int main( void ) { int a[n], i; for (i = 0; i < N; i++) { scanf( %d, &a[i]); selectionsort(a, N); for (i = 0; i < N; i++) { printf( %d\n, a[i]); return 0; Algoritmi su Array 82
80 Versione alternativa /* selection-sort2.c */ #include <stdio.h> void selectionsort(int a[], int n) { int i, j, tmp; for (i = 0; i < n - 1; i++) { /* cerca la posizione del minimo in a[i..n-1] */ int imin = i; for (j = i + 1; j < n; j++) { if (a[j] < a[imin]) { imin = j; tmp = a[i]; /* scambio a[i] con a[imin] */ a[i] = a[imin]; a[imin] = tmp; /* qui si ha che a[0..i] contiene i primi (i+1) elementi ordinati di a[] /* #define N 10 int main( void ) { int a[n], i; for (i = 0; i < N; i++) { scanf( %d, &a[i]); selectionsort(a, N); for (i = 0; i < N; i++) { printf( %d\n, a[i]); return 0; Algoritmi su Array 83
81 Esempio i imin Algoritmi su Array 84
82 Esempio i imin Algoritmi su Array 85
83 Esempio i imin Algoritmi su Array 86
84 Esempio i imin Algoritmi su Array 87
85 Esempio i imin Algoritmi su Array 88
86 Esempio i imin Algoritmi su Array 89
87 Esempio i imin Algoritmi su Array 90
88 Esempio i Algoritmi su Array 91
89 Esempio Algoritmi su Array 92
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/
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à
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
DettagliAlgoritmi di ordinamento
Algoritmi di ordinamento Il problema Vogliamo ordinare un array monodimensionale in modo crescente per il caso decrescente valgono le stesse considerazioni Vari algoritmi possibili Diverse caratteristiche
DettagliAlgoritmi di ordinamento
Algoritmi di ordinamento Il problema Vogliamo ordinare un array monodimensionale in modo crescente per il caso decrescente valgono le stesse considerazioni Vari algoritmi possibili Diverse caratteristiche
DettagliArray. Maurizio Palesi Salvatore Serrano. In C si possono definire tipi strutturati Vi sono due costruttori fondamentali
MASTER Information Technology Excellence Road (I.T.E.R.) Array Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di dato stutturati In C si possono
DettagliFunzioni. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Funzioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Funzioni 2 Ringraziamenti prof. Stefano Mizzaro, Università di Udine
DettagliRicerca in una sequenza ordinata
Ricerca su array ordinata Ricerca in una sequenza ordinata Se la sequenza è ordinata posso sfruttare l ordinamento per rendere più efficiente la ricerca, terminando se l elemento corrente risulta maggiore
DettagliCominciamo con un esempio... Utilizzando un sottoprogramma 16/12/2017
Cominciamo con un esempio... Franco FRATTOLILLO Dipartimento di Ingegneria Università degli Studi del Sannio Corso di "Programmazione I" Corso di Laurea in Ingegneria Informatica / ExAT 1 Franco FRATTOLILLO
DettagliIntroduzione al C. Lez. 2 Funzioni e Puntatori
Introduzione al C Lez 2 Funzioni e Puntatori Esercizio 1: test primalità Scrivere un programma che prenda in input un intero n, e stampa SI se n è primo, NO altrimenti (NB: un intero n è primo se e solo
DettagliAlgoritmi di ordinamento: Array e ricorsione
Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ 1 Algoritmi di ordinamento: Array e ricorsione 2 1 Indice Algoritmi di ordinamento: Insertion
DettagliAlgoritmi di Ricerca Ordinamento
Algoritmi di Ricerca e Ordinamento Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Appunti Di Informatica Prof. Accarino 1 Algoritmi classici In ambito informatico alcuni problemi si presentano
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
DettagliOrdinamenti ricorsivi
Ordinamenti ricorsivi Selection Sort ricorsivo Algoritmi di ordinamento I Il metodo del selection sort può essere facilmente realizzato in modo ricorsivo I si definisce una procedura che ordina (ricorsivamente)
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
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
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliLaboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007
Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 07/02/07 Nota Questi lucidi sono tratti
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliALGORITMI DI ORDINAMENTO E RICERCA BINARIA. Docente: Giorgio Giacinto AA 2008/2009. problema dell ordinamento in modi diversi
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
DettagliIntroduzione al C. Lez. 2. Funzioni e Puntatori
Introduzione al C Lez 2 Funzioni e Puntatori Esercizio 1: test primalità Scrivere un programma che prenda in input un intero n, e stampa SI se n è primo, NO altrimenti (NB: un intero n è primo se è solo
DettagliEsercizi di Algoritmi e Strutture Dati
Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it Ultimo aggiornamento: 10 novembre 2010 1 La bandiera nazionale (problema 4.7 del libro di testo). Il problema della bandiera
DettagliIEIM Esercitazione II Elementi di programmazione C. Alessandro A. Nacci -
IEIM 2017-2018 Esercitazione II Elementi di programmazione C Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 4 Dati un numero, stampare il primo numero successivo pari
DettagliInformatica (A-K) 14. Linguaggio C -4
Strutture Dati in C Le strutture dati sono entità che permettono di memorizzare dati in modo organizzato e funzionale a particolari esigenze Informatica (A-K) 14. Linguaggio C -4 Strutture Dati tipiche
DettagliLinguaggio C: strutture di controllo
Linguaggio C: strutture di controllo Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Linguaggio C: strutture di controllo
DettagliFunzioni. Libro cap. 5. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Funzioni Libro cap. 5 Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Funzioni 2 Ringraziamenti prof. Stefano Mizzaro, Università
DettagliProblemi di ricerca in insiemi ordinati
Problemi di ricerca in insiemi ordinati Abbiamo visto che, per trovare un elemento in un insieme ordinato, con l algoritmo della ricerca binaria restringiamo l intervallo della ricerca alla metà in ogni
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
DettagliInformatica B, AA 2018/2019
Politecnico di Milano Informatica B, AA 2018/2019 Laboratorio 2 08/10/2018 Andrea Tirinzoni ( andrea.tirinzoni@polimi.it ) Pietro Fezzardi ( pietro.fezzardi@polimi.it ) 1. Costrutti iterativi Problema
DettagliEsercitazione 6. Array
Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione
DettagliESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli -
ESERCIZI DI PROGRAMMAZIONE - condizionali e cicli - Elementi di Informatica e Programmazione Università di Brescia 1 Esercizio 1: dal tema d esame ING-INF del 28 gennaio 2009 Si sviluppi un programma in
DettagliEsercitazione 6. Corso di Fondamenti di Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 6 Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
DettagliInformatica A (per gestionali) A.A. 2004/2005. Esercizi di programmazione C Funzioni: passaggio di parametri per indirizzo, passaggio di array.
Informatica A (per gestionali) A.A. 2004/2005 Esercizi di programmazione C Funzioni: passaggio di parametri per indirizzo, passaggio di array. Indice 1 Funzioni: passaggio di parametri per indirizzo; puntatori...3
DettagliCalcolare x n = x x x (n volte)
Calcolare x n = x x x (n volte) Abbiamo bisogno di: una variabile ris in cui ad ogni iterazione del ciclo si ha un risultato parziale, e che dopo l ultima iterazione contiene il risultato finale; una variabile
DettagliProgrammazione di base
Fondamenti di Informatica Quinto Appello 016-1 1 Luglio 01 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
DettagliOrdinamento. Lorenzo Donatiello,Moreno Marzolla Dip. di Scienze dell'informazione Università di Bologna
Ordinamento Lorenzo Donatiello,Moreno Marzolla Dip. di Scienze dell'informazione Università di Bologna Original work Copyright Alberto Montresor, University of Trento (http://www.dit.unitn.it/~montreso/asd/index.shtml)
DettagliIl linguaggio C Strutture
Il linguaggio C Strutture Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Linguaggio C -- Strutture 2 Ringraziamenti Questi
DettagliAlgoritimi. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Algoritimi Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Algoritmi 2 Algoritmi 3 Algoritmi Un algoritmo è un procedimento
DettagliManualistica 3 Le strutture di controllo
Programmazione e Laboratorio di Programmazione Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione: Le strutture di controllo 1 Le strutture di controllo Strutture di
DettagliUniversità di Roma Tor Vergata L16-1. Ricerca: esaminare una collezione di dati, cercando un particolare valore. nome e cognome
Università di Roma Tor Vergata L16-1 Ricerca: esaminare una collezione di dati, cercando un particolare valore (per: ) reperire informazione modificarla stamparla cancellarla esempio: archivio studenti
DettagliLinguaggio C: strutture di controllo
Linguaggio C: strutture di controllo Libro cap. 3 e 4 Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof.
DettagliCorso di Informatica 1 Esercitazione n. 2
Corso di Informatica 1 Esercitazione n. 2 Marco Liverani Esercizio n. 1 Letto in input un array A di n elementi, usando solo questo array, inverte l ordine degli elementi; ossia se A = (10,27,13,4), allora
DettagliAlgoritmi e Laboratorio a.a Lezioni. prof. Elio Giovannetti
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Curriculum SR (Sistemi e Reti) Algoritmi e Laboratorio a.a. 2005-06 Lezioni prof. Elio Giovannetti Parte 7 Algoritmi di ordinamento
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,
DettagliEsercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);
Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica Gli algoritmi di base sul tipo array: ordinamento e ricerca Claudio De Stefano - Corso di Fondamenti di Informatica 1 Algoritmi di ordinamento gli algoritmi si differenziano
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];
DettagliProgrammazione Appello d esame del 18 giugno 2010 Compito B
Programmazione Appello d esame del 18 giugno 2010 Compito B PARTE 0 (propedeutica) Esercizio 0.1 Descrivere il costrutto DOWHILE (sintassi e funzionamento) e darne il diagramma di flusso. Il costrutto
DettagliProgrammazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 4 - Puntatori, vettori e stringhe Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti
DettagliLiceo B.Russell Classe 2 I VETTORI. ORDINAMENTO DI UN VETTORE: Metodo ingenuo o sequenziale
Fondamenti: I VETTORI Riempimento di un vettore con numeri acquisiti da tastiera; Riempimento di un vettore lungo N con i numeri da 0 a N; Riempimento di un vettore lungo N con i numeri da N a 0; Riempimento
DettagliEsercizi di Algoritmi e Strutture Dati
Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it Ultimo aggiornamento: 3 novembre 2010 1 Trova la somma/1 Scrivere un algoritmo che dati in input un array A[1... n] di n interi
DettagliIl linguaggio C Strutture
Il linguaggio C Strutture Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Copyright Mirko Viroli Copyright 2017, 2018 Moreno
Dettaglicome segue: data una collezione C di elementi e una un elemento che verifica la proprietà P
Problemi di Ricerca Carla Binucci e Walter Didimo Il problema della Ricerca In generale, il Problema della Ricerca è definito come segue: data una collezione C di elementi e una proprietà P, determinare
DettagliPassaggio dei parametri
Passaggio dei parametri Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei parametri così passati non si riflettono sull environment
DettagliArray e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli
DettagliEsercizio 1: calcolo insieme intersezione
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 3 Esercitazione: 19 ottobre 2005 Esercizi su array e matrici Esercizio 1: calcolo insieme intersezione Problema: *******************************************************************
DettagliC: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
DettagliProgrammazione di base
Fondamenti di Informatica Primo Appello 01-17 8 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
Dettagli3 Costrutti while, for e switch
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while, for e switch. I costrutti per costruire cicli in C sono il while, la variante
DettagliFondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 Contenuti Scopo di questa esercitazione: Comprendere la complessità del problema ordinamento cerchiamo di valutare il costo di una soluzione (confrontandola con un
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
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
DettagliEsercizi. La funzione swapint() primo tentativo
Politecnico di Milano Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio di array. #include
DettagliManualistica 3 Le strutture di controllo
Programmazione e Laboratorio di Programmazione Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione: Le strutture di controllo 1 Le strutture di controllo Strutture di
DettagliRICORSIONE, PUNTATORI E ARRAY. Quarto Laboratorio
RICORSIONE, PUNTATORI E ARRAY Quarto Laboratorio 16 DICEMBRE 2011 SCADENZA TERZA ESERCITAZIONE FUNZIONI RICORSIVE ESERCIZIO Scrivere una funzione ricorsiva che, assegnati due interi N1 ed N2, restituisca
DettagliLinguaggio C: Espressioni
Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università
DettagliEsercitazione 7. Soluzione:
Esercitazione 7 Esercizio 1: Scrivere una funzione ricorsiva che calcoli il MCD di due numeri interi positivi. Ricordare che la funzione MCD(N,M) termina quando N == M e si ritorna N. int MCD(int N, int
DettagliELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del
DettagliEsercizi C su array e matrici
Politecnico di Milano Esercizi C su array e matrici Massimo, media e varianza,, ordinamento, ricerca e merge, matrice simmetrica, puntatori Array Array o vettore Composto da una serie di celle int vett[4]
DettagliGli array. impone al programma, in fase di esecuzione, di riservare dello spazio in memoria per 10 variabili di tipo int
Gli array Gli array rappresentano una modalità molto compatta per accedere ad un gruppo di variabili; tale gruppo è identificato dal nome dell'array; i tipi delle variabili appartenenti al gruppo devono
DettagliEsercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
DettagliEsercitazione 5. Procedure e Funzioni Il comando condizionale: switch
Esercitazione 5 Procedure e Funzioni Il comando condizionale: switch Comando: switch-case switch (espressione) { /* espressione deve essere case costante1: istruzione1 di tipo int o char */ [break]; case
DettagliUn esempio di calcolo di complessità: insertion sort
Un esempio di calcolo di complessità: insertion sort Vediamo su un esempio come si può calcolare la complessità di un algoritmo... L esempio è un metodo semplice per ordinare arrays: insertion sort, o
DettagliPassaggio dei parametri Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei paramet
Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei parametri così passati non si riflettono sull environment esterno Per riferimento
DettagliESERCIZI DI PROGRAMMAZIONE DA TEMI D ESAME - vettori -
ESERCIZI DI PROGRAMMAZIONE DA TEMI D ESAME - vettori - Elementi di Informatica e Programmazione Università di Brescia 1 Esercizio 1 Sviluppare un programma che acquisisce dall utente al massimo 50 numeri
DettagliFondamenti di Programmazione
A.A. 08/09 Fondamenti di Programmazione (canale E-O) Docente: Prof.ssa Tiziana Calamoneri calamo@di.uniroma1.it Esercitatore: Dott. Roberto Petroccia petroccia@di.uniroma1.it Pagina del corso: http://twiki.di.uniroma1.it/twiki/view/programmazione1/eo/webhome
DettagliProgrammazione di base
Fondamenti di Informatica Testo A Secondo Appello 016-17 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene
DettagliEsercizi. Stringhe. Stringhe Ricerca binaria
Politecnico di Milano Esercizi Stringhe Stringhe Array di caratteri Funzioni: strcpy() strcmp() strlen() char stringaa[10], stringab[10]; strcpy(stringaa, stringab); Copia if (strcmp(stringaa, stringab)
DettagliEsercizi. Filtraggio
Politecnico di Milano Esercizi Preparazione alla prima prova intermedia Filtraggio L utente inserisce un array di numeri reali non negativi (un numero negativo indica la fine della fase di inserimento)
DettagliPolitecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.
Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione prof. Lorenzo Porcelli e mail: genna18@iol.it sito: users.iol.it/genna18 Risoluzione di un problema Dato
DettagliRICORSIONE. Informatica B - A.A. 2013/2014
RICORSIONE Informatica B - A.A. 2013/2014 RICORSIONE Che cos è la ricorsione? Un sottoprogramma P richiama se stesso (ricorsione diretta) Un sottoprogramma P richiama un altro sottoprogramma Q che comporta
DettagliProgetto Corda. Alberto Ferrari. Alberto Ferrari Ingegneria dell'informazione, UniPR. 18/12/2017 Progetto Corda
Progetto Corda Alberto Ferrari Alberto Ferrari Ingegneria dell'informazione, UniPR file:///e:/cordanoweb/lez/array.html#3 1/33 Array (ordinamento) 2/33 file:///e:/cordanoweb/lez/array.html#3 2/33 Sort
DettagliEsercitazione 7. Tutor: Ing. Diego Rughetti. Anno Accademico 2007/2008
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 7 Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
DettagliProgrammazione di base
Fondamenti di Informatica Quarto Appello 016-17 4 luglio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
DettagliFondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 Contenuti Scopo di questa esercitazione: Comprendere la complessità del problema ordinamento cerchiamo di valutare il costo di una soluzione (confrontandola con un
DettagliCorso di Fondamenti di Programmazione canale E-O. Un esempio. Funzioni ricorsive. La ricorsione
Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Ricorsione DD Cap. 5, pp. 160-184 KP Cap. 5, pp. 199-208 Un esempio Problema: prendere in input un intero e calcolarne il fattoriale
DettagliEsercitazione 12. Esercizi di Ricapitolazione
Esercitazione 12 Esercizi di Ricapitolazione Esercizio Scrivere un programma che, dato un numero intero positivo, stampa la sua rappresentazione binaria. ALGORITMO Scriviamo una procedura stampa_bin che,
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
DettagliTipi e Valori. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Tipi e Valori Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Tipi e Valori 2 / 26 Ringraziamenti prof. Mirko Viroli, Università
Dettagli3 Costrutti while, for e switch
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while e for e switch. I costrutti per costruire cicli in C sono il while (e la variante
DettagliPolitecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale. Informatica B [079904]
Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale Informatica B [079904] Prof. P. Plebani Allievi Ingegneria Civile e Ambientale II prova in itinere (04 Febbraio 2009) Cognome
DettagliIstruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi
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
Dettaglia.a Codice corso: 21012
ESERCIZIO 1 Scrivere un programma in linguaggio C che lette dallo standard input due sequenze vettoriali ordinate di interi V1[n], V2[m] ne crei una terza V3[n+m] anch essa ordinata, che contenga tutti
DettagliI cicli. Iterazioni Calcolo della media Istruzioni break e continue
I cicli Iterazioni Calcolo della media Istruzioni break e continue Ciclo while p Vero A while() ; Falso Esegue una istruzione mentre una condizione è verificata Programmazione
DettagliEsercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni
Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore
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
DettagliEsercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018
Esercitazioni di Fondamenti di Informatica - Lez. 30/10/018 Esercizi sulle funzioni in C I codici e le soluzioni degli esercizi sono nella cartella parte1 1. Scrivere i prototipi delle seguenti funzioni.
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
Dettagli