• Non ci sono risultati.

Esercizio 1 (4 punti) Cosa stampa la seguente funzione, se chiamata con argomento n = 7? void f (int n

N/A
N/A
Protected

Academic year: 2021

Condividi "Esercizio 1 (4 punti) Cosa stampa la seguente funzione, se chiamata con argomento n = 7? void f (int n"

Copied!
4
0
0

Testo completo

(1)

Università degli Studi di Udine

Corsi di laurea in Ing. Elettronica / Gestionale Fondamenti di programmazione / Inform. 1 14 novembre 2014 - Prova intermedia

Matricola ____________________________

Nome ____________________________

Cognome ____________________________

Aula ____ Fila (dalla cattedra) ____ Posto (dalla porta) _____

Esercizio 1 (4 punti)

Cosa stampa la seguente funzione, se chiamata con argomento n = 7?

void f (int n) {

if (n < 10) f (n+1);

printf ("%d. ", n);

return;

}

Esercizio 2 (3 punti)

Cosa stampa la seguente funzione?

void f (void) {

char s[16];

strcpy (s, "collaudodifunzione");

s[8] = s[10] = '\0';

printf ("%s", s);

return;

}

(indicare con una X la risposta ritenuta corretta) collaudodifunzione

collaudodi

collaudo di funzione collaudo

funzione

Esercizio 3 (2 punti)

La funzione leggi_matrice deve riempire una matrice di dimensione massima 100x100 leggendo dei numeri da tastiera e restituire il numero di righe e il numero di colonne effettivamente riempite. Si indichi la corretta combinazione di prototipo e di chiamata della funzione (si assuma che nella funzione chiamante siano definite due variabili intere righe e colonne):

prototipo: void leggi_matrice (int m[100][100], int *pnr, int *pnc);

chiamata: leggi_matrice (m, &righe, &colonne);

prototipo: int, int leggi_matrice (int m[100][100]);

chiamata: righe, colonne = leggi_matrice (m);

prototipo: int leggi_matrice (int m[100][100], int righe, int colonne);

chiamata: leggi_matrice (m, righe, colonne);

Esercizio 4 (3 punti)

Prendendo come riferimento un elaboratore a 32 bit, scrivere le dimensioni in byte delle seguenti variabili e costanti:

int v[4] ____________________

0 ____________________

'\0' ____________________

"0" ____________________

float a; ____________________

double b; ____________________

(2)

Esercizio 5 (4 punti)

Si deve definire un tipo struct per descrivere un esperimento balistico. Le informazioni da memorizzare sono:

- data dell’esperimento

- alzo del cannone (angolo verticale dall’orizzonte) - peso del proiettile (in grammi)

- nome della località dove si è svolto l’esperimento (massimo 30 caratteri) Si definiscano le strutture dati necessarie.

Esercizio 6 (3 punti)

Con riferimento all’esercizio precedente, si completi il seguente frammento di codice, che assegna a una variabile di tipo struct esperimento le seguenti informazioni: data 14 novembre 2014, alzo 10o, 3', 25.5", peso 215.33 g, luogo Udine.

struct esperimento exp;

exp.peso = 215.33;

(completare nel riquadro a lato)

Esercizio 7 (4 punti)

In una matrice di interi di dimensioni 10x10 si possono individuare 81 quadrati composti da 2x2 celle, 64 da 3x3 celle, 49 da 4x4 celle e così via. Ogni quadrato può essere rappresentato dalle coordinate della cella in alto a sinistra (la più vicina a quella con coordinate 0, 0) e dalla lunghezza del lato.

La seguente funzione riceve come argomenti una matrice di interi 10x10 e un intero che rappresenta la lunghezza del lato dei quadrati da considerare. La funzione calcola la media dei valori contenuti in ogni quadrato e restituisce la minima media ottenuta.

La si completi.

double minimo_medie(int m[10][10], int dim_quadrato) {

int i, j;

double minimo, media;

minimo = media_quadrato (________________________);

for (i = 0; i < 10 - ___________________; i++) for (j = 0; j < 10 - ______________________; j++)

if ((media = media_quadrato (m, i, j, dim_quadrato)) < ____________) _____________________________________;

return minimo;

}

(segue sul retro)

(3)

double media_quadrato (int m[10][10], int i_inizio, int j_inizio, int dim_quadrato) {

int i, j, somma;

somma = 0;

for (i = i_inizio; i < _______________________; i++) for (j = j_inizio; j < ________________________; j++) somma ________ m[i][j];

return somma ____________________________________;

}

Esercizio 8 (2 punti)

Dovete azzerare gli elementi di un vettore di interi che contengono un certo valore. Il vostro programma quindi chiama iterativamente una funzione di ricerca finché il dato non è più presente nel vettore.

Quale di queste funzioni di ricerca fa al caso vostro?

cerca1 cerca2 cerca3 cerca4 cerca5

int cerca1

(int v[], int dim, int dato_cercato) {

int i = 0 ; while (i < dim) {

if (v[i] == dato_cercato) return i;

else

return -1;

i++;

} }

int cerca2

(int v[], int dim, int dato_cercato) {

int i = 0 ; while (i < dim) {

if (v[i] == dato_cercato) return i;

else

return v[i];

i++;

} }

int cerca3

(int v[], int dim, int dato_cercato) {

int i = 0 ; while (i < dim) {

if (v[i] == dato_cercato) return v[i];

i++;

}

return -1;

}

int cerca4

(int v[], int dim, int dato_cercato) {

int i = 0 ; while (i < dim) {

if (v[i] == dato_cercato) return i;

i++;

}

return -1;

}

int cerca5

(int v[], int dim, int dato_cercato) {

int i = 0 ; while (i < dim) {

if (v[i] == dato_cercato) return v[i];

else

return -1;

i++;

} }

Esercizio 9 (5 punti)

Si scriva la funzione filtra_stringa_no_cifre che riceve come argomenti due stringhe s e t e copia i caratteri di s in t eliminando le cifre decimali eventualmente presenti.

Esempio:

s = "codice n.1: s2234bis" → t = "codice n.: sbis"

(4)

Riferimenti

Documenti correlati

[r]

Se la funzione assume almeno un valore positivo nel rettangolo R, ` e chiaro che il valore massimo di f in R sar` a assunto all’interno del rettangolo;. inoltre, tale valore sar`

4) Una carta topografica `e dotata di un sistema di coordinate cartesiane bidimensionali

Per determinare quale regione ` e nel dominio ci si deve ricordare di tenere conto della regola dei segni.. Calcolando la matrice Hessiana di g in questo punto, si vede che ` e

Un sistema omogeneo di 5 equazioni in 3 incognite: a non ha soluzione ; b ha sempre almeno una soluzione; c ha soluzione solo in certi casi; d ha sempre una soluzione

Un sistema lineare di 3 equazioni in 5 incognite: a non ha soluzione ; b ha sempre almeno una soluzione; c ha soluzione solo in certi casi; d ha sempre una soluzione

Un sistema omogeneo di 5 equazioni in 3 incognite: a non ha soluzione ; b ha sempre almeno una soluzione; c ha soluzione solo in certi casi; d ha sempre una soluzione

Corso di Laurea in Scienze Fisiche Prova finale del