• 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!
2
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 19/02/2009 - C++

1. Sia dato un file valori.dat composto da N righe (N>0). Ciascuna riga del file contiene una sequenza di M numeri interi. Si scriva una funzione max() che stampa sul monitor l’intera riga di valori.dat tale che la somma dei valori che la compongono è massima.

2. Scrivere una funzione booleana controlla(A, B) che riceve in ingesso due vettori di lunghezza N a valori interi A e B e restituisce true se tutti i valori contenuti in A sono maggiori del massimo valore di B, false altrimenti.

3. Sia data una lista semplice non vuota a valori interi l. Si scriva una funzione elimina (l) che modifica la lista l eliminando tutti gli elementi con campo informativo maggiore del campo informativo dell’elemento di testa.

4. Dati i numeri decimali A=121, B=126 e C=-127, 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

1.

#include <fstream.h>

void max() { fstream f;

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

int somma_max=0 ; int somma=0 ; int n, cont=1;

int cont_max=1 ;

for(int i=0 ; i<M ; i++) { f>>n;

somma_max+=n; }

while(cont<=N)) { cont ++;

for(int i=0 ; i<M ; i++) { f>>n;

somma+=n; } if(somma>somma_max) {

somma_max=somma;

cont_max=cont; } }

f.close();

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

for(int j=0; j<((cont_max-1) * M); j++) f>>n;

for(j=0; j<M; j++) {f>>n; cout<<n<<” “;}

}

2.

boolean controlla (int A[N], int B[N]) { int MB;

//trova max di B MB=B[0];

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

if(B[i]>MB) MB=B[i];

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

if(A[i]<MB) return false;

return true; }

3.

void elimina (elem *l) { elem *aux, *aux1;

aux=l ; aux1=l->next ; int x=l->info ; while(aux1 !=0) {

if(aux1->info>x) { aux->next=aux1->next ; delete aux1 ;

aux1=aux->next ; } else { aux=aux->next ;

aux1=aux1-next ; } } }

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 elimina(l) che riceve in ingresso la lista l e la modifica eliminando tutti gli elementi che hanno il campo informativo uguale a quello

Scrivere una funzione elimina(l) che riceve in ingresso la lista l e la modifica eliminando tutti gli elementi che hanno il campo informativo uguale a quello

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