• 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 – 18/09/2008 - C++

1. Sia dato un file persone.txt che contiene, su ciascun riga, una stringa di al più 24 caratteri e un valore intero che rappresentano rispettivamente il nome e l’età di una persona. Il file persone.txt è composto da almeno due righe. Si scriva una funzione ex_file() che crea un nuovo file 2_persone.txt contenente il nome delle due persone di età maggiore.

2. Sia data una lista semplice l i cui elementi hanno due campi informativi di tipo intero. Si scriva una funzione modifica(l) che elimina l’elemento in coda alla lista se questo ha i campi informativi uguali all’elemento in testa.

3. Si scriva una funzione booleana controlla_matrice (M[N][N]) che riceve in ingresso una matrice di dimensione NxN a valori interi e restituisce true se tale matrice ha la struttura rappresentata in figura, false altrimenti.

0 1 0 0 ..

1 0 1 0 0 ..

0 1 0 1 0 0 ..

0 0 1 0 1 0 0 ..

.. 0 0

0 0 0 .. 0 0 1 0 1 .. 0 0 1 0

4. Dati i numeri decimali A=98, B=112 e C=-89, 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+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>

#include <string.h>

void ex_file() { fstream f,g;

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

char nome1[25], nome2[25];

int age;

int max1, max2;

int x;

char supp[25];

f>>nome1>>max1>>name2>>max2;

if(max1<max2) { x=max1;

max1=max2;

max2=x;

strcpy(supp, nome1) ; strcpy(nome1, nome2) ; strcpy(nome2,supp);

}

while(f>>supp>>age) { if(age>max1) {

strcpy(nome2, nome1);

max2=max1;

strcpy(nome1, supp);

max1=age;}

if(age<=max1 && age>max2) { strcpy(nome2, supp);

max2=age; }

}

f.close();

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

g<<nome1<<” “<<max1<<”\n”<<nome2<<” “<<max2;

g.close();

}

2.

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

if(l==0) return ; if(l->next==0) return ;

aux=l;

aux1=l;

while(aux->next !=0) aux1=aux;

aux=aux->next;

if(aux->info1==l->info1 && aux->info2==l->info2) {

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

aux1->next=0 ; } }

3.

const int N=10 ;

boolean controlla_matrice (int M[N][N]) {

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

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

if((i-j==1 || j-i==1) && M[i][j]!=1) return false;

if(( i-j!=1 && j-i!=1) && M[i][j]) !=0) return false;

return true;

}

Riferimenti

Documenti correlati

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

Sia dato un file chiamato elenco.txt contenente in ciascuna riga una stringa di caratteri e un valore numerico che rappresentano rispettivamente il nome (stringa

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