• Non ci sono risultati.

CORSO di LAUREA in INGEGNERIA ELETTRONICA

N/A
N/A
Protected

Academic year: 2021

Condividi "CORSO di LAUREA in INGEGNERIA ELETTRONICA"

Copied!
4
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 – 9/9/99 - C++

1. Un parcheggio può essere rappresentato mediante una matrice NxM, ciascun elemento della quale rappresenta un posto auto. Il valore di ciascun elemento della matrice indica se il corrispondente posto auto é libero oppure occupato. Si definisca una classe Parking assumendo che le operazioni possibili siano le seguenti:

- Parking (); inizializza il parcheggio in modo tale che tutti I posti auto siano liberi

– ok=Entrata(); determina se esiste almeno un posto auto libero, se sì lo occupa e restituisce true altrimenti restituisce false

– Uscita (x,y); rende libero il posto auto corrispondente alla posizione x,y nella matrice

– n=Quanti (); restituisce il numero dei posti auto liberi

2. Il file concorrenti.txt contiene informazioni riguardanti un concorso di bellezza, é composto da tre colonne separate da caratteri di tabulazione e ogni riga corrisponde ad una concorrente. La prima colonna contiene il numero assegnato alla concorrente (intero positivo), la seconda colonna il nome (al più 15 caratteri), la terza l’età. Si scriva una funzione stampa_età (num) che riceve in ingresso il numero di una concorrente, ricerca tale numero nel file e, se lo trova, stampa sul monitor il nome e l’età corrispondenti. Si assuma che il file sia ordinato in base al numero.

3. Si scriva una funzione tot=tot_lung (ls) che accetti in ingresso il puntatore ad una lista di punti nello spazio cartesiano (x,y) e restituisca la lunghezza della spezzata corrispondente.

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 1 -

10 10 10 3

(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

// Parking.h enum bool {F,T};

const int N=10;

const int M=20;

class Parking { bool pianta [N][M];

public:

void Parking () {

for (int i=0; i<N; i++) for (int j=0; j<M; j++) pianta [I][j] = F; } bool Entrata ();

void Uscita (int x, int y) { pianta [x][y] = F;}

int Quanti ();

}

//Parking.cc

#include “Parking.h”

bool Parking:: Entrata () { bool spazio = F;

int i =0;

int j;

while ((I<N) && (spazio ==F)) { j=0;

while ((j<M) && (spazio == F)) {

if (pianta[I][j]) { pianta [i][j] = F;

spazio = T;

} j++;}

i++;}

return spazio;}

int Parking::Quanti () { int num=0;

for (int i=0; i<N; i++) for (int j=0; j<M; j++) if (pianta [i][j]) num++;

return num;

}

(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

#include <fstream.h>

enum bool {F; T};

void concorso (int numero) { fstream f;

int num, eta;

char nome [15];

bool continua = T;

f.open (“concorrenti.txt”, ios::inn);

while ((!f.eof()) && (continua)) { f >> num >> nome >> eta;

if (num == numero) { cout << nome << eta;

continua = F;}

else if (num > numero) { cout << “Concorrente non inscritta”;

continua =F;}}

if (f.eof()) cout << “Concorrente non iscritta”;

}

(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 <math.h>

struct point { double x;

double y;

point *pun}

double tot_lung (point *s) {

double tot=0;

double xc,yc;

double a,b;

if (s==0) return 0;

xc = s->x;

yc = s->y;

s = s->pun;

while (s!=0) {

a = (s->x-xc) * (s-> x-xc);

b = (s->y-yc) * (s->y-yc);

tot +=sqrt(a+b);

xc = s->x;

yc = s->y;

s=s->pun; } return tot;

}

Riferimenti

Documenti correlati

Stampa sul monitor il numero della squadra prima in classifica (che ha totalizzato il maggior numero di punti), nel caso vi siano più di una squadra in testa

Tenendo presente che una cantina come la precedente può essere rappresentata mediante un array i cui elementi indicano il numero di bottiglie di un tipo presenti nella cantina e che

Si scriva una funzione inserisci (l) che legge da tastiera un valore intero e, se non esiste alcun elemento in l con campo informativo uguale a n, inserisce un

Dato un file non vuoto elenco_numeri.dat che contiene un insieme di interi, si scriva una funzione num_in_lista(l) che riceve in ingresso il puntatore l ad una lista. Al termine

Si scriva una funzione estrai() che calcola la media aritmetica M_A degli abitanti delle città contenute nel file e crea un nuovo file città_piccole.dat che

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

Sia dato un file di testo testo.txt, si scriva una funzione booleana iniziali(char c, int x), che riceve un carattere c e un valore intero x e restituisce true se il

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