• 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 – 26/06/2003 - C++

1. Sia dato un file testo.txt contenente un insieme di caratteri. Si scriva una funzione dividi_file() che esegue le seguenti operazioni:

conta il numero di caratteri contenuti nel file testo.txt e lo memorizza in una variabile cont;

crea un nuovo file mezzo.txt che contiene i caratteri dal (cont/2)–esimo al cont-esimo di testo.txt

2. Data una lista doppia a valori interi ld si scriva una funzione ok=dealloca(n, ld) che riceve in ingresso un valore intero e la lista, cerca nella lista gli elementi con campo informativo minore di n e li dealloca. Se alla fine la lista risulta essere vuota la funzione restituisce True altrimenti False.

3. Sia data una matrice quadrata M di dimensione nxn a valori interi. Si scriva una funzione ok=controlla(M) che riceve in ingresso la matrice e restituisce True se la somma degli elementi della riga i-esima è uguale alla somma degli elementi della colonna n-i-1-esima, False altrimenti.

4. Dati i numeri decimali A=99, B=141 e C=-96, 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

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

1.

#include <fstream.h>

void dividi_file() {

char c;

int cont=0;

fstream leggi, scrivi;

leggi.open(“testo.txt”, ios::in);

while(leggi.get(c)) cont++;

leggi.close();

leggi.open(“testo.txt”, ios::in);

scrivi.open(“mezzo.txt”, ios::out);

for(int i=0; i<cont/2; i++) leggi.get(c);

while(leggi.get(c)) scrivi<<c;

leggi.close();

scrivi.close();

}

2.

boolean dealloca(int n, elem *& ld) {

elem *aux, *aux1;

if(ld==0) return true;

while(ld->info <n && ld!=0) {

aux= ld ld = ld ->next;

ld ->prec=0;

delete aux;

} aux=ld;

while(aux!= 0) {

if(aux->info < n) {

aux->next->prec=aux->prec;

aux->prec->next=aux->next;

aux1=aux;

aux=aux->next;

delete aux1;

}

else aux=aux->next;

}if (ld==0)

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

return true;

return false;

} 3.

const int N=20;

boolean controlla(int M[N-1][N-1]) {

int contriga=0;

int contcolonna=0;

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

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

contriga+=M[i][j];

contcolonna+=M[j][n-i-1];

}

if (contriga!=contcolonna) return F;

contriga=0;

contcolonna=0;

}

return T;

}

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

Si scriva una funzione booleana controlla(G) che riceve in ingresso la matrice e restituisce True se per ogni i (i&lt;=0&lt;N-1) la somma degli elementi della

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