Sei sulla pagina 1di 2

Informatica – 21/06/2019 – ​durata complessiva: 2h

COGNOME: NOME

MATRICOLA: B2
DOCENTE:

Domanda 1 Risultato

Sapendo che 24​Z (dove z è una base non nota) sommato a z=___________
11​Z​ produce come risultato 32​10​, calcolare z.

Passaggi per arrivare al risultato

Domanda 2 Risultato

Date le variabili
booleane A, B e C
verificare l'eventuale
veridicità della
seguente equazione
booleana:
((AB)’C’)’ = A+B+C

Domanda 3

Dato il seguente codice, cosa succede durante la compilazione? Supponendo che la variabile a sia posta
all'indirizzo di memoria 0x000070F0, cosa stampa (eventualmente) l'eseguibile? Motivare la risposta.
Si ignorino possibili ‘warning’ di compilazione.

#include <stdio.h>
int main()
{
long int a=3, b=5;
long int* c;

c=&a;
b=c;
printf("b vale %ld.\n", b);
}
Informatica – 21/06/2019 – ​durata complessiva: 2h
Domanda 4 (PROGRAMMAZIONE)
Si realizzi un programma in grado di individuare il corretto funzionamento delle valvole
termostatiche utilizzate per la regolazione della temperatura invernale nelle abitazioni. Al fine di
controllarne il funzionamento si è proceduto ad installare una serie di termometri wireless (uno per
stanza) collegati via Wi-Fi allo smartphone mediante una applicazione. ​Si tratta di realizzare la
parte di applicazione che controlla l'andamento della temperatura​.
I dati vengono trasmessi, uno al minuto, in un file che contiene in ogni riga
- l'istante di lettura del dato nel formato hh:mm
- una serie di valori di temperatura, uno per ogni sensore, espressi come numeri reali con una
cifra decimale
Il numero di sensori non e' noto, ma è minore o uguale a 20.
La prima riga del file contiene il numero di sensori coinvolti.
Si supponga inoltre che l'intera raccolta dati avvenga nello stesso giorno solare, che ci siano
almeno 10 campioni, che i campioni siano già ordinati in ordine di tempo, una riga per ogni minuto,
e che non vi siano errori nel file.
Il programma deve ricevere da linea di comando il nome del file in cui sono contenuti i dati e
l’identificativo del sensore da monitorare.
Nell’esempio sotto riportato è da monitorare il sensore numero 3, mentre nel file sono riportati
cinque sensori in totale. Si noti che, i sensori numero 1 e 4 presentano variazioni di temperatura
significative, ma che non sono da riportare, visto che dobbiamo monitorare solo il sensore 3.
Per ciascuno dei sensori da monitorare il programma deve dire se:
- la massima variazione in 10 minuti​; A questo scopo si dovra’ valutare lo scostamento
massimo per ogni sensore inizialmente per le prime 10 righe del file, poi per le righe 2-11, e
cosi’ via.
- quante volte la variazione ​supera​ 0.3 gradi in un minuto​;
- solo se vi sono superamenti al minuto​, ​la massima variazione al minuto​.
Nell'esempio sono sottolineate le sequenze con superamento dei limite di 0.3c al minuto. Si noti
che le sequenze con superamento possono essere sovrapposte.

28dicembre2018.txt Spiegazione calcolo scostamento


5
08:00 20.4 21.3 19.2 20.2 21.0 Sensore 3:
08:01 20.5 21.4 19.0 20.4 21.1
08:02 20.6 21.5 19.3 20.5 21.2 Valori 8:00-8:09​:
08:03 20.5 21.6 19.5 20.7 21.3 min = 19.0 max = 20.1 scost. = 1.1C
08:04 ​20.6​ 21.7 19.8 20.8 21.4
08:05 ​20.2​ 21.8 20.1 20.9 21.5 Valori 8:01-8:10​:
08:06 20.3 21.9 19.9 21.0 21.4 min = 19.0 max = 20.1 scost. = 1.1C
08:07 20.5 22.0 19.7 21.0 21.3
08:08 20.6 22.1 19.5 21.1 21.2 Valori 8:02-8:11​:
08:09 20.4 22.1 19.4 21.3 21.1 min = 19.3 max = 20.1 scost. = 0.9C
08:10 20.3 22.0 19.3 21.4 21.0
08:11 20.2 21.9 19.5 21.3 21.1 …..
08:13 20.3 21.7 ​19.5​ ​21.4​ 21.2
08:14 20.2 21.6 ​19.9​ ​21.8​ 21.1

c:\> nomeprog 28dicembre2018.txt 3


Massima variazione in 10 minuti: 1.1C.
Variazioni superiori a 0.3C al minuto: 1. Variazione massima 0.4C.