• 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 - 06/06/2008 - C++

1. Sia dato un file non vuoto elenco.txt composto da un insieme di righe ciascuna delle quali contiene due informazioni:

- una stringa di lunghezza massima 24 caratteri che rappresenta il nome di una persona e

- un valore intero che ne rappresenta l’età.

Si scriva una funzione booleana trova_nome(int x) che stampa sul monitor il nome, se esiste, della persona presente nel file la cui età si avvicina maggiormente al valore di x senza superarlo e in questo caso restituisce true. Se non esiste alcuna persona nell’elenco con questa caratteristica, la funzione restituisce false.

2. Sia data una lista semplice non vuota l i cui elementi hanno due campi informativi info1 e info2 entrambi interi. Scrivere una funzione booleana verifica_ord(l) che riceve in ingresso la lista l e restituisce il valore true se gli elementi di l sono ordinati in senso crescente secondo info1 e in senso decrescente secondo info2;

restituisce false altrimenti.

3. Sia dato un vettore A di interi di dimensione N. Si scriva una funzione stampa_valori(A) che riceve in ingresso un vettore A ed esegue le seguenti operazioni:

- calcola la media m dei valori contenuti in A - stampa sul monitor tutti i valori di A minori di m.

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

Punteggio:

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

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

boolean trova_nome (int x) { fstream f;

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

char s_g[25], s[25];

int n, x_g;

boolean trovato=false;

f>>s_g>>x_g;

if(x_g<x) trovato = true;

else x_g=-1;

while(f>>s>>n) {

if(x_g < n < x) { x_g=x;

strcpy(s_g, s);

trovato = true;

}

f.close();

if(trovato) { cout<<s_g;

return true;

}

return false;

} 2.

struct elem { int info1;

int info2;

elem *next; };

boolean modifica (elem *l) { elem *aux=l;

int prec1, prec2;

prec1=aux->info1;

prec2=aux->info2;

aux=aux->next;

while(aux!=0) {

if(aux->info1<prec1) return false;

else prec1=aux->info1;

if(aux->info2>prec2) return false;

else prec2=aux->info2;

aux=aux->next;

}

return true;

}

(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

3.

const int N=16;

void stampa_valori (int A[N]) {

int cont=0;

int media;

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

cont=cont+A[i];

}

media=cont/N;

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

if(A[i]<media) cout<<A[i]<<”\n”;

} }

Riferimenti

Documenti correlati

Si scriva una funzione crea_file() che legge l’ultimo valore del file numeri.dat e costruisce un nuovo file solo_maggiori.dat contenente i soli elementi di numeri.dat maggiori

Si scriva una funzione booleana incluso() che restituisce true se tutti gli elementi di F1.dat sono contenuti in F2.dat, false altrimenti.. Sia data una lista semplice circolare

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