• Non ci sono risultati.

0 0

N/A
N/A
Protected

Academic year: 2021

Condividi "0 0"

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 ELETTRONICA

ESAME DI FONDAMENTI DI INFORMATICA - SIMONCINI – 11/07/2002 - C++

1. Il sacchetto del gioco della tombola è rappresentabile mediante una lista semplice di 90 elementi diversi fra loro con campo informativo intero che va da 1 a 90. Si definisca una classe estrazione ogni oggetto della quale rappresenta un sacchetto della tombola. Sugli oggetti di tale classe sono possibili le seguenti operazioni:

 estrazione(): costruttore che crea un sacchetto della tombola;

 OK=estrai(n): la funzione elimina, se presente, l’elemento con campo informativo uguale a n e restituisce T, restituisce F se l’elemento non è presente nella lista;

 OK=Info(n): la funzione restituisce T se l’elemento con campo informativo uguale a n è presente nella lista, F altrimenti;

 ~estrazione(): distruttore che dealloca la lista.

2. Dato un file numeri.txt composto da insieme di almeno due numeri interi. Si scriva una funzione cerca_min() che legge il file e stampa sul monitor i due valori più piccoli contenuti in esso.

3. Si scriva una funzione controlla_matrici(M[N][N]) che riceve in ingresso una matrice di dimensione NxN a valori interi e restituisce T se tale

matrice ha la struttura rappresentata in figura, F altrimenti

0 1 1 2

2 3

3 4

N

N 0

0

0

N-1 N-1

(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

4. Dati i numeri decimali A=72, B=-39 e C=131, 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-A e si dica se il risultato ottenuto è o no significativo.

Punteggio:

Es.1 Es.2 Es.3 Es.4

12 10 8 3

1.

//estrazione.h

struct elem { int info;

elem* next;}

class estrazione { elem* l;

public:

estrazione();

bool estrai (int n);

bool info (int n);

~estrazione();}

//estrazione.cc

#include "estrazione.h"

estrazione::estrazione() {

elem *aux;

elem *aux1;

l = new elem;

l->info = 1;

l->next=0;

aux=l;

for(int i=2; i<91; i++) {

aux1=new elem;

aux1->info=i;

aux1->next=0;

aux->next=aux1;

aux=aux1 ; }

}

bool estrazione::estrai(int n) {

elem *aux, *aux1;

Risultati e Soluzione del compito:http://www.iei.pi.cnr.it/~glami/elenco-compiti.htm

(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

aux=l ;

if(l==0) return F;

if(l->info==n) {

l=l->next;

delete aux;

return T;

}

aux1=aux;

for(aux=l->next; aux!=0, aux=aux->next) {

if(aux->info==n) {

aux1->next=aux->next ; delete aux ;

return T ; aux1=aux ;} }

return F ; }

bool estrazione::info (int n) {

elem *aux;

for(aux=l; (aux!=0)&&(aux->info<=n); aux=aux->next) if (aux->info==n) return T ;

return F ; }

estrazione:: ~estrazione() {

elem* aux=l;

while (aux!=0) { l=l->next;

delete aux;

aux = l;}

}

2.

#include <fstream.h>

void cerca_min() {fstream f;

int letto, min1, min2;

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

f >> min1;

f>>letto;

if (letto<min1) { min2=min1;

min1=letto;

}

Risultati e Soluzione del compito:http://www.iei.pi.cnr.it/~glami/elenco-compiti.htm

(4)

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

else min2=letto;

while (f>> letto) { if (letto < min1)

{ min2 = min1;

min1 = letto; }

else if (letto <min2) min2=letto;

}

cout<<”i due valori più piccoli sono:\n”<< min1 << “e\t” << min2;

f.close();

}

3.

const int N=20;

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

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

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

if(((i==j+1)&&(M[i][j]!=I)) || ((i==j-1)&&M[i][j]!=j))(

return F;

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

} return T;

}

Risultati e Soluzione del compito:http://www.iei.pi.cnr.it/~glami/elenco-compiti.htm

Riferimenti

Documenti correlati

In questo modo ci assicuriamo che il fascio entri perpendicolarmente rispetto alla superficie e quindi non venga deviato all’ingresso e all’uscita; di conseguenza, l’asse

La funzione componi_importo stampa la quantità di ciascuna moneta necessaria per comporre un certo importo, utilizzando monete i cui valori disponibili sono

• Sia B[k, w] il massimo valore della soluzione ottima S k con peso w (quindi, per i primi k elementi). • L’obiettivo è determinare B[n, W], con n il numero totale di elementi, e

L’espressione logica SOMMA DI PRODOTTI (prima forma canonica) 2.. Dire se la copertura minima trovata

Dopo averne dato la definizione, dare un esempio di autovettore di una funzione definita sullo spazio R

Esprimere P in coordinate polari in un riferimento in cui il polo coincide con l’origine e l’asse polare con il semiasse positivo delle x del primo riferimento.. Quali sono

quarantasettesimo: ……….

[r]