TUTORAGGIO INFORMATICA Settimana 2

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "TUTORAGGIO INFORMATICA Settimana 2"

Transcript

1 TUTORAGGIO INFORMATICA Settimana 2 Leggenda: //commenti I vettori PROBLEMA 1: percentuali Si scriva un programma in grado di: a) Caricare un vettore V di dimensione N ] di valori interi RELATIVI chiesti in input tramite scanf( ); b) Stampare la percentuale di valori positivi, nulli e negativi contenuti all interno del vettore, approssimando i risultati a una cifre dopo la virgola. Esempio: N = 8 V = [ #include <stdio.h> #include <stdlib.h> #define N 100 int main(int argc, char** argv){ int v[n]; int i; int n; //percentuali float percp = 0, percn = 0, percnull = 0; printf("inserire lunghezza vettore:"); scanf("%d", &n); //caricamento vettore for(i = 0; i < n; i++){ printf("v[%d] = ", i); scanf("%d", &v[i]); //conteggio valori positivi, negativi e nulli for(i = 0; i < n; i++){ if(v[i] == 0) percnull += 1; else if(v[i] > 0) percp += 1; else percn += 1;

2 //calcolo percentuale percn = (percn/n)*100; percp = (percp/n)*100; percnull = (percnull/n)*100; printf("\npercentuale VALORI:\n"); printf("positivi: %.1f\n", percp); printf("negativi: %.1f\n", percn); printf("nulli: %.1f\n", percnull); return 0; PROBLEMA 2: ricerca di massimi e minimi Si scriva un programma in grado di: a) Caricare un vettore V di dimensione N ] di valori interi RELATIVI chiesti in input tramite scanf( ); b) Determinare il massimo e il minimo tra i valori immessi ed eseguirne la differenza usando la formula: ( ) ( ); c) Sfruttando il risultato trovato dalla formula precedente, stampare inoltre se il vettore V contiene TUTTI elementi dello stesso valore. Esempio: N = 5 V = N = 5 V = ( ) ( ) #include <stdio.h> #include <stdlib.h> #include <limits.h> //per ottenere le costanti INT_MIN e INT_MAX #define N 100 int main(int argc, char** argv){ int v[n]; int i; int n; int min = INT_MAX; //inizializzo con massimo valore int max = INT_MIN; //inizializzo con minimo valore int distanza = 0; printf("inserire lunghezza vettore:"); scanf("%d", &n); //caricamento vettore for(i = 0; i < n; i++){ printf("v[%d] = ", i); scanf("%d", &v[i]);

3 //ricerca MAX e MIN for(i = 0; i < n; i++){ if(v[i] < min) min = v[i]; if(v[i] > max) max = v[i]; //calcolo distanza distanza = max - min; printf("max= %d MIN= %d DISTANZA= %d\n", max, min, distanza); //se la distanza è nulla, il vettore contiene tutti elementi uguali if(distanza == 0) printf("il VETTORE CONTIENE TUTTI ELEMENTI UGUALI!"); return 0; I vettori: problemi avanzati PROBLEMA 3: ricerca di occorrenze uguali Si scriva un programma in grado di: c) Caricare un vettore V di dimensione N ] (chiesto in input all utente) di valori interi positivi casuali nell intervallo [A, B], usando la randomizzazione offerta dalla libreria <math.h>, dove A e B sono due costanti definite dallo stesso programmatore (A < B); d) Chiedere in input un valore intero X compreso tra [A, B]; e) Contare il numero di tutte le occorrenze V[i] uguali a X, stampando a video anche la posizione i in cui si trovano. In caso di nessuna occorrenza si stampi il seguente messaggio: Nessun valore trovato! Esempio: A = 3 B = 6 N = 8 V = [3, 4, 5, 4, 3, 6, 5, 4] X = 2 Nessun valore trovato! X = 4 i = 1, 3, 7 Cont = 3 #include <stdio.h> #include <stdlib.h> #define A 3 #define B 6 #define MAX_N 100 int main(int argc, char** argv) { srand(getpid() + time(null)); unsigned int v[max_n]; int i = 0, n, X = 0; int posizioni[max_n]; //conterrà le posizioni i

