• 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 – 09/06/2005 - C++

1. Scrivere una funzione booleana verifica che verifica che il file (non vuoto) “numeri.txt” contenente valori interi sia ordinato in senso crescente restituendo true se tale ordinamento esiste, false altrimenti.

Se il file “numeri.txt” contiene almeno un valore che ne altera l’ordinamento, la funzione crea un nuovo file “numeri_ord.txt” dove vengono copiati i valori di “numeri.txt” tranne quei valori che ne alterano l’ordinamento.

2. Sia data una lista semplice l a valori interi non vuota. Si scriva la funzione elimina_ripetuti(l) che riceve in ingresso la lista l e la modifica eliminando tutti gli elementi ripetuti (al termine della funzione l conterrà elementi tutti diversi fra loro).

3. Siano date due matrici M1 e M2 a valori interi di dimensione NxN. Si scriva una funzione booleana numero_nulli che restituisce true se il numero di valori nulli in M1 è uguale a quello di M2, false altrimenti.

4. Dati i numeri decimali A=211, B=-100 e C=-122, 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 11 9 3

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

1.

#include <fstream.h>

boolean verifica() {

fstream f,g;

int x,y;

boolean n_c=false ;

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

f>>x;

while(f>>y && !n_c) if(x>=y) n_c =true;

else x=y;

f.close();

if(!n_c) return true;

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

g.open(“numeri_ord.txt, ios::out);

f>>x;

g<<x<<”\n”;

while(f>>y)

if(x<y) { g<<y<<”\n”;

x=y ; } f.close() ;

g.close() ; }

2.

void elimina_ripetuti(elem *l) { elem aux, aux1, aux2;

aux=aux1=l ;

while(aux!=0) {

aux2=aux1->next ; while (aux2 !=0) {

if(aux2->info == aux->info) {

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

aux2=aux1->next ; }

else

(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

{

aux1=aux1->next ; aux2=aux2->next ; }

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

}

3.

const int N=15 ;

boolean numero_nulli (int M1[N][N], int M2[N][N]) {

int cont1=0;

int cont2=0;

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

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

if(M1[i][j]!==0) cont1++;

if(M2[i][j]!==0) cont2++;

}

if(cont1==cont2) return true;

return false;

}

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

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