• Non ci sono risultati.

double montante (double tassi[]; double importo_iniziale; int anni) { double capitale; int i; importo_iniziale = capitale; for (i = 0; i <= anni; i++) capitale = importo_iniziale * (1 + tassi[i] / 100); return importo_finale; }

N/A
N/A
Protected

Academic year: 2021

Condividi "double montante (double tassi[]; double importo_iniziale; int anni) { double capitale; int i; importo_iniziale = capitale; for (i = 0; i <= anni; i++) capitale = importo_iniziale * (1 + tassi[i] / 100); return importo_finale; }"

Copied!
2
0
0

Testo completo

(1)

Università degli Studi di Udine

Corsi di laurea in Ing. Elettronica Gestionale Fondamenti di programmazione

17 novembre 2017 - Prova intermedia

Matricola ____________________________

Nome ____________________________

Cognome ____________________________

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

Esercizio 1 (4 punti)

Si consideri una stringa s contenente "1023". Indicare quale/i tra i seguenti frammenti di codice scrive nella variabile x il valore rappresentato dalla stringa s.

[ ] x = (int)s;

[ ] x = atoi(s);

[ ] x=0; i=0; while(*(s+i)!='\0') x=x*10+*(s+i++)-'0';

[ ] atoi(s) = x;

[ ] sscanf(s, "%d", &x);

[ ] sscanf(x, "%d", &s);

Esercizio 2 (4 punti)

Un vettore di numeri reali contiene i tassi di interesse (percentuali) di un periodo di dieci anni, uno per anno.

Il calcolo dell’interesse composto, detto anche montante, di una somma richiede che per ogni anno venga calcolato l’importo disponibile all’inizio dell’anno, comprensivo degli interessi accumulati negli anni precedenti, e a tale importo venga applicato il tasso di interesse dell’anno considerato. Il valore risultante sarà l’importo di partenza per l’anno successivo.

Per esempio, se il vettore contiene i valori { 2.5, 2.3, 1.2, 0.9, 1.7, 2.2, 2.0, 1.8, 1.6, 1.1 }, l’importo iniziale (depositato all’inizio del primo anno) è pari a 100.00 euro e il numero di anni da considerare è 3, l’importo finale sarà 106.1158, ottenuto da {[100 * (1+2.5/100)]

* (1+2.3/100)} * (1+1.2/100).

La funzione

double montante (double tassi[],

double importo_iniziale, int anni) ripotata nel seguito, che dovrebbe calcolare l’importo finale applicando l’interesse composto all’importo iniziale per il numero di anni e per i tassi di interesse passati come argomenti, contiene diversi errori. Li si evidenzino e li si correggano.

double montante (double tassi[];

double importo_iniziale; int anni) {

double capitale;

int i;

importo_iniziale = capitale;

for (i = 0; i <= anni; i++) capitale = importo_iniziale * (1 + tassi[i] / 100);

return importo_finale;

}

Esercizio 3 (2 punti)

Alle variabili q ed r devono essere assegnati, rispattivamente, quoziente e resto della divisione intera tra le variabili intere a e b. Indicare quale delle seguenti è la coppia di istruzioni corrette.

[ ] q=a/b; r=b/a;

[ ] q=a%b; r=b%a;

[ ] q=a%(--b); r=a/(++b);

[ ] q=a%(++b); r=a/(--b);

[ ] q=a%b; r=a/b;

[ ] q=a/b; r=a%b;

Esercizio 4 (4 punti)

Si completi la funzione

void swap_vettori_float (float v1[], float v2[], int dim) che scambia il contenuto dei due vettori passati come argomento, entrambi della medesima dimensione dim.

void swap_vettori_float

(float v1[], float v2[], int dim) {

int i;

for (i = 0; i < ________; i++) swap_float (___________________);

return;

}

void swap_float (____________________) {

float t;

t = _______;

*p_a = ________;

*p_b = ________;

return;

}

(2)

Esercizio 5 (2 punti)

Considerando un’architettura da 32 bit, quanti byte occupano i seguenti dati?

'3' _____________

'\0' _____________

3 _____________

"3" _____________

"3\n" _____________

Esercizio 6 (2 punti)

Cosa stampa il seguente frammento di codice?

char s[10];

strcpy (s, "ciao");

s[strlen(s)-2] = '\0';

printf ("%s", s);

[ ] ciao seguito da un carattere casuale [ ] ciao

[ ] cia [ ] ci

Esercizio 7 (4 punti)

La seguente funzione cerca in una matrice di interi positivi int m[7][12] una coppia di celle adiacenti, in orizzontale, contenenti il medesimo valore. Si assuma che nella matrice possa esserci al massimo una coppia di elementi che soddisfi tale condizione. La funzione deve restituire il valore contenuto in tali celle o -1, se tale coppia non esiste.

Si completi la funzione.

int cerca_coppia (unsigned int m____________) {

int i, j;

for (i = 0; i < 7; i++) for (j = 0; j < 11; j++)

if (________________________)

return _______;

return ______;

}

______________________________________________________________________________________________

Esercizio 8 (8 punti)

Una stringa contiene un testo in cui alcune lettere dell’alfabeto sono state sostituite da cifre numeriche. Per esempio:

"3LEF4N73 8LU"

Si scriva una funzione che riceva in ingresso una stringa siffatta e restituisca, come valore di ritorno, il numero intero

rappresentato dalle sole cifre numeriche presenti nella stringa. Nell’esempio, la funzione deve restituire il valore 34738

(ottenuto estraendo le cifre evidenziate "3LEF4N73 8LU" e calcolando il valore da esse rappresentato).

Riferimenti

Documenti correlati

we prove a few preparatory statements to conclude with our main result as advertised at the beginning of this section and the Abstract.

Cela signifie plus précisément que la médiation s'inscrit dans une relation hori- zontale, d'entremise et de citoyenneté où la solution est construite de manière autonome alors que

Copyright© 2020 owned by Ubaldo Pernigo, please contact: ubaldo@pernigo.com Il presente lavoro è coperto da Licenza Creative Commons Attribuzione - Non commerciale - Non opere

double importo_iniziale, int anni) riportata nel seguito, che dovrebbe calcolare l’importo finale applicando l’interesse composto all’importo iniziale per il numero di

Il calcolo dell’interesse composto, detto anche montante, di una somma richiede che per ogni anno venga calcolato l’importo disponibile all’inizio

La funzione double importo_finale (double tassi[], double importo_iniziale, int anni) riportata nel seguito, che dovrebbe calcolare l’importo finale applicando

La seguente funzione double montante (double deposito_iniziale, double tassi[], int anni), che dovrebbe calcolare l’importo finale applicando l’interesse composto

The association of Rad9 at DSBs and therefore the inhibition of DSB resection is promoted also by the checkpoint sliding clamp Ddc1-Mec3-Rad17 (9-1-1 in mammals) complex (Ngo