4 int j = 0; //indice vettore posizioni printf("inserire lunghezza vettore: "); scanf("%d", &n); //caricamento vettore di valori casuali tra [A,B] for(i = 0; i < n; i++ ){ v[i] = (rand()%(b - A + 1) + A); printf("%d ", v[i]); printf("\n"); //richiesta valore X tra [A,B] do{ printf("inserire valore da ricercare: "); scanf("%d", &X); while(!(x>=a && X<=B)); //ricerca occorrenze e relative posizioni for(i = 0; i < n; i++) if(v[i]==x){ posizioni[j] = i; j++; //stampa risultato if(j == 0) printf("\nnessun valore trovato!\n"); else{ printf("\nnumero occorrenze trovate: %d\nin posizione: ", j); for(i = 0; i< j; i++) printf("%d ", posizioni[i]); return 0; PROBLEMA 4: somma tra numeri binari puri Si scriva un programma che simuli l operazione di sommatoria tra due numeri espressi in binario (puro) all interno di un calcolatore a N ] bit. In particolare: a) Definire come costante il valore N utilizzando la direttiva #define; b) Utilizzare due vettori A e B di dimensione N caricati dall utente partendo dal MSB (Most Significant Bit) al LSB (Less Significant Bit); c) Effettuare il caricamento di ogni cella del vettore, controllando ogni volta se si è effettivamente inserito uno 0 o un 1. Caricare i due vettori fino ad avere due numeri binari corretti di N bit; d) Dopo di che effetture la sommatoria dei due vettori (numeri binari) (dal LSB al MSB), controllando anche se si è in presenza di overflow, salvando il risultato in un vettore V e stamparlo a video. Si ricordi che: ( )

5 Esempio: N = 8 Riporto A = [ 1, 0, 1, 1, 0, 1, 1, 0 ] B = [ 1, 1, 1, 0, 0, 1, 1, 1 ] V = (1) [ 1, 0, 0, 1, 1, 1, 1, 1 ] Ultimo Riporto = 1 Overflow #include <stdio.h> #include <stdlib.h> #define N 8 int main(int argc, char** argv) { int A[N], B[N]; int i = 0; //il risultato avrà lo stesso numero di bit //di A e B (tranne per il bit di overflow) int V[N]; int riporto = 0; //caricamento vettore A da MSB a LSB for(i = 0; i < N; i++){ //verifica del singolo bit corretto do{ printf("inserire A[%d]:", i); scanf("%d", &A[i]); while(!(a[i] == 0 A[i] == 1)); printf("\n"); //caricamento vettore B da MSB a LSB for(i = 0; i < N; i++){ //verifica del singolo bit corretto do{ printf("inserire B[%d]:", i); scanf("%d", &B[i]); while(!(b[i] == 0 B[i] == 1)); printf("\n"); riporto = 0; //all'inizio non ho riporto //partendo dal LSB a MSB for(i = (N - 1); i >= 0; i--){ if (A[i] == B[i] && A[i] == 1){ if(riporto == 1) V[i] = 1; else V[i] = 0; riporto = 1;

6 else if (A[i] == B[i] && A[i] == 0){ if(riporto == 1) V[i] = 1; else V[i] = 0; riporto = 0; else if(a[i]!= B[i]){ if(riporto == 0) V[i] = 1; else{ V[i]=0; riporto = 1; /*soluzione alternativa, proposta da una studentessa tutorato, per il punto d) int somma = 0; riporto = 0; for(i = (N - 1); i >= 0; i--){ somma = A[i]+B[i]+riporto; if(somma == 2){ V[i]= 0; riporto = 1; else if(somma == 3){ V[i]= 1; riporto = 1; else{ V[i]= somma; riporto = 0; */ //stampa risultato if(riporto == 1) printf("somma: OVERFLOW!!!\n"); else{ printf("somma:\n"); for(i = 0; i < N; i++) printf("%d", A[i]); printf(" +\n"); for(i = 0; i < N; i++) printf("%d", B[i]); printf(" =\n"); for(i = 0; i < N; i++) printf("%d", V[i]); return 0;

7 TEORIA PROBLEMA 1: Si verifichi, mediante la tavola di verità, se la seguente relazione booleana è VERA: A B C La relazione è FALSA. PROBLEMA 2: Rappresentare in CA2 (Complemento a due) e M&S (Modulo e Segno) su 6 bit il numero ( ). a) CA2: si converte il numero decimale in binario puro (27) 10 (011011) 2puro Dopo di che si invertono tutti i bit e si somma un bit a 1: = (100101) CA2 = ( 27) 10 b) M&S: Si aggiunge un bit di segno al numero puro trovato, se il valore è negativo: (27) 10 (011011) 2puro ( 27) 10 ( ) 2M&S PROBLEMA 3: Dati i seguenti numeri espressi in esadecimale (B23) 16, (A21) 16 : a) Determinare il numero di cifre che servono per rappresentare i due numeri in binario e ottale; b) Convertirli nel formato decimale; c) Convertirli nel formato binario puro; d) Effettuarne la somma binaria evidenziando la presenza o meno di overflow; e) Si verifichi il risultato del punto d) convertendolo in decimale, senza tener conto del bit di overflow, e effettuando la sommatoria utilizzando i valori decimali trovati al punto b). Si ripeta l operazione tenendo conto del bit di overflow. In quale dei due casi il risultato della sommatoria, nel formato decimale, è corretto? a) Ogni cifra esadecimale corrisponde a 4 cifre binarie. Quindi in questo caso i due numeri hanno: Ogni cifra ottale corrisponde a 3 cifre binarie. Quindi in questo caso i due numeri hanno: b) (B23) 16 ( ) (A21) 16 ( )

