• 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!
3
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

Risultati e Soluzione del compito: http://www1.isti.cnr.it/~glami/

ESAME DI FONDAMENTI DI INFORMATICA - 02/07/2009 - C++

1. Siano dati due file elenco1.txt e elenco2.txt contenenti entrambi un elenco di numeri interi non vuoto. Si scriva una funzione int comuni(X) che riceve in ingresso un vettore X a valori interi di dimensione N. La funzione restituisce il numero degli elementi di X il cui valore compare sia in elenco1.txt che in elenco2.txt.

2. Sia data una lista semplice a valori interi l. Scrivere una funzione no_multipli(l) che riceve in ingresso la lista l e la modifica eliminando tutti gli elementi che hanno il campo informativo multiplo di quello dell’ultimo elemento.

3. Scrivere una funzione booleana controlla(A) che riceve in ingresso un vettore A di dimensione N=50 a valori interi e restituisce il valore true se l’indice corrispondente al valore massimo di A è minore dell’indice corrispondente al valore minimo, false altrimenti..

4. Dati i numeri decimali A=128, B=97 e C=-219, 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 discuta se il risultato ottenuto è o no significativo.

Punteggio:

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

10 10 10 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

Es.1

#include <fstream.h>

const int N=10;

int comuni (int X[N]) {

fstream f, g;

boolean b1=false;

boolean b2=false;

int n1=0;

int n2=0;

int n=0;

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

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

g.open(“elenco2.txt”, ios::in);

while(f>>n1) { if(n1==X[i]) { b1=true;

break;

}

while(g>>n2) { if(n2==X[i]) { b2=true;

break; } if(b1 && b2) n++;

b1=false, b2=false;

f.close();

g.close();

}

return n;

}

void no_multipli (elem *& l) { elem *aux, *aux1;

int val_coda;

int n;

if (l==0) return ; aux=l;

while(aux!=0) {

val_coda=aux->info;

aux=aux->next;

} aux=l;

while(aux->info%val_coda==0 && l!=0) {

l=l->next;

delete aux;

aux=l;

}

if(l==0) return;

aux=l;

aux1=aux->next;

while(aux1!=0) {

if(aux1->info % val_coda==0) { aux->next = aux1->next;

(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

delete aux1;

aux1=aux->next;

}

else { aux=aux1;

aux1=aux1->next;

} }

Es.3

const int N=50;

boolean controlla(int A[N]) {

Max=A[0];

min=A[0];

int ind_max=0;

int ind_min=0;

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

if(Max<A[i]) { Max=A[i];

Ind_max=i; } if(min>A[i]) { min=A[i];

ind_min=i; } }

if(Ind_max < ind_min) return true;

return true;

}

Riferimenti

Documenti correlati

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

Scrivere una funzione booleana verifica(A1, A2) che riceve in ingresso due array A1 e A2 entrambi di lunghezza N=30 e a valori interi e restituisce il valore true se

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

Sia dato un file non vuoto azienda.dat contenente su ciascuna riga le seguenti informazioni: la ragione sociale di una azienda (stringa di al più 28 caratteri), il