• Non ci sono risultati.

testo.txt conta_occorrenze (lista_parole) dizionario.txt elem* parole_in_lista () n=disponibili () restituzione (i,j) car ok = Noleggio(car) Rent (); Rent NxM CORSO di LAUREA in INGEGNERIA ELETTRONICA

N/A
N/A
Protected

Academic year: 2021

Condividi "testo.txt conta_occorrenze (lista_parole) dizionario.txt elem* parole_in_lista () n=disponibili () restituzione (i,j) car ok = Noleggio(car) Rent (); Rent NxM CORSO di LAUREA in INGEGNERIA ELETTRONICA"

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 – 13/1/2000 - C++

1. Un noleggio di automobili dispone di un parco macchine composto da N tipi diversi di auto ed esistono M esemplari di ciascun tipo di auto.

Questo noleggio è pertanto rappresentabile mediante una matrice

NxM

, il

cui generico elemento (i,j) indica se il j-esimo esemplare di auto del tipo i-esimo è stato noleggiato oppure se è disponibile.

Si definisca una classe

Rent

assumendo che le possibili operazioni siano le seguenti:

Rent ();

inizializza il noleggio in modo tale che tutte le auto siano disponibili

ok = Noleggio(car)

; determina se è disponibile almeno un esemplare di auto di tipo

car

e nel caso la noleggia;

restituzione (i,j)

; rende di nuovo disponibile il j-esimo esemplare di auto del tipo i-esimo;

n=disponibili ()

; restituisce il numero complessivo di auto ancora disponibili

2. Si scriva una funzione

elem* parole_in_lista ()

che legge un insieme di parole contenute nel file “

dizionario.txt

” e costruisce una lista semplice composta da tanti elementi quante sono le parole del file ciascuno dei quali ha nel campo informazione la stringa corrispondente. La funzione restituisce il puntatore alla lista creata.

3. Data la lista costruita nell’esercizio 2, si scriva una funzione

conta_occorrenze (lista_parole)

che riceve in ingresso il puntatore alla lista e conta le occorrenze di ciascuna parola della lista all’interno di un file di testo chiamato “

testo.txt

”. La funzione visualizza sul monitor i conteggi finali.

4. Data la seguente mappa di Karnaugh si determini il valore delle uscite

“non specificate” in modo da ottenere la forma minima ottimale.

1 - -

1 1 -

10 10 10 3

//Rent.h

enum auto {D, A};

const int N=10;

(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

const int M=20;

class Rent {

auto parco_macchine [N][M];

public:

void Rent () {

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

parco_macchine [I][j] = D; } auto Noleggio (int i);

void Restituzione (int x, int y) { parco_macchine [x][y] = D;}

int disponibili ();

}

//Rent.cc

#include “Rent.h”

auto Rent:: Noleggio (int x) { auto car = D;

int j=0;

while ((j<M) && (car == A)) {

if (parco_macchine [i][j]==D) { parco_macchine [i][j] = A;

car = A;

} j++;}

return car;}

int Rent::disponibili () { int num=0;

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

if (parco_macchine [i][j]==D) num++;

return num;

}

#include <fstream.h>

# include <string.h>

struct elem { char* voce;

elem* next;};

elem* parole_in_lista()

(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 {

fstream leggi;

char *parola;

elem *lista=0;

elem *supporto;

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

leggi >> parola;

while (!leggi.eof()) {

supporto =new elem;

strcpy (supporto->voce, &parola[0]);

supporto->next = lista;

lista = supporto;

leggi>>parola;

}

leggi.close();

return lista;

}

(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 ELETTRONICA

#include <fstream.h>

# include <string.h>

const int N=10; //dimensione nota della lista ‘lista_parole’

int conta_occorrenze (elem *lista_parole) {

fstream testo;

char *vocabolo;

elem *scorri;

int num=0;

int i=0;

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

int occorrenze[N];

for (int j=0; j<N; j++) occorrenze[j]=0;

testo >> vocabolo;

while (!testo.eof()) {

i=0;

for (scorri=lista_parole; scorri !=0; scorri = scorri->next) {

if (strcmp(scorri->voce, &vocabolo[0])==0) {

occorrenze[i]++;

break;

} i++; }

testo>>vocabolo;

}

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

cout << “il numero di occorrenze della parola numero “ << i << “sono “ <<

occorrenze[i] << “/n”;

cont += occorrenze[i];

}

testo.close();

return cont;

}

Riferimenti

Documenti correlati

1) Acquisto di un nuovo pacchetto di prodotti, software e servizi sviluppati e prodotti dal Produttore con funzionalità e caratteristiche tecniche almeno pari a quelle previste

Il controller ROBOTICS TXT 4.0 deve essere acceso e nel menu Impostazioni alla voce Rete, Access point deve essere attivo (vedere capitolo „Dettagli menu“). Per stabilire

I riferimenti alle marche, modelli e sistemi elettronici contenuti nel presente documento devono intendersi come puramente indicativi, in quanto i prodotti e software TEXA –

LINE, Identificativo record, Stato del record, Tipo identificativo prodotto, Identificativo prodotto, EAN fornitore, [Province di competenza], [Tipo prodotto], [Numero di

Storia facile scuola secondaria di primo grado (classe 1) Storia facile scuola secondaria di primo grado (classe 2) Storia facile scuola secondaria di primo grado (classe 3)

Una organizzazione completa grazie alla nostra agenzia viaggi SAF HOLIDAY TOUR per offrirvi un servizio migliore.. WELCOME

Nel caso in cui l’Assicurato abbia interrotto il viaggio a seguito di malattia o infortunio coperti dalla garanzia, ma il suo stato di salute – secondo il parere dei medici

Con la stipula del contratto, il noleggiatore autorizza irrevocabilmente SIXT e i relativi agenti autorizzati all'incasso ad addebitare tutte le spese del veicolo a noleggio e tutte