• Non ci sono risultati.

CORSO di LAUREA in INGEGNERIA delle TELECOMUNICAZIONI

N/A
N/A
Protected

Academic year: 2021

Condividi "CORSO di LAUREA in INGEGNERIA delle TELECOMUNICAZIONI"

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 delle TELECOMUNICAZIONI

ESAME DI FONDAMENTI DI INFORMATICA - SIMONCINI – 15/07/2004 - C++

1. Un casello autostradale è rappresentabile mediante un array C a valori interi dove ciascun elemento dell’array rappresenta un’uscita aperta del casello e il valore relativo il numero di automobili in attesa su quell’uscita.

Si definisca una classe Casello assumendo che le possibili operazioni siano:

- Casello(n): costruttore che crea un casello con n (n=15 per default) uscite aperte tutte prive di automobili in coda;

- Auto_in_coda(nc): aggiunge un’automobile in attesa all’uscita nc - ok=Auto_in_uscita(nc): se il numero di persone in attesa all’uscita

nc non è nullo viene decrementato il valore relativo restituendo true, la funzione restituisce false altrimenti;

- ~Casello: distruttore.

2. Siano dati due file F1.dat a F2.dat non vuoti contenenti ciascuno un elenco di numeri interi. Si scriva una funzione booleana incluso() che restituisce true se tutti gli elementi di F1.dat sono contenuti in F2.dat, false altrimenti.

3. Sia data una lista semplice circolare a valori interi positivi l non vuota.

Si scriva una funzione elimina_n(l) che legge il campo informativo n della testa della lista e dealloca l’elemento che si incontra dopo aver scorso l di un numero di elementi pari a n.

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

Punteggio:

Es.1 Es.2 Es.3 Es.4

10 10 10 3

//Casello.h class Casello {

Risultati e Soluzione del compito:http://www.iei.pi.cnr.it/~glami/elenco-compiti.htm

(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

int *C;

public:

Casello(int n);

Casello();

void Auto_in_coda (int nc);

boolean Auto_in_uscita (int nc);

~Casello(); } //Casello.cc

#include ‘Casello.h’

Casello::Casello(int n) { C=new int[n];

for (int h=0; h<n; h++) C[h]=0; } Casello::Casello() { C=new int[15];

for (int h=0; h<15; h++) C[h]=0; }

void Casello::Auto_in_coda(int nc) { C[nc]++; }

boolean Casello::Auto_in_uscita (int nc) {

if(C[nc]==0) return false;

C[nc]--;

return true; } Caselo::~Casello() { delete [] C; }

2.

#include <fstream.h>

bool incluso () {

fstream f, g;

boolean trovato=false;

int num1, num2;

f.open (“F1.dat”, ios::in);

while(f>> num1) {

trovato=false;

g.open(“F2.dat”, ios::in);

while(g<< num2) {if(num1==num2) {

trovato=true;

break;

} }

if(!trovato) return false;

g.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

f.close();

return true;

} 3.

void elimina_n(elem *& l) {

elem *aux1, *aux2;

int n;

if(l->next==l) { delete l;

l=0;

return;

} n=l->info;

aux2=l->next ; aux1=l ;

for(int i=1 ; i<n ; i++) {

aux1=aux2;

aux2=aux2->next ; }

if(aux2 !=l) {

aux1->next=aux2->next ; delete aux2,

} else {

aux1->next=aux2->next;

delete aux2;

l=aux1->next ; }

}

Riferimenti

Documenti correlati

Un file chiamato dati.txt contiene per ciascuna riga una stringa di lunghezza massima 24 caratteri che rappresenta il nome di uno studente e un valore intero che

Un parcheggio per automobili è rappresentabile mediante un array P a valori binari dove ciascun elemento dell’array rappresenta un posto auto nel parcheggio e

Si scriva una funzione booleana scegli_sala(int n, int p) che cerca nel file la sala che contenga almeno n persone e il cui costo di affitto sia minimo (comunque inferiore a

La gestione della fila al banco del check-in di un aeroporto è organizzato mediante il seguente criterio: i passeggeri vengono accettati secondo un ordine cronologico,

Scrivere una funzione cerca_estremi() che legge il file e stampa sul monitor il numero più grande e quello più piccolo contenuti in esso.. Si scriva una funzione rendi_pari(l)

Si scriva una funzione raggruppa() che costruisce un nuovo file F3.dat che contiene tutti i valori pari contenuti in F1.dat e F2.dat e, a seguire, tutti i

Dati due array B1 e B2 di dimensione N a valori booleani, si scriva una funzione booleana unione(B1, B2) che riceve in ingresso i due array e costruisce un nuovo array B3

Scrivere una funzione int missing() che confronta i due file e restituisce il numero di caratteri omessi in T2.txt.. Sia data una lista l semplice a valori interi composta