8 c) (B23) 16 = ( ) 2 (A21) 16 = ( ) 2 d) (1) overflow e) Senza bit overflow: ( ) 2 Con bit di overflow: ( ) 2 PROBLEMA 4: La memoria di un calcolatore ha una dimensione massima di 64 MByte. Si determini: a) Il numero di bit che compongono il Data Bus, supponendo che il calcolatore abbia un Address Bus da 25 bit; b) Il numero di bit che compongono l Address Bus, supponendo che il calcolatore abbia un Data Bus da 8 bit. La formula per il calcolo della dimensione massima di memoria è: a) b) ( )

TUTORAGGIO INFORMATICA Settimana 1

TUTORAGGIO INFORMATICA Settimana 1 TUTORAGGIO INFORMATICA Settimana 1 Variabili semplici, cicli e flag Leggenda: //commenti PROBLEMA 1: Si scriva un programma che permetta di calcolare il prodotto tra due valori interi positivi A, B utilizzando

Dettagli

TUTORAGGIO INFORMATICA Settimana 5

TUTORAGGIO INFORMATICA Settimana 5 Leggenda: //commenti TUTORAGGIO INFORMATICA Settimana 5 Le funzioni e le matrici PROBLEMA 1: matrice simmetrica Una matrice si definisce simmetrica se gli elementi del suo triangolo superiore combaciano

Dettagli

Informatica B

Informatica B Informatica B 2017-2018 Esercitazione I Primi passi con la programmazione e con il linguaggio C Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Chi sono - Alessandro Nacci, PhD

Dettagli

IEIM Esercitazione 1I Array. Alessandro A. Nacci -

IEIM Esercitazione 1I Array. Alessandro A. Nacci - IEIM 2018-2019 Esercitazione 1I Array Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 1 Leggere 3 numeri, A, B e C. Dire quale di essi é maggiore. #include

Dettagli

IEIM Esercitazione 1 Primi passi con la programmazione" Alessandro A. Nacci -

IEIM Esercitazione 1 Primi passi con la programmazione Alessandro A. Nacci - IEIM 2018-2019 Esercitazione 1 Primi passi con la programmazione" Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Chi sono - Alessandro Nacci, PhD - Nato nel 1987 - Imprenditore

Dettagli

soldi soldi, int, char, float.. int, char, float.. char, int, float, double char: int float: double: float signed unsigned int char short int long int double int Pippo; unsigned int Pippo; long int

Dettagli

TUTORAGGIO INFORMATICA Settimana 7

TUTORAGGIO INFORMATICA Settimana 7 TUTORAGGIO INFORMATICA Settimana 7 Leggenda: //commenti Ripasso, i file MOVIMENTI BANCARI Si realizzi in C un programma per consultare i movimenti bancari dei clienti di una banca. I movimenti sono salvati

Dettagli

IEIM Esercitazione II Elementi di programmazione C. Alessandro A. Nacci -

IEIM 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

Dettagli

# include<stdio.h> int main() { // Dichiarazioni int n; int i;

