• 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!
1
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 – 15/07/99 - C++

1. Il file valori.txt contiene per ciascuna riga il nome di un componente del sangue ed il relativo valore minimo e massimo tollerato. Si scriva un funzione ok=controllo(nome, valore) che riceve come argomento una stringa contenente il nome di un componente del sangue ed un valore reale che ne rappresenta il valore riscontrato. La funzione verifica se tale valore rientra nei limiti previsti per il componente e restituisce il valore booleano corrispondente (true se il valore rientra nei valori tollerati, false altrimenti).

2. Si scriva una funzione maggiore(t, n) che riceve in ingresso il puntatore ad un albero binario e che visualizza sul monitor il numero dei nodi dell’albero aventi valore maggiore di n. Si consideri che i nodi dell’albero contengano numeri interi positivi.

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 alza(p, n) che riceve come argomenti il puntatore p ad una lista di carte ed un intero n, ed effettui una alzata del mazzo, in corrispondenza della n-esima carta. In altre parole, la funzione deve portare in testa alla lista tutti gli elementi successivi all’n-esimo elemento.

4. Dati i numeri decimali A=69, B=-59 e C=126, 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=A-B e si dica se il risultato ottenuto è o no significativo.

10 9 11 3

(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

1)

# include <fstream.h>

# include <string.h>

enum booleano {false, true};

booleano controllo (char nome[], double valore) {

booleano trovato = false;

char read[];

int conf;

double v1, v2;

fstream f;

booleano esito=false;

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

while ((f>>read>>v1>>v2) && (!trovato)) {

conf = strcmp (nome, read);

if (conf==0) {

trovato = true;

if ((valore<v2)&&(valore>v1)) esito = true;

} }

if (!trovato) cout<<”componente errato\n”;

return esito;

}

(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

2)

#include <iostream.h>

struct nodo { int info;

nodo *sin;

nodo *des;

};

int conta (nodo* t1, int n) { if(t1 == 0) return 0;

if (t1->info>n)

return (1 + maggiore(t1->sin, n) + maggiore(t1->des, n));

else

return (maggiore(t1->sin, n) + maggiore(t1->des, n));

}

void maggiore(nodo *t1, int n) { cout << conta(t1, n);

}

(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

3)

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;

}

void alza (carta *&p0, int n) {

carta *p = p0, //puntatore per la scansione

carta *q; //puntatore all’n-esima carta

carta *last; // puntatore all’ultima carta

int i = 0; // contatore dei passi di scansione if ((p0 == 0) || (p0->pun == 0) || (n<1)) return;

p=p0;

while ((p != 0) && (i< n) ) { //scorre la lista di n posizioni i++;

q = p; //q punta alla carta i-esima

p = p->pun; } //p punta alla carta (i+1)-esima if (p==0) return // n>num. Carte

for (; p!=0; p=p->pun)

last = p //last sull’ultima

last->pun = p0;

p0 = q->pun;

q->pun = 0;

}

Riferimenti

Documenti correlati

una quercia. A  su per il tronco di  si stava arrampicando  tutto sudato e sporco da  scuola, 

(iii) la probabilit` a (approssimata) che almeno 500 pazienti su 625 guariscano (si faccia l’ipotesi che l’esito della cura su ogni paziente sia indipendente dall’esito degli

Si scriva una funzione cerca(p) che riceve in ingresso un valore intero positivo p e che stampa sul monitor il nome del prodotto in listino.dat che ha il prezzo più prossimo

costruire un albero binario di ricerca Marco Lapegna – Laboratorio di Programmazione 2 Cenni agli alberi. procedura ricerca(in: radice, e;

[r]

[r]

[r]

Sembravano tutti aspettare qualcosa e visto che tutti erano tranquilli Il cerbiatto pensò che fosse normale per gli esseri umani avere gli alberi dentro casa!. Così pensando