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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 ESERCIZI ARRAY 1. Scrivere un programma che inizializza un vettore monodimensionale di interi e poi copia il vettore in un altro vettore della stessa dimensione. 2. In una gara il punteggio di ciascun atleta è dato dal pubblico. I voti possono andare da 1 a 10. Scrivere un programma che per ogni atleta rilevi il numero di occorrenze dei vari voti. a. con switch case; b. con i vettori 3. Scrivere un programma che stampa i numeri primi minori di 100 (Crivello di Eratostene) 4. Scrivere un programma che calcola il MCD di due numeri positivi (Euclide) 5. Scrivere un programma che ordina n numeri casuali con il metodo bubblesort

2 Esercizio 1 /* array2.c definisce 2 array, ne inizializza uno e compia un array nell'altro */ #include <stdio.h> main() int i; int a[10]=1,2,3,4,5,6,7,8,9,10; /* inizializzazione in fase di definizione */ int b[10]; /* stampa a[] */ printf("a[]= "); for(i=0;i<10;i++) printf(" %d", a[i]); /* copio a[] in b[] */ printf("\ncopio a[] in b[]\n"); for(i=0;i<10;i++) b[i]=a[i]; /* stampa b[] */ printf("b[]= "); for(i=0;i<10;i++) printf(" %d,", b[i]); Esercizio 2a /*voti della gara con switch case...*/ #include<stdio.h> main()

3 int voto1=0, voto2=0, voto3=0, voto4=0, voto5=0; int voto=0; /* printf("inserisci un voto (da 1 a 4)"); scanf(); */ while(voto!=-1) printf("inserisci un voto (da 1 a 4)"); scanf("%d",&voto); switch(voto) case 1: voto1++; case 2: voto2++; case 3: voto3++; case 4: voto4++; case 5: voto5++; default: printf("inserimento errato!!!!"); printf("%d %d %d %d %d", voto1,voto2, voto3, voto4, voto5); return 0; Esercizio 2b /*voti della gara con vettore...*/ #include<stdio.h> main()

4 int voto[11]=0, i=0,j=0; for(j=1;j<=4;j++) printf("inserisci un voto per la mensa (tra 1 e 10):"); scanf("%d",&i); voto[i]++; for(i=1;i<=10;i++) printf("%d", voto[i]); return 0; Esercizio 3 /*stampa i numeri primi tra i primi 100 numeri con il metodo di Eratostene*/ #include<stdio.h> main() int i,j; int array[100]; for (i=0;i<100;i++) array[i]=1; for (i=2;i<=100;i++) if(array[i]==1) for (j=2;j<(100/i);j++) array[i*j]=0; printf("\nnumeri primi <100"); for (i=1;i<100;i++) if(array[i]==1) printf("\t%d", i);

5 Esercizio 5 (prima versione) /* lehmer1.c -- Genera una sequenza casuale usando il metodo di lehmer */ #include <stdio.h> /* direttive al preprocessore */ #include <stdio.h> #include <math.h> #include <time.h> #define NMAX 1000 #define m #define b #define m long mult(long p, long q); long lehmer(long a); int main(void) /* definizione della funzione principale MAIN */ int max, r; long f[nmax]=0, i, n, a; double s; time_t t; printf("\n \ngenerazione di una sequenza di numeri interi pseudocasuale."); printf("\ni numeri della sequenza sono compresi fra 0 e N-1."); printf("\n \ninserisci N:"); if (scanf("%d", &max)!= 1) else if (max <=0) printf("errore! Il numero deve essere >0! \a\n"); printf("\ninserisci il numero di elementi della sequenza:"); if (scanf("%ld", &n)!= 1)

6 else if (n <=0) printf("errore! Il numero deve essere >0! \a\n"); printf("generazione casuale di %ld numeri compresi fra 0 e %d\n\n",n,max); srand((unsigned) time(&t)); a=t % m; for(i=0; i<n; i++) a = lehmer(a); r = a % max; /* <- sbagliato! */ f[r]++; for (i=0; i < max; ++i) printf("il numero di %ld Š %ld e la freq. rel. %f\n",i,f[i],(float) f[i]/n); /* statistica del chi quadro */ for (i=0, s=0; i < max; ++i) s += f[i]*f[i]; s = s*max/n-n; printf("chi-quadro=%lf \n", s); if ( fabs(s-max)< 2*sqrt(max) ) printf("\n Test del chi-quadro superato!\a\n"); else printf("\n Test del chi-quadro NON superato!\a\n"); system("pause"); return 0; long lehmer(long a) a = (mult(a,b) +1) % m; return a;

7 long mult(long p, long q) long p1, p0, q1, q0, ab; p1 = p/m1; p0 = p%m1; q1 = q/m1; q0 = q%m1; ab = (((p1*q0+p0*q1) % m1) * m1 + p0*q0) % m; return ab; Esercizio 5 (seconda versione) /* lehmer2.c -- Genera una sequenza di n numeri casuali tra 0 e N(=max)-1 usando il metodo di lehmer e calcola la statistica del Chi-quadro (per verificare la casualita': se prossima a N, allora ok)*/ /*1.generare un numero casuale tra 0 e 1. 2.moltiplicare ciasun numero per N*/ #include <stdio.h> /* direttive al preprocessore */ #include<stdlib.h> #include <math.h> #include <time.h> #define NMAX 1000 #define m #define b #define m long mult(long p, long q); long lehmer(long a); main() /* definizione della funzione principale MAIN */ int max, r; float c; long f[nmax]=0, i, n, a; double s; time_t t;

8 printf("\n \ngenerazione di una sequenza di numeri interi pesudo casuale."); printf("\ni numeri della sequenza sono compresi fra 0 e N-1."); printf("\n \ninserisci N:"); if (scanf("%d", &max)!= 1) else if (max <=0) printf("errore! Il numero deve essere >0! \a\n"); printf("\ninserisci il numero di elementi della sequenza:"); if (scanf("%ld", &n)!= 1) else if (n <=0) printf("errore! Il numero deve essere >0! \a\n"); printf("generazione casuale di %ld numeri compresi fra 0 e %d\n\n",n,max); srand((unsigned) time(&t)); a=t % m; /*generazione di una sequenza di numeri casuali tra 0 e 1: //1. generare un numero casuale tra 0 e m-1 //2. dividere ciascun numero per m */ for(i=0; i<n; i++) a = lehmer(a); /*a e' un numero casuale tale che 0< a < m */ c = (float) a/m; /* c e' un numero casuale tale che 0 < c < 1 */ r = (int) (c * max); /* r e' un numero casuale tale che 0 < r < max */ f[r]++; for (i=0; i < max; ++i)

9 printf("il numero di %ld e' %ld e la freq. rel. %f\n",i,f[i],(float) f[i]/n); /* statistica del chi quadro: implementa (\sum_0<=i<max(f[i]-n/max)^2 ) / (n/max) nota che \sum f[i]= n ; n/max e' il valore atteso*/ for (i=0, s=0; i < max; ++i) s += f[i]*f[i]; s = s*max/n-n; printf("chi-quadro=%lf \n", s); if ( fabs(s-max)< 2*sqrt(max) ) printf("\n Test del chi-quadro superato!\a\n"); else printf("\n Test del chi-quadro NON superato!\a\n"); system("pause"); long lehmer(long a) a = (mult(a,b) +1) % m; return a; long mult(long p, long q) long p1, p0, q1, q0, ab; p1 = p/m1; p0 = p%m1; q1 = q/m1; q0 = q%m1; ab = (((p1*q0+p0*q1) % m1) * m1 + p0*q0) % m; return ab; /* lehmer.c -- Genera una sequenza casuale usando il metodo di lehmer */ #include <stdio.h> /* direttive al preprocessore */ #include <math.h> #include <time.h>

10 #define NMAX 1000 #define m 381 #define b 19 long lehmer(long a); int main(void) /* definizione della funzione principale MAIN */ int max, r; long f[nmax]=0, i, n, a; double s; time_t t; printf("\n \ngenerazione di una sequenza di numeri interi pesudo casuale."); printf("\ni numeri della sequenza sono compresi fra 0 e N-1 con N<=1000."); printf("\n \ninserisci N:"); if (scanf("%d", &max)!= 1) else if (max <=0 max >1000) printf("errore! Il numero deve essere >0 e <=1000! \a\n"); printf("\ninserisci il numero di elementi della sequenza:"); if (scanf("%ld", &n)!= 1) else if (n <=0) printf("errore! Il numero deve essere >0! \a\n"); printf("generazione casuale di %ld numeri compresi fra 0 e %d\n\n",n,max); srand((unsigned) time(&t)); a=t % m;

11 for(i=0; i<n; i++) a = lehmer(a); r = a % max; /* 0 <= rand() < max */ f[r]++; for (i=0; i < max; ++i) printf("il numero di %ld Š %ld e la freq. rel. %f\n",i,f[i],(float) f[i]/n); /* statistica del chi quadro */ printf("\nstatistica del chi-quadro \n"); for (i=0, s=0; i < max; ++i) s += f[i]*f[i]; s = s*max/n-n; printf("chi-quadro=%lf \n", s); if ( fabs(s-max)< 2*sqrt(max) ) printf("\n Test del chi-quadro superato!\a\n"); else printf("\n Test del chi-quadro NON superato!\a\n"); system("pause"); return 0; long lehmer(long a) a = (a * b +1) % m; return a;

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

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

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

Concetti chiave. Gli Array o Vettori. Array Elementi dell array Indici e lunghezza dell array Inizializzazione di vettori Array multidimensionali

Concetti chiave. Gli Array o Vettori. Array Elementi dell array Indici e lunghezza dell array Inizializzazione di vettori Array multidimensionali Concetti chiave Gli Array o Vettori Array Elementi dell array Indici e lunghezza dell array Inizializzazione di vettori Array multidimensionali Fino ad ora abbiamo utilizzato variabili scalari, ossia riferite

Dettagli

Blocchi. a=10; { b=2; 2 C-strutture di controllo.tex: Versione 1.0, aa

Blocchi. a=10; { b=2; 2 C-strutture di controllo.tex: Versione 1.0, aa Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è

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

Alcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli

Alcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Alcuni esercizi 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Stampa di voti Esempio 1 (switch) Realizzare un programma che legge da input un voto (carattere tra A ed E ) e ne

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

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

array: vettori, matrici e stringhe

array: vettori, matrici e stringhe array: vettori, matrici e stringhe Vettori Un vettore (array) è una sequenza di variabili tutte dello stesso tipo che occupano locazioni di memoria contigue. Dichiarazione di un vettore di oggetti del

Dettagli

Prima prova di esonero 2 novembre 2015

Prima prova di esonero 2 novembre 2015 Università degli Studi Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Corso di Informatica 1 (IN110) Prof. Marco Liverani a.a. 2015/2016 Prima prova di esonero 2 novembre 2015

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

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

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

TUTORAGGIO INFORMATICA Settimana 2

TUTORAGGIO INFORMATICA Settimana 2 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

Dettagli

Sistemi di sviluppo integrati

Sistemi di sviluppo integrati Elementi di Informatica e Programmazione Ingegneria Informatica Ingegneria dell'automazione Industriale Ingegneria Elettronica e delle Telecomunicazioni Alessandro Saetti (email: alessandro.saetti@unibs.it)

Dettagli

Corso di Informatica 1 Esercitazione n. 7

Corso di Informatica 1 Esercitazione n. 7 Corso di Informatica 1 Esercitazione n. 7 Marco Liverani Esercizio n. 1 Letta in input una sequenza di numeri interi memorizzarli in una lista e stampare la lista stessa. Eliminare dalla lista i nodi che

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

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

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

S = n cos j 1) e stampa a video il risultato S quando è verificata una delle seguenti condizioni: Condizione 1: S 3 apple 0.01 Condizione 2: n > 100

S = n cos j 1) e stampa a video il risultato S quando è verificata una delle seguenti condizioni: Condizione 1: S 3 apple 0.01 Condizione 2: n > 100 Prova in itinere del 14 Novembre 2014 - COMPITO A nx 1 ( n cos j 1) j 4 j=1 e stampa a video il risultato S quando è verificata una delle seguenti condizioni: Condizione 1: S 3 apple 0.01 Condizione 2:

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

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

Programmazione I - Laboratorio

Programmazione I - Laboratorio Programmazione I - Laboratorio Esercitazione 3 - Array Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2. Dipartimento

Dettagli

Manualistica 3 Le strutture di controllo

Manualistica 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

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

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

Esercitazione 7. Tutor: Ing. Diego Rughetti. Anno Accademico 2007/2008

Esercitazione 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

Dettagli

Esercitazione 3. Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf

Esercitazione 3. Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf Riassunto Esercitazione 3 Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf Sono state introdotte anche le seguenti relazioni: uguaglianza:

Dettagli

Generazione di numeri pseudo-casuali

Generazione di numeri pseudo-casuali Generazione di numeri pseudo-casuali Perchè è difficile? Il computer esegue deterministacamente le istruzioni fornite dal programma Questo comporta che è molto difficile ottenere vera casualità (ossia

Dettagli

Concetti chiave. Istruzioni Iterative. Strutture di controllo iterative while do-while for Cicli annidati

Concetti chiave. Istruzioni Iterative. Strutture di controllo iterative while do-while for Cicli annidati Concetti chiave Istruzioni Iterative Strutture di controllo iterative while do-while for Cicli annidati Altre Espressioni Operatori Aritmetici +, -, *, /, si applicano a qualunque tipo Operatore Aritmetico

Dettagli

1 (4) 2 (4) 3 (12) 4 (6) 5 (6)

1 (4) 2 (4) 3 (12) 4 (6) 5 (6) CORSO DI LAUREA IN INGEGNERIA ELETTRICA, CHIMICA e MATERIALI Informatica B, C Anno Accademico 2016-2017 Proff. Danilo ARDAGNA Prima Prova in Itinere 4.5.2017 Cognome Nome Matricola Firma Durata: 2h Valutazioni

Dettagli

Esercitazione 7. Soluzione:

Esercitazione 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

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

Istruzioni Condizionali in C

Istruzioni Condizionali in C Concetti chiave Istruzioni Condizionali in C Tipi di Istruzioni Condizionali Espressioni Blocchi d istruzioni Istruzioni Condizionali: if-else Istruzioni Condizionali: switch-case Istruzione break Istruzioni

Dettagli

Esercitazione 6. Corso di Fondamenti di Informatica

Esercitazione 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

Dettagli

Funzioni di libreria. KP pp , , , 589, DD pp , , ,

Funzioni di libreria. KP pp , , , 589, DD pp , , , Funzioni di libreria KP pp.112-115, 471-474, 573-575, 589, 598-601 DD pp.144-153, 307-313, 563-565, 588-591 Funzioni matematiche (1) KP p. 112,573 Il linguaggio C non contiene funzioni matematiche predefinite.

Dettagli

Introduzione al linguaggio C Gli array

Introduzione al linguaggio C Gli array Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome

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

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

Linguaggio C: Array Valeria Cardellini

Linguaggio C: Array Valeria Cardellini Linguaggio C: Array Valeria Cardellini Corso di Calcolatori Elettronici A.A. 2018/19 Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Array in C q Dichiarazione

Dettagli

Record di Attivazione e Parametri Formali di una Funzione. Prof.Ing.S.Cavalieri

Record di Attivazione e Parametri Formali di una Funzione. Prof.Ing.S.Cavalieri e di una Funzione Prof.Ing.S.Cavalieri Area di Memoria Stack Area Programma Area Statica Area Dati Heap Stack Valore di Ritorno (se presente) : #include int x; main() void R (int a) { x=a; void

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

ESERCIZIO: SHIFT ARRAY (1)

ESERCIZIO: SHIFT ARRAY (1) ARRAY E STRINGHE ARRAY ESERCIZIO: SHIFT ARRAY (1) Utilizzando le funzioni scrivere un programma che: genera una sequenza di N = 20 numeri interi e li memorizza in un array ( riempi_array( )) visualizza

Dettagli

Introduzione al C. Lez. 2 Funzioni e Puntatori

Introduzione 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

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

3 Costrutti while, for e switch

3 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

Dettagli

Manualistica 3 Le strutture di controllo

Manualistica 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

Dettagli

Introduzione al C. Lez. 2. Funzioni e Puntatori

Introduzione 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

Dettagli

Esercizio 1: calcolo del massimo di una sequenza (versione 1)

Esercizio 1: calcolo del massimo di una sequenza (versione 1) Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 2 Esercitazione: 12 ottobre 2005 Primi esercizi in C Esercizio 1: calcolo del massimo di una sequenza (versione 1) Si legga

Dettagli

Array e Matrici. Perchè usare gli array?

Array e Matrici. Perchè usare gli array? Array e Matrici Perchè usare gli array? 2 float venditegennaio, venditefebbraio, venditemarzo, venditeaprile, venditemaggio, venditegiugno, venditeluglio, venditeagosto, venditesettembre, venditeottobre,

Dettagli

Università degli Studi di Ferrara

Università degli Studi di Ferrara Università degli Studi di Ferrara Corso di Laurea in Matematica - A.A. 2018-2019 Programmazione Lezione 10 Esercizi in C Docente: Michele Ferrari - michele.ferrari@unife.it Nelle lezioni precedenti Abbiamo

Dettagli

Definizione di funzione. <tipo> <nome_funzione> (<lista_parametri>) { <definizioni di variabili> <istruzioni> }

Definizione di funzione. <tipo> <nome_funzione> (<lista_parametri>) { <definizioni di variabili> <istruzioni> } Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è

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

Corso di Informatica 1 Esercitazione n. 4

Corso di Informatica 1 Esercitazione n. 4 Corso di Informatica 1 Esercitazione n. 4 Marco Liverani Esercizio n. 1 Letti in input due numeri interi n > 0 e k > 1 costruire un array A di n numeri interi casuali minori di 100 che non siano multipli

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

Fondamenti di Programmazione

Fondamenti di Programmazione Fondamenti di Programmazione Ingegneria dell Automazione Industriale Ingegneria Elettronica e delle Comunicazioni Alessandro Saetti Marco Sechi e Andrea Bonisoli (email: {alessandro.saetti,marco.sechi,andrea.bonisoli@unibs.it)

Dettagli

Esercizio 1: calcolo insieme intersezione

Esercizio 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: *******************************************************************

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

3 Costrutti while, for e switch

3 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

Dettagli

Prima prova di esonero 5 novembre 2007

Prima prova di esonero 5 novembre 2007 Università Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Corso di Informatica 1 (IN1) Prof. Marco Liverani a.a. 2007/2008 Prima prova di esonero 5 novembre 2007 Esercizio n. 1 (max 10

Dettagli

Esercitazione 2. Corso di Fondamenti di Informatica

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

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

- Dispensa III - PROGRAMMAZIONE C (Parte I)

- Dispensa III - PROGRAMMAZIONE C (Parte I) Elementi di Informatica e Programmazione - Dispensa III - PROGRAMMAZIONE C (Parte I) Alessandro Saetti (email: alessandro.saetti@unibs.it) Università degli Studi di Brescia 1 Linguaggi di Programmazione

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

Università degli Studi di Verona. Esercizi. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie

Università degli Studi di Verona. Esercizi. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie Università degli Studi di Verona Dipartimento di Biotecnologie Laurea in Biotecnologie Corso di Informatica 2014/2015 Esercizi Gennaio 2015 - Sergio Marin Vargas Scrivere un programma Una volta che avete

Dettagli

Gli array. impone al programma, in fase di esecuzione, di riservare dello spazio in memoria per 10 variabili di tipo int

Gli 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

Dettagli

ESERCIZIO: Analisi di un programma. Dato il seguente programma C:

ESERCIZIO: Analisi di un programma. Dato il seguente programma C: : Analisi di un programma Dato il seguente programma C: #include #define D 4 float A(float V[], int k) {int i; float s=0.0; for(i=0;i

Dettagli

Gli array. slides credit M. Poneti

Gli array. slides credit M. Poneti Gli array slides credit M. Poneti Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome e lo

Dettagli

PROBLEMA 1. Progettare e codificare in C una procedura che dati tre interi calcoli contemporaneamente il massimo e il minimo.

PROBLEMA 1. Progettare e codificare in C una procedura che dati tre interi calcoli contemporaneamente il massimo e il minimo. PROBLEMA Progettare e codificare in C una procedura che dati tre interi calcoli contemporaneamente il massimo e il minimo. PROBLEMA Progettare e codificare un programma C che dato un numero N dica se e'

Dettagli

Lab 04 (parte A) Programmazione Strutturata

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

Dettagli

FUNZIONI. La libreria standard del C fornisce una ricca collezione di funzioni, come le funzioni:

FUNZIONI. La libreria standard del C fornisce una ricca collezione di funzioni, come le funzioni: FUNZIONI La libreria standard del C fornisce una ricca collezione di funzioni, come le funzioni: double sqrt(double) double pow (double, double) della libreria matematica, che abbiamo già usato anche senza

Dettagli

Tipi di dato strutturati: Array

Tipi di dato strutturati: Array Tipi di dato strutturati: Array I tipi di dato visti finora sono tutti semplici: int, char, float,... ma i dati manipolati nelle applicazioni reali sono spesso complessi (o strutturati) Gli array sono

Dettagli

Fondamenti di Informatica T-1 modulo 2

Fondamenti di Informatica T-1 modulo 2 Fondamenti di Informatica T-1 modulo 2 Contenuti Matrici 2 Esercizio 1 Valutazione delle temperature medie Una stazione meteorologica registra la temperatura esterna ogni ora, ogni giorno per un mese intero,

Dettagli

Corso di Informatica 1 (IN110) Tutorato n. 10

Corso di Informatica 1 (IN110) Tutorato n. 10 Corso di Informatica 1 (IN110) Tutorato n. 10 Marco Liverani Esercizio n. 1 Letto un grafo non orientato G = (V,E) e letta una lista di vertici di V, L = {v 1,..., v k }, stabilire se il sottografo G indotto

Dettagli

Università degli Studi di Ferrara

Università degli Studi di Ferrara Università degli Studi di Ferrara Corso di Laurea in Matematica - A.A. 2018 2019 Programmazione Lezione 8 Esercizi in C Docente: Michele Ferrari - michele.ferrari@unife.it Informazioni Docente di supporto

Dettagli

Fondamenti di Informatica: Ingegneria Meccanica Prova scritta del 11 aprile 2008

Fondamenti di Informatica: Ingegneria Meccanica Prova scritta del 11 aprile 2008 Fondamenti di Informatica: Ingegneria Meccanica Prova scritta del 11 aprile 2008 Gli studenti dell a.a. 2007-2008 e 2006-2007 (6CFU) devono svolgere i 7 esercizi marcati 6CFU e 3/6 CFU. Gli studenti degli

Dettagli

T = { D, {F 1,...,F n }, {P 1,...,P m } }

T = { D, {F 1,...,F n }, {P 1,...,P m } } TIPI DI DATO Un tipo di dato T è definito come: un dominio di valori, D un insieme di funzioni F 1,..,F n sul dominio D un insieme i di predicati P 1,..,P m sul ldominio i D T = { D, {F 1,...,F n }, {P

Dettagli

acquisizione numero elementi del primo insieme e del secondo insieme, finché elprimoinsieme oppure elsecondoinsieme > EL_INS

acquisizione numero elementi del primo insieme e del secondo insieme, finché elprimoinsieme oppure elsecondoinsieme > EL_INS Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 3 Esercitazione: 20 ottobre 2004 Esercizi su array e applicazione delle regole di conversione di tipo Esercizi presenti:

Dettagli

Tipi di dato strutturati: Array

Tipi di dato strutturati: Array Tipi di dato strutturati: I tipi di dato visti finora sono tutti semplici: int, char, float,... ma i dati manipolati nelle applicazioni reali sono spesso complessi (o strutturati) Gli array sono uno dei

Dettagli

Calcolatori Elettronici Lezione 2 8/10/2012. Emiliano Casalicchio

Calcolatori Elettronici Lezione 2 8/10/2012. Emiliano Casalicchio Calcolatori Elettronici Lezione 2 Emiliano Casalicchio Emiliano.Casalicchio@uniroma2.it Argomenti della lezione Esercitazione collettiva. La lezione si svolge come segue: Docente: Esposizione del problema

Dettagli

Funzioni matematiche (1) KP p. 112,573. Corso di Fondamenti di Programmazione canale E-O. Funzioni matematiche (2) Funzioni matematiche (3)

Funzioni matematiche (1) KP p. 112,573. Corso di Fondamenti di Programmazione canale E-O. Funzioni matematiche (2) Funzioni matematiche (3) Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Funzioni di Libreria KP, pp. 112-115, 471-474, 573-575, 589, 598-601 DD, pp. 144-153, 307-313, 563-565, 588-591 Funzioni matematiche

Dettagli

STRUTTURA DI UN ALGORITMO 1) LIBRERIE. 2) EVENTUALI COMMENTI // testo

STRUTTURA DI UN ALGORITMO 1) LIBRERIE. 2) EVENTUALI COMMENTI // testo STRUTTURA DI UN ALGORITMO 1) LIBRERIE #include #include include le funzioni di input/output include funzioni di base (pausa...) 2) EVENTUALI COMMENTI // testo 3) MAIN (corpo dell'algoritmo

Dettagli

Passaggio dei parametri Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei paramet

Passaggio 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

Dettagli

18/01/16. Soluzione degli esercizi svolti in aula alla lavagna. Seconda lezione. Cast

18/01/16. Soluzione degli esercizi svolti in aula alla lavagna. Seconda lezione. Cast Soluzione degli esercizi svolti in aula alla lavagna Seconda lezione Cast 1 Esempio Scriviamo un programma che converte temperature Fahrenheit in temperature Celsius La formula è cels = (fahr 32) * 5 *

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica C: costanti introdotte con #define Laboratorio di informatica Ingegneria meccanica Lezione 4 22 ottobre 2007 Forma: #define nome valore Effetto: ogni occorrenza successiva di nome sarà rimpiazzata con

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

Funzioni in C. Emilio Di Giacomo

Funzioni in C. Emilio Di Giacomo Funzioni in C Emilio Di Giacomo Modularizzazione di programmi Quando si devono scrivere programmi complessi può essere utile suddividere il programma in più moduli Modularizzare un programma semplifica

Dettagli

Università degli Studi di Ferrara

Università degli Studi di Ferrara Università degli Studi di Ferrara Corso di Laurea in Matematica - A.A. 2018-2019 Programmazione Lezione 12 Esercizi in C Docente: Michele Ferrari - michele.ferrari@unife.it Nelle lezioni precedenti Abbiamo

Dettagli

Astrazione sui Dati Vettori di variabili

Astrazione sui Dati Vettori di variabili Elementi di Informatica e Programmazione Ingegneria Informatica Ingegneria dell'automazione Industriale Ingegneria Elettronica e delle Telecomunicazioni Alessandro Saetti (email: alessandro.saetti@unibs.it)

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

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

Passaggio dei parametri. Passaggio dei parametri

Passaggio dei parametri. Passaggio dei parametri Per valore Il valore viene copiato dal mondo esterno all environment della funzione o procedura Cambiamenti dei parametri così passati non si riflettono sul mondo esterno rimangono circoscritti all environment

Dettagli

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

Introduzione al C. Esercitazione 2bis. S. Salza, C. Ciccotelli, D. Bloisi, S. Peluso, A. Pennisi Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Esercitazione 2bis S. Salza, C. Ciccotelli, D. Bloisi, S. Peluso, A. Pennisi Ricorsione

Dettagli