COGNOME E NOME: Università degli Studi di Brescia ELEMENTI DI INFORMATICA E PROGRAMMAZIONE Ingegneria GESTIONALE PROF. M.SECHI PARTE B 17/06/2016 NUM. MATRICOLA PER RITIRARSI SCRIVERE QUI "RITIRATO" La dispensa deve essere interamente consegnata al docente al termine della prova. Non è consentito consultare manuali o appunti, né utilizzare calcolatrici, smartphone o smartwatch. Verranno considerate valide solo le risposte riportate nella presente dispensa. I fogli di protocollo utilizzati per la brutta vanno riconsegnati e non saranno oggetto di alcuna valutazione. La seconda parte dell esame consente di ottenere un punteggio massimo di 12 punti. Il candidato dovrà TASSATIVAMENTE riportare su ogni foglio immediatamente prima di iniziare la prova - Cognome Nome e Matricola. 004.B2001 Quesito 1: Sommare i numeri binari in complemento a 2 (codificati con 5 bit) corrispondenti ai numeri -10dieci e -13dieci. Mostrare in dettaglio i passaggi e 4 commentare se l operazione ha generato un overflow. Soluzione Per il numero -10 dobbiamo procedere prima con la normale conversione in base 2 del valore assoluto (10) Per complementare a 2 applichiamo la regola pratica che corrisponde nel complementare a 1 ogni singolo bit e poi sommare un 1 alla fine.
Analogamente per il numero -13 dobbiamo procedere con la normale conversione in base 2 del suo valore assoluto (13) Per complementare a 2 applichiamo la regola pratica che corrisponde nel complementare a 1 ogni singolo bit e poi sommare un 1 alla fine. Procediamo ora con la somma: Poiché i 2 bit più significativi della riga dei riporti risultano diversi significa che l'operazione ha generato un errore di overflow. Del resto (-10-13) = -23 [ 2 4,+2 4 1]=[ 16, 15]
COGNOME E NOME: NUM. MATRICOLA PER RITIRARSI SCRIVERE QUI "RITIRATO" Quesito 2: Supponiamo di dover risolvere il seguente problema: la Premium Computer S.p.A. produce due modelli m di computer: il modello Base, che genera un utile U1 di 300 per unità ed il modello Smart, che fornisce un utile unitario U2 di 500. Ogni modello richiede una quantità Rc,m di componenti c le cui disponibilità sono indicate nella colonna Disponibilità Magazzino Gc. 004.B2002 Modello m Componenti c R c,m 1 - Modello Base 2 - Modello Smart Disponibilità Magazzino G c Chassis Base 1 Pz. 0 60 Chassis Smart 0 1 Pz. 50 Hard Disk Drive 1 Pz. 2 Pz. 120 4 Si forniscano, all'interno degli appositi riquadri, le formule utilizzate per risolvere il problema mediante un approccio di tipo enumerativo. Il foglio di calcolo utilizzato è il seguente: Soluzione Indicare le formule relative alla determinazione della riga contenente l'utile massimo (cella N27) e la quantità ottimale Q1 (cella N25) di modello Smart che devo produrre per ottenere il massimo utile (attenzione la formula =B3093 non è considerata valida!). =INDIRETTO("B" & N27) =CONFRONTA(N24;J1:J3113;0)
Tenendo presente che gli indici e le costanti relativi al nostro problema sono inseriti nel foglio di lavoro come mostrato nella figura qui a fianco, fornire le formule (riferite alla generica riga n) che consentono di calcolare: - la quantità N1 di componente Chassis Base (cella En) necessaria per la produzione Q1 (cella Bn) e Q2 (cella Cn) - L'utile (cella Jn) corrispondente alla produzione Q1 (cella Bn) e Q2 (cella Cn). Si osservi che una produzione Q1 e Q2 che non soddisfa i vincoli Nc Gc associati all'utilizzo di componenti Nc e alle giacenze Gc è impossibile e pertanto ha un utile pari a zero! =SE(In;Bn*$N$20+Cn*$N$21;0) =Bn*$N$4+Cn*$O$4
COGNOME E NOME: NUM. MATRICOLA PER RITIRARSI SCRIVERE QUI "RITIRATO" Quesito 3: Fornire la sequenza di istruzioni VBA che calcola in modo iterativo l'area, nell'intervallo [0,3], della regione compresa tra i grafici delle 2 circonferenze (x 2 + y 2 =9 e x 2 + y 2 =4) centrate nell'origine e di raggio rispettivamente 3 e 2. Il numero di iterazioni è pari a 40.000. Il risultato deve apparire all'interno della cella B2 del foglio corrente. Si rammenta che un punto (x,y) è all'interno di una circonferenza di raggio R con centro nell'origine se vale la seguente relazione: x 2 + y 2 <R 2. Se invece x 2 + y 2 >R 2 allora il punto (x,y) è all'esterno. 004.B2003 4 Soluzione Sub CalcolaAreaRegione() Const A = 0, B = 3, NrProve = 40000 Dim X As Double, Y As Double Dim ContaDentro As Long ' Calcolo l'area del rettangolo ' che contiene la regione richiesta AreaRettangolo = (B - A) * 3 ContaDentro = 0 For I = 1 To NrProve ' Genero un valore casuale tra A e B X = Rnd() * (B - A) + A ' Genero un valore casuale tra 0 e 3 ' (max ordinata della circonferenza + esterna) Y = Rnd() * 3 ' Controllo se il punto (X,Y) appartiene ' alla regione compresa tra le 2 circonferenze If ((X^2+Y^2)<=9 And (X^2+Y^2)>=4) Then ContaDentro = ContaDentro + 1 End If Next Stima = (ContaDentro / NrProve) * AreaRettangolo ' Output Range("B2") = Stima End Sub