• 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 – 04/06/2004 - C++

1. Sia dato un file numeri.dat contenente un insieme non vuoto di numeri interi. 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 di tale numero.

2. Si scriva una funzione ok=verifica(s) che riceve in ingresso una stringa s di lunghezza qualsiasi e restituisce il valore true se essa è palindroma, false altrimenti.

(Nota: Palindroma è una parola o una frase che si può leggere indifferentemente da sinistra verso destra o viceversa da destra verso sinistra. Es. Anna, radar, …).

3. Si scriva una funzione inserisci(a, l) che riceve in ingresso un valore intero a e una lista semplice a valori interi l non vuota e che non contiene elementi ripetuti al suo interno. La funzione inserisci verifica che non esista in l alcun elemento con campo informativo uguale ad a e in questo caso inserisce in coda a l un nuovo elemento con campo informativo uguale ad a.

4. Dati i numeri decimali A=108, B=-91 e C=-79, 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

10 10 10 3

1.

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

#include <fstream.h>

void crea_file() {

fstream leggi, scrivi;

int last, x;

leggi.open(“numeri.dat”, ios::in);

while(leggi>>last)

; leggi.close();

scrivi.open(“solo_maggiori.dat”, ios::out);

leggi.open(“numeri.dat”, ios::in);

while((leggi>>x) if(x>last)

scrivi<<x<<” “;

scrivi.close(), leggi.close(); } 2.

boolean verifica(char *s) {

int c=0;

for(int i=0; s[i]!=0, i++) c++;

for(int j=0; j<i/2; j++) {

if(s[j]!=s[c-j-1]) return false;

}

return true; } 3.

struct elem

{ int info;

elem* next; };

void inserisci(int a, elem *l) {

elem *aux, *aux1;

for(aux=l; aux!=0; aux=aux->next) { if(aux->info==a)

return;

aux1=aux; } aux=new elem;

aux->info=a;

aux->next=0;

aux1->next=aux;

}

Riferimenti

Documenti correlati

33120L3, che i documenti, le informazioni e i dati oggetto di pubblicazione obbligatoria ai sensi della normativa vigente, resi disponibili anche a seguito dell'accesso

c) di aver percepito nell'anno 2018 i seguenti emolumenti complessivi per viaggi e missioni a carico della finanza pubblica, bqrrore se non ha ricoperto

LIGANDI AD AZIONE DUALE SERT - INIBITORI AchE .... INTRODUZIONE ALLA PARTE

Nell’affrontare tale decisione i supremi giudici dello Stato individuano il substituted judgement come strumento per articolare il potere di autodeterminazione con

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

Si scriva una funzione estrai() che calcola la media aritmetica m dei terzi elementi di ciascuna riga del file e quindi costruisce un nuovo file chiamato num2.dat

Si scriva una funzione genera_file() che calcola il valore massimo M_c e minimo m_c delle somme delle coppie di numeri del file coppie1.dat.. Inoltre la funzione crea un nuovo

Si scriva una funzione unisci() che costruisce un nuovo file NUM3.dat che contiene prima tutti i valori positivi e, a seguire, tutti i valori dispari contenuti in