# include<stdio.h> int main() { // Dichiarazioni int n; int i; /* CALCOLIAMO I DIVISORI DI UN NUMERO. INSERIAMO UN CONTROLLO CHE IL NUMERO SIA EFFETTIVAMENTE POSITIVO UTILIZZIAMO IL DO...WHILE PER SEMPLIFICARE IL CODICE # include int main() // Dichiarazioni

Dettagli

Informatica B

Informatica B Informatica B 2016-2017 Esercitazione 8 Array e Stringhe Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 1: stringhe - vocali consecutive Scrivere un programma che data

Dettagli

Lab 04 Istruzioni, cicli e array"

Lab 04 Istruzioni, cicli e array Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2009/2010 Lab 04 Istruzioni, cicli e array" Lab04 1 Esercizio 1" Si scriva un

Dettagli

Funzioni come parametri

Funzioni come parametri Funzioni come parametri Obiettivi: Riprendere il modello computazionale alla base del linguaggio C (e mostrare i parametri del main) Presentare e sperimentare le funzioni come parametri di funzione 1 Modello

Dettagli

Informatica B

Informatica B Informatica B 2016-2017 Esercitazione 8 Ripasso sul C con Array, Matrici e Stringhe Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 1 (a) Quale è l ouput del seguente

Dettagli

I cicli. Iterazioni Calcolo della media Istruzioni break e continue

I 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

Dettagli

Primo programma in C

Primo programma in C Primo programma in C Sottoinsieme minimale di istruzioni I tipi int e float Istruzione printf semplificata Istruzione scanf semplificata Istruzione di assegnazione Semplici espressioni aritmetiche 2 Sottoinsieme

Dettagli

Corso di Informatica 1 (IN110) Tutorato n. 3

Corso di Informatica 1 (IN110) Tutorato n. 3 Corso di Informatica 1 (IN110) Tutorato n. 3 Marco Liverani Esercizio n. 1 Letti in input tre array di interi con lo stesso numero n di elementi, costruisce un quarto array di numeri floating point con

Dettagli

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Dettagli

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Dettagli

Corso di Informatica 1 Esercitazione n. 2

Corso 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

Dettagli

giapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL

giapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di meorie

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

Prova in itinere del 20 Novembre 2013 RIGA COLONNA MATRICOLA

Prova in itinere del 20 Novembre 2013 RIGA COLONNA MATRICOLA Politecnico di Milano, Facoltà di Ingegneria Industriale COGNOME E NOME INFORMATICA B Prova in itinere del 20 Novembre 2013 RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene

Dettagli

Precisazione sui tipi in ANSi C

Precisazione sui tipi in ANSi C Precisazione sui tipi in ANSi C Tipi primitivi del C Un tipo è costituito da un insieme di valori ed un insieme di operazioni su questi valori. Classificazione dei tipi primitivi del C scalari aritmetici:

Dettagli

Fondamenti di Informatica T1. Lab 04 Array. Lab06 1

Fondamenti di Informatica T1. Lab 04 Array. Lab06 1 Fondamenti di Informatica T1 Lab 04 Array Lab06 1 Esercizio 1 Creare un programma che legga da input un numero non noto a priori di interi (al più 10) terminati da 0. Tale sequenza può eventualmente contenere

Dettagli

Esercizio 1 - cicli. Esercizio 1 cicli - Soluzione

Esercizio 1 - cicli. Esercizio 1 cicli - Soluzione Sequenze di cifre Esercizio 1 - cicli Realizzare un programma che prende in input una sequenza di cifre (tra 1 e 9) e calcola la somma massima fra le sotto- sequenze di cifre non decrescente Il programma

Dettagli

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Dettagli

Informatica I INFORMATICA I PROGRAMMAZIONE

Informatica I INFORMATICA I PROGRAMMAZIONE INFORMATICA I PROGRAMMAZIONE RICHIAMI DI TEORIA Definizione di un istruzione () istruzione; istruzione1; istruzione2; Ciclo FOR for(inizial.; condizione; aggiornamento) es: for(i

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 0 Ottobre 016 Esercizio 1 Funzione valore assoluto Il file.c di questo esercizio deve contenere nell ordine, il prototipo (dichiarazione) di una una funzione abs, che prende in

Dettagli

Strutture di Controllo Iterative: Istruzioni While e Do

Strutture di Controllo Iterative: Istruzioni While e Do Linguaggio C Strutture di Controllo Iterative: Istruzioni While e Do 1 Istruzioni iterative! Anche dette cicli! Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo)! Ad ogni iterazione

Dettagli

