• 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

SCRIVI I SEGUENTI NUMERI IN CIFRA (evidenzia la parola che ti aiuta a capire il periodo (5 punti). settantatremiliardiquindicimilionitrecentomilaseicentodue

(iii) la probabilit` a (approssimata) che almeno 500 pazienti su 625 guariscano (si faccia l’ipotesi che l’esito della cura su ogni paziente sia indipendente dall’esito degli

Si scriva una funzione cerca(p) che riceve in ingresso un valore intero positivo p e che stampa sul monitor il nome del prodotto in listino.dat che ha il prezzo più prossimo

Esercizio 2: In modo analogo a come effettuato nell’Esercizio 1, si considerino le seguenti coppie di valori reali x, y ∈ R.. Si costruisca uno

Dati un insieme A che contiene n elementi, un insieme B che contiene m elementi, ed una relazione R da A a B, la relazione R si può rappresentare con una matrice booleana nxm

Il metodo assume di ricevere una matrice tab di stringhe, formata da due sole colonne. Il metodo restituisce il numero di righe per le quali la stringa della prima colonna è

Iscritta nell’elenco previsto dal comma 7 dell’articolo 112 del Decreto Legislativo n... CASSA MAURIZIO CAPUANO

Iscritta nell’elenco previsto dal comma 7 dell’articolo 112 del Decreto Legislativo n... CASSA MAURIZIO CAPUANO