• 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 – 31/01/2005 - C++

1. Un file esterno non vuoto sale.txt contiene in ogni riga le seguenti informazioni:

- una stringa di lunghezza massima 20 caratteri che rappresenta il nome di una sala convegni;

- un valore intero che rappresenta il numero di persone che la sala può contenere;

- un valore intero che rappresenta il prezzo per l’affitto della sala.

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 p). Se tale sala viene trovata la funzione ne stampa il nome sul monitor e restituisce true, altrimenti restituisce false.

2. Sia data una lista semplice l a valori interi non vuota, si scriva una funzione elimina_ultimi2(l) che riceve in ingresso la lista l e ne dealloca gli ultimi due elementi.

3. Si scriva una funzione inverti_stringa(s) che riceve in ingresso una stringa s di lunghezza massima 24 caratteri e crea una nuova stringa s_inv tale che il suo contenuto sia la stringa s invertita e infine la stampa sul monitor. [es. se s=”abcdefg” allora s_inv=”gfedcba”]

4. Dati i numeri decimali A=-37, B=-92 e C=-163, 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= C-A 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 ELETTRONICA

1.

#include <fstream.h>

boolean scegli_sala (int n, int p) { int p_min, n_letto, p_letto, p, n;

boolean trovato=false;

char s_letta[21], s_ok[21];

fstream f,

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

p_min=p;

while(f>>s_letta>>n_letto>>p_letto) {

if(p_letto<p_min && nletto>=n) {

pmin=p_letto;

strcpy(s_ok, s_letto);

trovato=true;

} }

if(!trovato) { cout<<”nessuna sala va bene\n”;

return trovato;

}

cout<<s_ok<<”\n”;

return true, }

2.

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

if(l->next==0)

{ delete l;

l=0;

}

aux1=l->next;

if(aux1->next==0)

{ delete l;

delete aux1;

l=0;

} aux=l;

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

aux1=aux1->next;

aux=aux->next;

}

delete aux2 ; delete aux1 ; aux->next=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 ELETTRONICA

3.

#include <string.h>

void inverti_stringa( char s[25]) { char s_inv[25];

int len;

len=strlen(s); // len può essere ricavato anche con un ciclo:

// len=0;

// for(int i=0; s[i]!=0; i++) len++;

s_inv[len]=0;

for(int i=0; i<len; i++) s_inv[i]=s[len-i-1];

cout<<s_inv<<”\n”;

}

Riferimenti

Documenti correlati

Un parcheggio per automobili è rappresentabile mediante un array P a valori binari dove ciascun elemento dell’array rappresenta un posto auto nel parcheggio e

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

Si scriva una funzione elimina(l) che riceve in ingresso la lista l ed elimina dalla lista l’elemento con campo informativo massimo.. Utilizzando poi lo stesso

Scrivere una funzione booleana controlla(A) che riceve in ingresso un vettore A di dimensione N=50 a valori interi e restituisce il valore true se l’indice corrispondente al