• 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://www.iei.pi.cnr.it/~glami/elenco-compiti.htm

ESAME DI FONDAMENTI DI INFORMATICA - SIMONCINI – 19/07/2007 - C++

1. Sia dato un file non vuoto elenco.txt che contiene in ciascuna riga il nome di una persona (stringa di lunghezza massima 16 caratteri), un valore V1 e un valore V2 (entrambi interi). Si scriva una funzione minimi() che calcola il minimo m1 dei valori V1. La funzione, costruisce poi un nuovo file elenco-2.txt composto dai soli nomi del file elenco.txt in corrispondenza di un valore V2 minore di m1.

2. Sia data una lista circolare a valori interi l. Si scriva una funzione elimina(l, n) che elimina l’elemento che si incontra scorrendo l di n posizioni.

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

4. Dati i numeri decimali A=-189, B=67 e C=-60, 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

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

void minimi() { fstream f;

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

char s1[17];

int v1, v2, m1, m;

f>>s1>>m1>>v2;

while(f>>s1>>v1>>v2) {

if(m1>v1) m1=v1;

} f.close();

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

g.open (“elenco-2.txt”, ios::out);

while(f>>s1>>v1>>v2) {

if(v2<m1) g<s1<<”\n”;

} f.close();

g.close();

}

Es. 2

struct elem { int info;

elem *next};

void elimina (elem *& l, int n) {

elem * aux1, *aux2;

if(l==0) return ;

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

return; }

aux=l;

aux2=l;

if(n==0)

{ aux2=aux->next;

while(aux2->next!=l ) aux2=aux2->next ; aux2->next=l->next ; l=aux2->next ; delete aux ; }

for(int i=0 ; i<n ; i++) { aux2=aux ; aux=aux->next ; }

if(aux==l)

{ aux2->next=aux->next ; l=aux->next ;

delete aux ; return ;

(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

}

aux2-<next=aux->next ; delete aux ;

}

Es. 3

const int N=50;

boolean verifica(int A1[N]) {

Max=A1[0];

min=A1[0];

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

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

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

min=A1[i];

ind_min=i; } }

if(Ind_max > ind_min) return true;

return true;

}

Riferimenti

Documenti correlati

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

Sia scriva una funzione booleana controlla(A1, A2) che riceve in ingresso i due array e restituisce True se nessun valore di A1 è presente in A2 , altrimenti la