• Non ci sono risultati.

CORSO di LAUREA in INGEGNERIA ELETTRONICA

N/A
N/A
Protected

Academic year: 2021

Condividi "CORSO di LAUREA in INGEGNERIA ELETTRONICA"

Copied!
4
0
0

Testo completo

(1)

U N I V E R S I T À D E G L I S T U D I D I P I S A F A C O L T À D I I N G E G N E R I A

CORSO di LAUREA in INGEGNERIA ELETTRONICA

ESAME DI FONDAMENTI DI INFORMATICA - SIMONCINI – 3/2/2000 - C++

1. Una Ditta dispone di diversi magazzini dislocati in alcune città. Sia dato un file chiamato disponibilità.txt che in ciascuna riga contiene le seguenti informazioni:

 un valore intero che identifica un pezzo di ricambio,

 una stringa di lunghezza massima 25 caratteri che identifica la sede di un magazzino e

 un valore intero che indica quanti esemplari del pezzo di ricambio sono presenti in quel magazzino.

Si scriva una funzione fornitura (pezzo, quantità) che cerchi quale magazzino ha una disponibilità dell’elemento pezzo più prossima (ma non inferiore) al valore quantità.

2. Sia data la matrice M1 di dimensione NxM e la matrice M2 di dimensione RxN entrambe di valori interi. Si scriva una funzione ok=controlla(M1, M2) che controlla se la somma degli elementi di ciascuna riga di M1 é uguale alla somma degli elementi della corrispondente colonna di M2 e restituisce il relativo risultato.

3. Si consideri un mazzo di carte da gioco rappresentato mediante una lista di elementi che contengono l'informazione relativa al segno ed al valore di una carta. Si definiscano le opportune strutture dati e si scriva una funzione estrai_se_uguale(p, n, s) che estrae (senza elimlinarla) dal mazzo l’n-esima carta se il seme di questa è uguale a s e restituisce il puntatore alla carta estratta se ciò e avvenuto altrimenti il restituisce il puntatore nullo.

4. Dati i numeri decimali A=66, B=-62 e C=125, si determini il minimo numero di bit

necessari per rappresentare contemporaneamente i suddetti numeri in complemento a 2 e se ne dia la rappresentazione. Utilizzando poi lo stesso numero di bit, si esegua l’operazione D=B-A e si dica se il risultato ottenuto è o no significativo.

10 9 11 3

# include <fstream.h>

#include <limits.h>

(2)

U N I V E R S I T À D E G L I S T U D I D I P I S A F A C O L T À D I I N G E G N E R I A

CORSO di LAUREA in INGEGNERIA ELETTRONICA

#include <string.h>

void fornitura (int pezzo, int quantita) {

fstream f,

int code, price, diff;

char sede[25];

char sede_ok[25];

int trovato = 0;

int diff_ok = MAX_INT;

f.open (“disponibilità.txt”, ios::in);

while(!f.eof()) {

f >> code >> price >> quanti ;

if ((code == elemento) && (quanti >= quantità)) {

diff = quanti – quantità;

if (diff < diff_ok) {

diff_ok=diff;

trovato++;

strcpy(sede_ok, sede);

} }

}

if (trovato >0)

cout<<”Il magazzino è quello di “<<sede_ok<<”\n”;

else

cout<<”Non è stato trovato alcun magazzino \n”;

f.close();

}

(3)

U N I V E R S I T À D E G L I S T U D I D I P I S A F A C O L T À D I I N G E G N E R I A

CORSO di LAUREA in INGEGNERIA ELETTRONICA booleano {F, T};

booleano controlla (int M1[N][M], int M2 [R][N])) {

int i, j, k;

int cont1=0, int cont2=0;

for (i=0; i<N; i++) {

for (j=0; j<M; j++)

cont1+=M1[i][j];

for (k=0; k<R, k++) cont2 += M2[k][i];

if (cont1!=cont2) {ok=0;

break;

} }

if (ok) return T;

else return F;

}

(4)

U N I V E R S I T À D E G L I S T U D I D I P I S A F A C O L T À D I I N G E G N E R I A

CORSO di LAUREA in INGEGNERIA ELETTRONICA

enum seme {cuori, quadri, fiori, picche};

enum valore {A,2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K}

struct carta { valore val;

seme s;

carta *succ;}

carta* estrai_se_uguale (carta *&mazzo, valore n, seme s) {

int i= 1;

carta*p =mazzo;

carta *q;

if (mazzo == 0) return 0;

while ((p !=0) && (i<n)) { i++;

q=p;

p = p->pun;

}

if (p==0) return 0;

if ((n == 1)&&(mazzo->seme==s)) {

mazzo = mazzo->succ;

return p;

}

else if(p->seme==s) {

q->succ = p->succ;

return p;

}

return 0;

}

Riferimenti

Documenti correlati

La funzione controlla che ogni riga i-esima della matrice m1 contenga tutti e soli gli elementi della colonna i-esima della matrice m2 e in tal caso restituisce

Si scriva una funzione ok=controlla(M) che riceve in ingresso la matrice e restituisce True se la somma degli elementi della riga i-esima è uguale alla somma

Si scriva una funzione booleana controlla(G) che riceve in ingresso la matrice e restituisce True se per ogni i (i&lt;=0&lt;N-1) la somma degli elementi della

In addition, the proportion of CD80 single-positive (M1 phenotype) cells increased significantly in intermediate and non-classical monocytes, supporting the hypothesis of

Esercizio 30 Si calcoli il centro di massa di una lamina omogenea a forma di quarto di corona circolare di raggio interno r e raggio esterno R. (Sol. 4πR 15

[r]

Come vorrà dire qualcosa pure il fatto che in un recentis- simo talk show televisivo, nessuno abbia mandato a quel paese il combattivo giornalista che trovava forti analogie tra

• la massa volumica della miscela dopo addensamento AASHTO è risultata pari a 0.60 Mg/m 3 per il campione M1 mentre per M2 tale valore si riduce di circa il 20%, fino