Fondamenti di Informatica L-A

Fondamenti di Informatica L-A Fondamenti di Informatica L-A Esercitazione del 18/10/07 Ing. Giorgio Villani Ripasso Teoria Caratteri char x; x = a ; printf( Il carattere e %c, x); putchar(x); scanf( %c, &x); x = getchar(); Ripasso

Dettagli

PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008

PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008 PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (5 punti) Descrivere

Dettagli

1 Temi esame svolti. Esercizio 2 Tipologia di esercizi non più presente nell attuale programma di Fondamenti di Informatica I

1 Temi esame svolti. Esercizio 2 Tipologia di esercizi non più presente nell attuale programma di Fondamenti di Informatica I Tema del 27/09/1997 Esercizio 1 Converto il numero 193 in binario puro: 11000001, per normalizzarlo nella forma 1.xxx devo spostare la virgola a sinistra di 7 posizioni. Devo allora calcolare altre (52-7)

Dettagli

if( (n > 0) && ( ( n%2!= 0 && n <= 50 ) ( n%2 == 0 && n >= 100 ) ) ){ printf("1\n"); }else{ printf("0\n"); }

if( (n > 0) && ( ( n%2!= 0 && n <= 50 ) ( n%2 == 0 && n >= 100 ) ) ){ printf(1\n); }else{ printf(0\n); } * ESERCIZIO 1: IF ELSE * scrivere un programma che dato un intero * stampa 1 se il numero e' strettamente positivo, * dispari e minore di 50 o strettamente positivo, pari e maggiore di 100 * stampa 0 altrimenti

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 05 Array. Lab06 1

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 05 Array. Lab06 1 Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 05 Array Lab06 1 Esercizio 1 n Creare un programma che legga da input un numero non noto a priori di interi (al

Dettagli

Esercitazione 6. Array

Esercitazione 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

Dettagli

if(vocale == true && stringa[i+1] == stringa[i]){ cont++; printf("la vocale ripetuta e' %c\nil numero di coppie e' %d\n", stringa[i], cont); }

if(vocale == true && stringa[i+1] == stringa[i]){ cont++; printf(la vocale ripetuta e' %c\nil numero di coppie e' %d\n, stringa[i], cont); } * ESERCIZIO 1: STRINGHE - VOCALI CONSECUTIVE * Tratto da: sofiaceppi.com/?page_id=226 * scrivere un programma che data una stringa di lunghezza massima 100 * stampi le occorrenze di coppie di vocali identiche

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Interi in complemento a 2 () Laboratorio di informatica Ingegneria meccanica Lezione 5 29 ottobre 2007 Con N bit sono rappresentabili tutti gli interi nell'intervallo [-2^(N-), 2^(N-)-] Esempio: 6 bit,

Dettagli

Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri. Fondamenti di Informatica I prova in itinere

Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri. Fondamenti di Informatica I prova in itinere Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri Fondamenti di Informatica I prova in itinere 23 novembre 2012 Matricola Cognome Nome Istruzioni Durata prova: 1 ora

Dettagli

LA CODIFICA LORENZO BRACCIALE

LA CODIFICA LORENZO BRACCIALE LA CODIFICA LORENZO BRACCIALE LORENZO.BRACCIALE@UNIROMA2.IT LA CODIFICA Serve per rappresentare un informazione La stessa informazione rappresentata in modi diversi ad es. 200 o duecento Stessa rappresentazione

Dettagli

ELEMENTI DI INFORMATICA

ELEMENTI DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica ELEMENTI DI INFORMATICA http://people.unica.it/gianlucamarcialis/ A.A. 2019/2020 Docente: Gian Luca Marcialis LINGUAGGIO C Strutture

Dettagli

Corso sul linguaggio C Modulo Tipi di dato

Corso sul linguaggio C Modulo Tipi di dato Corso sul linguaggio C Modulo 1 1.3 - Tipi di dato 1 Prerequisiti Concetto di espressione Cenni sulla struttura del calcolatore 2 1 Introduzione In questa lezione si esaminano i tipi di dato. I tipi di

Dettagli

1: #include <stdio.h> 2: #include <stdlib.h> 3: 4: #define MAXDIM 10 5: 6: int main(int argc, char *argv[]) 7: { 8: int numrighe1, numcolonne1,

1: #include <stdio.h> 2: #include <stdlib.h> 3: 4: #define MAXDIM 10 5: 6: int main(int argc, char *argv[]) 7: { 8: int numrighe1, numcolonne1, 1: #include 2: #include 3: 4: #define MAXDIM 10 5: 6: int main(int argc, char *argv[]) 7: { 8: int numrighe1, numcolonne1, numrighe2, numcolonne2,i,j,k, max1,max2, operazione, scalare;

Dettagli

Esercizi. La funzione swapint() primo tentativo

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

Dettagli

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1 Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 #include main()

Dettagli

Esercitazione 3. Corso di Fondamenti di Informatica

Esercitazione 3. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 3 Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

int i; int a[10]={1,2,3,4,5,6,7,8,9,10}; /* inizializzazione in fase di definizione */ int b[10];

int i; int a[10]={1,2,3,4,5,6,7,8,9,10}; /* inizializzazione in fase di definizione */ int b[10]; Politecnico di Milano Corso Informatica B - Prof. Loiacono Esercizi di: Alessandro A. Nacci Per contatti: alessandro.nacci@mail.polimi.it Esercitazione 3 ESERCIZIO 1: COPIA DI UN ARRAY Scrivere un programma

Dettagli

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

Strutture di Controllo Condizionali e Operatori Logici e Relazionali Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo n Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare

Dettagli

Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri. Fondamenti di Informatica I prova in itinere

Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri. Fondamenti di Informatica I prova in itinere Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri Fondamenti di Informatica I prova in itinere 18 novembre 2011 Matricola Cognome Nome Istruzioni Durata prova: 2 ore

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C e diagrammi a blocchi. Preparazione prima prova intermedia

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C e diagrammi a blocchi. Preparazione prima prova intermedia Informatica A (per gestionali) A.A. 2004/2005 Esercizi C e diagrammi a blocchi Preparazione prima prova intermedia Indice 1 Array... 3 1.1 Filtraggio...3 1.2 Trasformazione...3 2 Struct e array... 5 2.1

Dettagli

INFORMATICA Prof. Cassano

INFORMATICA Prof. Cassano Titolo presentazione sottotitolo INFORMATICA Prof. Cassano A.A. 2017-18 Milano, XX mese 20XX Laboratorio n 1-Soluzioni Ing. Gian Enrico Conti Sadegh Astaneh, Ph.D. es1 Scrivere un programma che, dati due

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME. 13 novembre 2006 RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME. 13 novembre 2006 RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME novembre 2006 RIGA COLONNA MATRICOLA Il presente plico pinzato, composto di sei fogli, deve essere

Dettagli

Corso di Informatica Medica Esercitazione 1I 2013-2014.! Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.com

Corso di Informatica Medica Esercitazione 1I 2013-2014.! Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.com Corso di Informatica Medica Esercitazione 1I 2013-2014! Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.com 1 2 Esercizio 1 Scrivere un programma che legga due array di interi da tastiera dica

Dettagli

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Primi esempi di programmi Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Il tipo int Un int permette di trattare numeri interi 4 byte (32 bit) con la tecnica del complemento a 2 (ma

Dettagli

Linguaggio C: Variabili e assegnamento e semplici comandi di I/O

Linguaggio C: Variabili e assegnamento e semplici comandi di I/O Linguaggio C: Variabili e assegnamento e semplici comandi di I/O Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Un programma

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME. 13 novembre 2006 RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME. 13 novembre 2006 RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME 13 novembre 2006 RIGA COLONNA MATRICOLA Il presente plico pinzato, composto di sei fogli, deve

Dettagli

Informatica 2 modulo C Massimo Callisto De Donato

Informatica 2 modulo C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Informatica 2 modulo C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

il precedente programma dichiara un vettore di interi di dimensione 10 e successivamente inserisce il valore 4 nel secondo elemento del vettore.

il precedente programma dichiara un vettore di interi di dimensione 10 e successivamente inserisce il valore 4 nel secondo elemento del vettore. Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei vettori (ingl., array). La dichiarazione di un vettore di elementi omogenei in C avviene grazie

Dettagli

Esercizi. Filtraggio

Esercizi. 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)

Dettagli

soldi soldi, int, char, float char, int, float, double char: int float: double: float int char signed unsigned short int long int double Unità di Elaborazione (CPU) unsigned int Pippo long int Pluto

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 Obiettivi di questa lezione 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Valutazione in cortocircuito In C, le espressioni booleane sono

Dettagli

RICORSIONE, PUNTATORI E ARRAY. Quarto Laboratorio

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

Dettagli

Esercizio 1 - Soluzione

Esercizio 1 - Soluzione Esercizio 1 Realizzare un programma che provveda a leggere da input delle parole separate da spazi (stringhe di al più 63 caratteri) e le ripeta su standard output (servizio di echo ). Il programma deve

Dettagli

il precedente programma dichiara un vettore di interi di dimensione 10 e successivamente inserisce il valore 4 nel secondo elemento del vettore.

il precedente programma dichiara un vettore di interi di dimensione 10 e successivamente inserisce il valore 4 nel secondo elemento del vettore. Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei vettori (ingl., array). La dichiarazione di un vettore di elementi omogenei in C avviene grazie

Dettagli

Array. Maurizio Palesi Salvatore Serrano. In C si possono definire tipi strutturati Vi sono due costruttori fondamentali

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

Dettagli

Lab 04 Programmazione Strutturata

Lab 04 Programmazione Strutturata Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 04 Programmazione Strutturata Lab04 1 Valutazione in cortocircuito (1) In C, le espressioni booleane sono valutate

Dettagli

Università degli Studi di Brescia. Vettori di variabili. ! Sono variabili aggregate in grado di memorizzare una collezione (organizzata) di oggetti

Università degli Studi di Brescia. Vettori di variabili. ! Sono variabili aggregate in grado di memorizzare una collezione (organizzata) di oggetti Linguaggio C 1! Sono variabili aggregate in grado di memorizzare una collezione (organizzata) di oggetti Oggetti dello stesso tipo Identificazione univoca degli oggetti! Il tipo più semplice ha una sola

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene

Dettagli

Rappresentazione dell'informazione

Rappresentazione dell'informazione Rappresentazione dell'informazione Corrispondenza tra informazione I e sua rappresentazione P(I), composta da cifre ai di un alfabeto di simboli A I P(i) = {ai}, ai A Esempi di alfabeto: {a, b,..., z}

Dettagli

Esercizio 1 - Soluzione (array)

Esercizio 1 - Soluzione (array) Esercizio 1 Creare un programma che legga da input un numero non noto a priori di interi (al più 10) terminati da 0. Tale sequenza può eventualmente contenere numeri ripetuti. Si memorizzi tale sequenza

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

Esercizio 1" input tre numeri interi e stampi a video la loro somma e la media. n Realizzare un programma che legga da. Lab03 2

Esercizio 1 input tre numeri interi e stampi a video la loro somma e la media. n Realizzare un programma che legga da. Lab03 2 Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2011/2012 Lab 03 Istruzioni" Lab03 1 Esercizio

Dettagli

Struttura dei programmi C

Struttura dei programmi C Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte

Dettagli

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

Dettagli

Esercitazione Programmazione I con Laboratorio

Esercitazione Programmazione I con Laboratorio Esercitazione Programmazione I con Laboratorio Basi e Rappresentabilità Esercizio 1 Conversione e modulo a segno Tradurre in base 10 i seguenti numeri rappresentati in base due e modulo a segno (sign-module),

Dettagli

N:\Lavoro\Compiti\esercizi svolti\4\info \main.c mercoledì 21 maggio :11

N:\Lavoro\Compiti\esercizi svolti\4\info \main.c mercoledì 21 maggio :11 1 /***************************************************************************** 2 Compito del 11/04/2014 - Testo di R.Giannantonio soluzione di M.G. Maffucci 3 Realizzare un programma che legge n numeri

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene

Dettagli

Tipi di dato. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Tipi di dato. Unità 2. 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

Tipi di dato. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Tipi di dato. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

IEIM Esercitazione III Mappe di Karnaugh, array e alcune note sulle funzioni

IEIM Esercitazione III Mappe di Karnaugh, array e alcune note sulle funzioni IEIM 2015-2016 Esercitazione III Mappe di Karnaugh, array e alcune note sulle funzioni Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Cosa facciamo oggi? MAPPE DI KARNAUGH UN

Dettagli

Fondamenti di Informatica: Ingegneria Meccanica Prova scritta del 12 luglio 2008

Fondamenti di Informatica: Ingegneria Meccanica Prova scritta del 12 luglio 2008 Fondamenti di Informatica: Ingegneria Meccanica Prova scritta del 12 luglio 2008 Gli studenti dell a.a. 2007-2008 e 2006-2007 (6CFU) devono svolgere i 6 esercizi. Gli studenti degli anni precedenti non

Dettagli

Lezione 1. Ing. Colazzo Sebastiano

Lezione 1. Ing. Colazzo Sebastiano Lezione 1 Ing. Colazzo Sebastiano Linguaggi macchina: lingua naturale di un particolare computer, esso consiste di sequenze di numeri (1 o 0) e dipende dalla macchina 0000111101 1111110001 0011001111 Linguaggi

Dettagli

int, char, float.. int, char, float.. - char, int, float, double char: int float: double: float int char signed unsigned short int long int double int Pippo; unsigned int Pippo; long int Pippo; long int

Dettagli

==,!=, >, <, >=, <= (a > 7), (b % 2 == 0), (x <= w) &&, (a > 7) && (b % 2 == 0)!(x >= 7) (a == 0)

==,!=, >, <, >=, <= (a > 7), (b % 2 == 0), (x <= w) &&, (a > 7) && (b % 2 == 0)!(x >= 7) (a == 0) ==,!=, >, =, 7), (b % 2 == 0), (x 7) && (b % 2 == 0)!(x >= 7) (a == 0)!, int = int int + int int - int int * int int / int % ==!= < > = int = int int + int int - int int

Dettagli

PRIMA PROVA INTERMEDIA DEL MODULO DI

PRIMA PROVA INTERMEDIA DEL MODULO DI PRIMA PROVA INTERMEDIA DEL MODULO DI MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (4 punti) L espressione booleana F = A + B ha un espressione equivalente

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene

Dettagli

soldi soldi, int, char, float.. int, char, float.. - char, int, float, double char: int float: double: float int char signed unsigned short int long int double int Pippo; unsigned int Pippo; long int

Dettagli

VT = { +, -, *, /, (, ), 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 } VN = {<E>, <T>, <F>, <num>, <cifra>, <cifra-non-nulla> }

VT = { +, -, *, /, (, ), 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 } VN = {<E>, <T>, <F>, <num>, <cifra>, <cifra-non-nulla> } Esercizio - Grammatiche (1) Espressioni algebriche G = VT,VN,P,S, dove: VT = { +, -, *, /, (, ), 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 VN = {, ,, , , S = 1 P = { Esercizio

Dettagli

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Dettagli

STRUCT - ESERCIZIO 1

STRUCT - ESERCIZIO 1 STRUCT - ESERCIZIO 1 Si vuole realizzare un programma di utilità matematica per gestire i numeri complessi. In particolare: 3. Progettare una opportuna struttura per la loro rappresentazione (in coordinate

Dettagli

Esempi comparati while, do...while

Esempi comparati while, do...while Esempi comparati while, do...while Algoritmo. - inizializza Somma a zero - finchè la risposta è "continuazione" - visualizza messaggio - acquisisci un numero I - aggiungi I a Somma - domanda se continuare

Dettagli

Esercizio 1: parole nel testo

Esercizio 1: parole nel testo Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 6 Esercitazione: 11 novembre 2005 Esercizi di riepilogo in preparazione alla prima prova intermedia Problema (tratto da

Dettagli

Tipi di dato. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Tipi di dato. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale

Dettagli

Esercizio 1 Soluzione

Esercizio 1 Soluzione Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2010/2011 Lab 06 Array Lab06 1 Esercizio 1 Creare

Dettagli

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

Strutture di Controllo Condizionali e Operatori Logici e Relazionali Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo! Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare

Dettagli

Assegnamento. Ricordiamo che l esecuzione di x = exp corrisponde a: Esempio: somma = 5; a = 2; somma = somma + a; somma 5 = 7 a 2 2

Assegnamento. Ricordiamo che l esecuzione di x = exp corrisponde a: Esempio: somma = 5; a = 2; somma = somma + a; somma 5 = 7 a 2 2 Assegnamento Assegnamento Ricordiamo che l esecuzione di x = exp corrisponde a: 1. valutare il valore dell espressione exp a destra di = (usando i valori correnti delle variabili); 2. assegnare poi tale

Dettagli

Esercitazione 5. Corso di Fondamenti di Informatica. Laurea in Ingegneria Informatica

Esercitazione 5. Corso di Fondamenti di Informatica. Laurea in Ingegneria Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 5 Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli