ESERCIZIO 1 (Funzioni)

Documenti analoghi
ESERCIZIO 1 - Funzioni

Lab 07 Funzioni semplici

Lab 06 Funzioni semplici

Lab 07 Funzioni semplici

Lab 06 Funzioni semplici

Obiettivi di questa esercitazione

Fondamenti di Informatica T-1 Modulo 2

ESERCIZI CICLI. Σ Σ j

Fondamenti di Informatica T-1 Modulo 2

Obiettivi di questa esercitazione

Fondamenti di Informatica T-1 Modulo 2

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

float somma_float(float a, float b) int get_ascii(char c)

INFORMATICA Prof. Cassano

STRUCT - ESERCIZIO 1

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento

Lab 04 Programmazione Strutturata"

LABORATORIO di INFORMATICA

ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI. Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video.

Esercizio 1 - cicli. Esercizio 1 cicli - Soluzione

Passaggio dei parametri per valore/riferimento

Lab 10 Passaggio per riferimento

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

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

ESEMPIO 1. #include <math.h> void eq2gr(float a, float b, float c, int* reali, float* x1,float* x2)

Obiettivi di questa esercitazione. Fondamenti di Informatica T-1 Modulo Passaggio dei parametri per valore/riferimento

Fondamenti di Informatica T-1 Modulo 2

Esercizio 1. Esercizio 1 Soluzione

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica

Lab 04 Istruzioni, cicli e array"

Strutture di Controllo Iterative: Istruzioni While e Do

cout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;

Scelte ed alternative. Esercizi risolti

soluzione in 7 step Es n 208

Gli Operatori. Università degli Studi di Brescia

Linguaggio C: le funzioni

Fondamenti di Informatica T-1 Modulo 2

Lab 04 Programmazione Strutturata

Funzioni come parametri

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.

Fondamenti di Informatica T-1 Modulo 2

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

Laboratorio di informatica Ingegneria meccanica

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

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while)

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

Esercizio 1 Liste: calcolo perimetro di un poligono

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

Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione

Esercizio 1. Esercizio 1 - Soluzione

2 Operatori matematici e costrutto if

Corso sul linguaggio C Modulo Tipi di dato

do { printf("inserisci due numeri reali:"); scanf("%f %f", &a, &b);

do { printf("inserisci due numeri reali:"); scanf("%f %f", &a, &b); while(b!=0 && a/b<0);

Lab 03 Istruzioni Prima Parte"

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

Fondamenti di Informatica T-1 Modulo 2

Esercizio n.1 FONDAMENTI DI INFORMATICA 1. Esercizio n.2. Soluzione. LINGUAGGIO C Funzioni e gestione file: esercitazione

Obiettivi di questa esercitazione

Questo teorema era già noto ai babilonesi, ma fu il matematico greco Pitagora, intorno al 500 a.c., a darne una descrizione precisa.

INFORMATICA Prof. Cassano

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if

Espressioni semplici e condizionali

Fondamenti di Informatica T-1 Modulo 2

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.

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

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Lab 7 Passaggio per riferimento

Laboratorio 26/09/2000

Fondamenti di Informatica T1. Lab 04 Array. Lab06 1

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

Laboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice:

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

CL 3 - Es_01.cpp. #include <iostream> using namespace std;

PROGRAMMAZIONE: Le strutture di controllo

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 T1. Lab 03 Istruzioni. Lab03 1

Teorema di Pitagora. Triangoli con angoli di 45, 30 e 60. Eserciziario con soluzioni. - 1

IL TEOREMA APPLICAZIONE AI RETTANGOLI APPLICAZIONE AL ROMBO APPLICAZIONE AL TRAPEZIO APPLICAZIONE AL QUADRATO AVANTI GENERALE

LIA. LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Elementi di informatica L

Dati due punti sul piano calcolare la loro distanza

Fondamenti di Informatica T-1 Modulo 2

PRIMA ESPERIENZA DI LABORATORIO. Introduzione alla programmazione in C

Programmi su più moduli - Esempio

TIPI DI DATO. T = { D, {F 1,...,F n }, {P 1,...,P m } } Un tipo di dato T è definito come:

INTRODUZIONE AL LINGUAGGIO C

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

Introduzione al C. Lez. 2 Funzioni e Puntatori

Esercizi di preparazione alla I Prova Intermedia di Fondamenti di Informatica L-A a.a. 2002/2003 Prof. Paola Mello, Prof.

Introduzione alla programmazione in C(++)

Transcript:

ESERCIZIO 1 Codificare in C la funzione int miomax(int x, int y) che restituisce il massimo valore tra due interi. Codificare in C la funzione int miomax3(int x, int y, int z) che restituisce il massimo valore fra tre interi, sfruttando la funzione miomax definita precedentemente. Definire un possibile main che prende in ingresso i tre valori dall'utente e ne stampa il massimo.

ESERCIZIO 1 - Soluzione int miomax(int a, int b) if (a>b) return a; else return b; int miomax3(int a, int b, int c) int max_di_due; max_di_due = miomax(a,b); return miomax(max_di_due,c);

ESERCIZIO 1 Soluzione - Variante int miomax3(int a, int b, int c) if (miomax(a,b) > c) return miomax(a,b); else return c; int miomax3(int a, int b, int c) return miomax(miomax(a,b),c);

ESERCIZIO 1 - Soluzione Un possibile main int main() int MAX; int v1, v2, v3; printf("inserisci tre interi"); scanf("%d, %d, %d", &v1,&v2,&v3); MAX = miomax3(v1,v2,v3); printf("massimo valore inserito: %d",max); return 0; NOTA: Prima di chiamare una funzione è necessario definirla. Nel file sorgente quindi prima del main e necessario definire la funzione max3 e prima di max3 bisogna definire max

Si scriva una funzione ESERCIZIO 2 int somma2(int n); che dato n deve calcolare Σ n i i=1 j=1 Σ j A tal fine si sfrutti una funzione int somma(int n); che dato n deve calcolare Σ n k=1 k

int somma(int n) int k, s=0; for (k=1; k<=n; k++) s = s + k; return s; ESERCIZIO 2 - Soluzione int somma2(int n) int i, s2 = 0; for (i=1; i<=n; i++) s2 = s2 + somma(i); return s2; NOTA: Nel file sorgente prima del main e necessario definire la funzione somma2 e prima di somma2 bisogna definire somma

Un possibile main int main() int N, S; printf("inserisci un intero"); scanf("%d", &N); S = somma2(n); printf( La somma vale %d",s); return 0; ESERCIZIO 2 - Soluzione

Si scriva una funzione ESERCIZIO 3 int somma_potenze(int a,int n); che dati a e n deve calcolare Σ a A tal fine si scriva una funzione int potenza(int x,int y); che dati x e y deve calcolare x y usando come operazione primitiva il prodotto. n i=1 i

ESERCIZIO 3 - Soluzione int potenza(int x,int y) int i, P=1; /* P: accumulatore di prod.*/ for(i=1; i<=y; i++) P = P * x; return P; int somma_potenze(int a, int n) int i, s=0; for(i=1; i<=n; i++) s = s + potenza(a,i); return s;

Un possibile main int main() int N1,N2,SP; printf("inserisci due interi"); scanf("%d,%d", &N1,&N2); SP = somma_potenze(n1,n2); printf( La somma delle potenze vale %d",sp); return 0; ESERCIZIO 3 - Soluzione

ESERCIZIO 4 Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Creare un altra funzione, di nome float cube(float x), che restituisce invece il cubo del valore x. Progettare quindi e codificare un programma che legge un float da tastiera e restituisce il suo quadrato ed il suo cubo. Per calcolare il quadrato ed il cubo si devono utilizzare le due funzioni sopra definite.

float square(float x) return x*x; float cube(float x) return x*x*x; ESERCIZIO 4 - Soluzione

ESERCIZIO 5 Si progettino e si realizzino due funzioni così definite: float euro_to_dollari(float money) float euro_to_lire(float money) ognuna delle quali converte un valore in euro nella moneta corrispondente. A tal fine si supponga che: 1 = 0.98 $ 1 = 1936.27 Si progetti poi un programma che legge da input un valore intero, inteso come quantità di euro, e stampa la conversione in dollari ed in lire.

ESERCIZIO 5 - Soluzione float euro_to_dollari(float money) return money*0.98; float euro_to_lire(float money) return money*1936.27;

ESERCIZIO 6 Codificare in C la funzione int min_to_sec(int a) che considera il parametro a come minuti e restituisce il numero di secondi corrispondente. Codificare in C la funzione int ore_to_sec(int a) che considera il parametro a come ammontare di ore, e restituisca il numero di secondi corrispondente. Si utilizzi la funzione definita precedentemente. Definire un possibile main che prende in ingresso tre valori interi, rappresentanti ore, minuti e secondi della durata di un CD Audio. Il programma deve stampare il valore corrispondente in secondi.

ESERCIZIO 6 - Soluzione int min_to_sec(int a) return a*60; int ore_to_sec(int a) return a*60*60;

ESERCIZIO 7 Codificare in C la funzione int ipotenusa(int a, int b) che, dati i cateti a e b di un triangolo rettangolo, restituisce il valore dell ipotenusa. A tal scopo si utilizzi il Teorema di Pitagora: 2 Ipotenusa = a + Per calcolare la radice quadrata si utilizzi la funzione di libreria sqrt(x). Per utilizzare quest ultima si aggiunga l istruzione #include <math.h> in testa al file. Definire un possibile main che legga da tastiera due valori che rappresentino i cateti di un triangolo rettangolo, e stampi il valore dell ipotenusa. b 2

ESERCIZIO 7 - Soluzione float ipotenusa(float a, float b) return sqrt(a*a + b*b);

Codificare in C la funzione int perimetro(int a, int b, int c) che, dati i lati a,b,c di un triangolo, ne calcola il perimetro. Codificare in C la funzione float area(int a, int b, int c) che restituisce l area di un triangolo i cui lati misurano a, b, c. A tal scopo si usi la formula di Erone: Area = ESERCIZIO 8 p( p a)( p b)( p c) Dove p è la metà del perimetro. A tal scopo si includa l header <math.h> e si utilizzi la funzione sqrt(x). Definire un possibile main che prende in ingresso i tre lati di un triangolo e stampa perimetro ed area.

ESERCIZIO 8 - Soluzione float perimetro(float a, float b, float c) return a + b + c; float area(float a, float b, float c) float p; float area; p = perimetro(a, b, c) / 2; area = sqrt( p * (p-a) * (p-b) * (p-c) ); return area;

ESERCIZIO 9 Codificare in C la funzione int primo(int x) che restituisce: 1 se x è un numero primo 0 altrimenti. Si utilizzi a tal proposito l operatore modulo (%). Si progetti un programma che legge da tastiera un numero N, e stampa a video tutti i numeri primi compresi tra 0 e N.

int primo(int x) int i, resto; ESERCIZIO 9 - Soluzione if ((x == 1) (x == 2)) return 1; else i= 2; do resto = x % i; i++; while ((resto!= 0) && (i<x)); return (resto!= 0);