INFORMATICA PER LE SDS DEL DIPARTIMENTO - EXCEL - PROF. MARCO SECHI

Pagina creata da Leonardo Fiorentino
 
CONTINUA A LEGGERE
INFORMATICA PER LE SDS DEL DIPARTIMENTO - EXCEL - PROF. MARCO SECHI
SCUOLE DI SPECIALIZZAZIONE ‐ AREA MEDICA

                                                                                                                                                             Università degli Studi di Brescia

                                                                                                                                                            INFORMATICA
                                                                                                                                                  per le SdS del dipartimento
                                                                       Informatica per le scuole di specializzazione

                                                                                                                                                                           EXCEL
                                           Dipartimento: Informatica

                                                                                                                                                                                                                 Docente: Marco Sechi
                                                                                                                                                                                                                 E‐mail: marco.sechi@unibs.it
                                                                                                                                                                                                                 Vers. 08/10/2017

                                                                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia           A.A. 2018/2019
INFORMATICA PER LE SDS DEL DIPARTIMENTO - EXCEL - PROF. MARCO SECHI
2

                                                                          Scrivere in K6, K8 e K10 le formule necessarie a visualizzare la distribuzione delle
                                                                          temperature corporee mostrata in figura e relativa ad un campione di 300 pazienti. Fornire
                                                                          una prima soluzione utilizzando solo CONTA.SE()e CONTA.NUMERI() oppure
                                                                          CONTA.PIU.SE().
Dipartimento di Informatica – Scuole di specializzazione Area Medica

                                                                                                                                    Variante: Fornire una seconda soluzione utilizzando
                                                                                                                                    solo le funzioni SE() e SOMMA(). Si consiglia in
                                                                                                                                    questo caso il ricorso a colonne di supporto per
                                                                                                                                    semplificare la complessità delle singole formule
                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia   A.A. 2018/2019
3

                                                                          Si implementi un foglio che consenta la gestione delle
                                                                          sacche di sangue di un centro trasfusionale. Costruire
                                                                          (utilizzando solo la funzione SOMMA.SE() ) un
                                                                          meccanismo capace di restituire il saldo tra le unità
                                                                          trasfuse e quelle acquisite mediante donazione. Non è
                                                                          richiesto alcun controllo sull'input.

                                                                          Variante 1: fornire una soluzione equivalente che utilizza
                                                                          solo le funzioni SOMMA e SE. E' permesso l'uso di celle
Dipartimento di Informatica – Scuole di specializzazione Area Medica

                                                                          di supporto.

                                                                          Variante 2: Aggiungere alla soluzione della variante1 la generazione automatica delle
                                                                          quantità e del tipo di registrazione (Trasfusione/Donazione). Attenzione le q.tà che
                                                                          vengono via via generate non devono mai determinare un saldo progressivo negativo (del
                                                                          resto il totale delle trasfusioni eseguite fino ad un determinato istante non può superare
                                                                          l'ammontare delle giacenze acquisite fino a quel momento con le donazioni!)
                                                                          Suggerimento – utilizzare le seguenti funzioni
                                                                              SOMMA.SE();
                                                                              SOMMA(); SE(); variante 1
                                                                              CASUALE.TRA(); SOMMA(); SE() variante 2
                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia   A.A. 2018/2019
4

                                                                         Si implementino le statistiche indicate in figura, relative alle prime sei terzine del primo
                                                                         canto dell'Inferno della Divina Commedia. Nella risoluzione del seguente esercizio si
                                                                         consiglia di utilizzare le celle di supporto (celle con lo sfondo in grigio).
Dipartimento di Informatica – Scuole di specializzazione Area Medica

                                                                         Suggerimento: utilizzare le funzioni:
                                                                                  =LUNGHEZZA(Stringa)
                                                                                  =MAIUSC(Stringa) o MINUSC()
                                                                                  =SOSTITUISCI(Stringa)
                                                                                  =CODICE.CARATT(Carattere) e CODICE()
                                                                                  =SOMMA(Area1; … ; AreaN)
                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia   A.A. 2018/2019
N.B.: Nella soluzione proposta le funzioni
      5
                                                                                                                                                         INDIRETTO , CERCA.VERT ed INDICE
                                                                                                                                                         devono essere utilizzate almeno una volta!
                                                                           Si implementi una soluzione che fornisca le informazioni richieste relative alle date e agli
                                                                           orari contenuti in C2 e C3.
Dipartimento di Informatica – Scuole di specializzazione Area Medica

                                                                        Suggerimento: utilizzare le funzioni:
                                                                         =ADESSO() =OGGI() =ORA(…)            =MINUTO() =SECONDO() =TESTO()
                                                                         =RESTO() =GIORNO.SETTIMANA() =DATA.VALORE() =GIORNO() =O()
                                                                         =MESE() =ANNO() =SINISTRA() DESTRA() =SE() =TRONCA() =ASS()
                                                                         =CERCA.VERT() =INDICE() =INDIRETTO() =CASUALE()
                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia             A.A. 2018/2019
6

                                                                           Nel calendario giuliano (promulgato da Giulio Cesare nell'anno 46 a.C.) un anno è bisestile se il suo numero è divisibile per 4. Il
                                                                           primo anno bisestile fu il 45 a.C, anno in cui il nuovo calendario entrò in vigore. Dopo aver assegnato all'anno 708 di Roma (46
                                                                           a.C. detto anche ultimus annus confusionis) una durata maggiore (si pensa di 445 giorni al posto dei normali 365) si stabilì che la
                                                                           durata dell'anno fosse di 365 giorni ma che ogni quattro anni si sarebbe aggiunto un giorno supplementare. L'anno di 366 giorni
                                                                           fu detto bisestile perché quel giorno supplementare doveva cadere 6 giorni prima delle calende di marzo (facendo raddoppiare il
                                                                           23 febbraio!) e chiamarsi bis sexto die ante Kalendas Martias (tradotto: nel doppio sesto giorno prima delle calende di marzo).
                                                                           Purtroppo già l'anno successivo (44 a.C.), subito dopo la morte di Cesare, si iniziò a commettere errori, inserendo un anno
                                                                           bisestile ogni tre anziché ogni quattro anni (da un papiro egiziano sembra che gli anni bisestili siano stati: ‐43, ‐40, ‐37, ‐34, ‐31, ‐
                                                                           28, ‐25, ‐22, ‐19, ‐16, ‐13, ‐10). Sarebbe così stata fraintesa l'indicazione iniziale di inserire un anno bisestile ogni 4 anni,
                                                                           inserendo il giorno supplementare ogni tre anni compreso quello bisestile. Per rimediare all'errore che aveva già provocato uno
                                                                           sfasamento di 3 giorni Augusto ordinò che fosse sospesa l'intercalazione del giorno bisestile fino all'anno 4 d.C., che risultò quindi
                                                                           essere il primo anno bisestile dell'era cristiana.
                                                                            Secondo il calendario giuliano l'anno medio dura quindi 365 giorni e 6 ore. Questa durata non corrisponde esattamente a quella
                                                                           reale dell'anno solare (ricavata dalle osservazioni astronomiche). Quest'ultimo infatti è più corto di 11 minuti e 14 secondi. Di
                                                                           conseguenza, il calendario giuliano accumula un giorno di ritardo circa ogni 128 anni rispetto al trascorrere delle stagioni.
Dipartimento di Informatica – Scuole di specializzazione Area Medica

                                                                                                              Per questo motivo nel 1582 fu introdotto il calendario gregoriano, che riduce l'errore a soli 26 secondi (un giorno ogni 3.323
                                                                                                              anni circa). Con l'attuazione della riforma gregoriana si provvide anche a correggere gli errori che si erano accumulati nel
                                                                                                              passato: il giorno successivo a giovedì 4 ottobre 1582 divenne venerdì 15 ottobre, attuandosi così un salto di 10 giorni. Fu scelto
                                                                                                              tale periodo perché in esso non ricorrevano feste solenni.
                                                                                                              Si potrebbe ulteriormente migliorare il calendario gregoriano togliendo tre giorni ogni diecimila anni. A tale riguardo John
                                                                                                              Herschel (1792‐1871) suggerì di non considerare bisestili (mentre, in base al calendario gregoriano, lo sono!) gli anni 4000,
                                                                                                              8000 e 12000.

                                                                                                              Nel calendario Gregoriano un anno è bisestile se il suo numero è
                                                                                                              divisibile per 4, con l'eccezione degli anni secolari (quelli divisibili per
                                                                                                              100) che sono bisestili solo se divisibili per 400.
                                                                          Basandosi sulla precedente lettura abbiamo che:
                                                                          ‐ il 900 (Giuliano), il 1300 (Giuliano), il 1896 (Gregoriano) e il 1996 (Gregoriano) sono bisestili;
                                                                          ‐ il 1582 (Giuliano), il 1997 (Gregoriano) non sono bisestili (non sono divisibili per 4)
                                                                          ‐ il 1800 (Gregoriano) e il 1900 (Gregoriano) non sono bisestili (sono divisibili per 4 e 100 ma non per 400);
                                                                          ‐ il 1600 (Gregoriano) e il 2000 (Gregoriano) sono bisestili (sono divisibili per 400).

                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia                                                       A.A. 2018/2019
7

                                                                          Si consideri la seguente sequenza
                                                                          contenente i pesi di 100 neonati
                                                                          (generati con la funzione
                                                                          CASUALE()). Costruire una
                                                                          soluzione che permetta di
                                                                          ottenere la stessa sequenza
                                                                          ordinata sia in modo crescente
                                                                          che in modo decrescente.
Dipartimento di Informatica – Scuole di specializzazione Area Medica

                                                                          NB: Per evitare di scrivere 200
                                                                          formule si consiglia di adottare
                                                                          un procedimento che ci
                                                                          permetta di digitarne solo due
                                                                          (in E4 ed F4) e poi, mediante
                                                                          copia ed incolla, di replicarle su
                                                                          tutte le restanti celle.

                                                                         Suggerimento: utilizzare le
                                                                         funzioni:
                                                                           =PICCOLO()
                                                                           =GRANDE()
                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia   A.A. 2018/2019
8

                                                                         VARIANTE 1: si consideri la
                                                                         medesima sequenza
                                                                         dell'esercizio base
                                                                         contenente i pesi di 100
                                                                         neonati (generati con la
                                                                         funzione CASUALE()) ma
                                                                         distribuito in una matrice di
                                                                         celle 10x10. Costruire una
                                                                         soluzione che ordini tale
Dipartimento di Informatica – Scuole di specializzazione Area Medica

                                                                         sequenza sia in modo
                                                                         crescente (da sinistra a
                                                                         destra e dall'alto verso il
                                                                         basso) che decrescente.
                                                                         Suggerimento ‐ utilizzare
                                                                         le funzioni:
                                                                         =PICCOLO()
                                                                         =GRANDE()
                                                                        NB: : Per evitare di scrivere 200 formule si consiglia di adottare un procedimento che ci
                                                                        permetta di digitarne solo due (in B17 e M17) e poi, mediante copia ed incolla, di replicarle
                                                                        in tutte le restanti celle della corrispondente matrice.
                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia   A.A. 2018/2019
9

                                                                          Si consideri la sequenza dei pesi di 100 neonati
                                                                          (generati con la funzione CASUALE()). Fornire la
                                                                          distribuzione di frequenza in figura.

                                                                          NB: Gli intervalli devono avere tutti la stessa
                                                                          dimensione e devono essere calcolati basandosi sui
                                                                          valori contenuti in B37 (estremo inferiore) e B17
                                                                          (estremo superiore).
Dipartimento di Informatica – Scuole di specializzazione Area Medica

                                                                          Suggerimento ‐ utilizzare le funzioni:
                                                                          CONTA.SE();
                                                                          RIPETI();

                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia   A.A. 2018/2019
10

                                                                          Si considerino 12 misurazioni giornaliere relative alla temperatura corporea di un paziente.
                                                                          Fornire una soluzione, basata unicamente sulla funzione SE(...;...;...) che
                                                                          restituisca in J7 e J8 la temperatura corporea massima e minima rilevata.
                                                                          I valori devono essere visualizzati
                                                                          con al massimo due cifre decimali. E'
                                                                          possibile utilizzare delle colonne di
                                                                          supporto. Non è richiesto alcun
                                                                          controllo dell'input.
Dipartimento di Informatica – Scuole di specializzazione Area Medica

                                                                          NB: Il procedimento adottato deve
                                                                          essere riutilizzabile (in tempi
                                                                          ragionevoli!) anche quando il
                                                                          numero       di      misurazioni    è
                                                                          estremamente elevato.
                                                                          VARIANTE: fornire 3 soluzioni
                                                                          alternative:
                                                                           la prima (in J10 e J11) deve utilizzare la coppia di funzioni MIN()e MAX();
                                                                           la seconda (in J13 e J14) deve utilizzare solo la funzione PICCOLO()
                                                                           la terza (in J16 e J17) deve utilizzare solo la funzione GRANDE().

                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia   A.A. 2018/2019
11

                                                                         VARIANTE 1: Si consideri una sequenza di temperature corporee (generate nello specifico
                                                                         mediante funzioni come CASUALE.TRA() e CASUALE() nell'area E5:E340) rilevate,
                                                                         nell'arco di una settimana, sullo stesso paziente ad intervalli regolari ogni mezzora. Fornire
                                                                         le 4 soluzioni che restituiscono la temperatura minima e massima rilevata con questi vincoli:
                                                                          La 1° (in K5 e K7) deve utilizzare solo la funzione SE(...;...;...);
                                                                          la 2° (in N5 e N7) deve utilizzare la coppia di funzioni MIN() e MAX();
                                                                          la 3° (in K10 e K12) deve utilizzare solo la funzione PICCOLO();
                                                                          la 4° (in N10 e N12) deve utilizzare solo la funzione GRANDE();
Dipartimento di Informatica – Scuole di specializzazione Area Medica

                                                                                                                                     Provare a ricostruire la sequenza completa data/orario
                                                                                                                                      associata alla settimana dal 1/1/2018 al 7/1/2018 !
                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia         A.A. 2018/2019
Metodo risolutivo: L'approccio risolutivo, di tipo iterativo, è il seguente:
      12                                                               Inizializzazione  Inserisco una prima formula di supporto che considera il primo valore
                                                                       della sequenza (cella C5) come il primo minimo (minimo attuale).

                                                                        Step i‐esimo  Imposto le formule successive basandomi su queste considerazione: "se
                                                                        l'elemento i‐esimo o elemento corrente (posto nella cella a sinistra della formula) è
                                                                        minore del minimo attuale (cella sopra la nostra formula) allora l'elemento
                                                                        corrente diventa il nuovo minimo attuale altrimenti il minimo attuale resta
                                                                        inalterato".
Dipartimento di Informatica – Scuole di specializzazione Area Medica

                                                                       Lo schema presentato non fa riferimento a celle specifiche ma descrive uno schema legato
                                                                       alle posizioni relative dei dati rispetto alla cella contenente la formula che calcola il minimo
                                                                       attuale. Copiando ed incollando la formula nelle celle sottostanti otteniamo un effetto
                                                                       iterativo che ripete diverse volte l'operazione che determina il minimo attuale della
                                                                       sequenza. L'ultimo minino attuale contenuto nell'ultima cella della colonna è il minimo
                                                                       complessivo della sequenza analizzata. Il massimo si ottiene con un metodo analogo.
                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia   A.A. 2018/2019
13

                                                                         Si consideri una sequenza di temperature corporee (generate nello specifico mediante le
                                                                         funzioni CASUALE.TRA() e CASUALE() nell'area F6:F341) rilevate nell'arco di una
                                                                         settimana sullo stesso paziente ad intervalli regolari di mezzora.
                                                                         Costruire una soluzione che restituisca in H4 il numero massimo di misurazioni consecutive
                                                                         che hanno rilevato uno stato febbrile (≥ K6). Successivamente visualizzi in K4 la durata in
                                                                         ore e minuti dello stato febbrile più lungo.
                                                                         NB: Il procedimento
                                                                         adottato deve poter
                                                                         essere esteso (in
Dipartimento di Informatica – Scuole di specializzazione Area Medica

                                                                         tempi ragionevoli!)
                                                                         anche a 100.000
                                                                         rilevazioni.

                                                                         Suggerimento ‐
                                                                         utilizzare le funzioni:
                                                                         SE();
                                                                         MAX();
                                                                         TESTO();
                                                                         TRONCA();
                                                                         RESTO();
                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia   A.A. 2018/2019
Inizializzazione  Creo una 1° colonna di supporto dove nelle celle mostro 1 quando la
      14                                                                misurazione corrispondente riguarda uno stato febbrile 0 altrimenti. In una 2° colonna inizio
                                                                        il conteggio delle rilevazioni consecutive che hanno evidenziato uno stato febbrile. Inserisco
                                                                        nella prima cella della 2° colonna una formula che richiama il contenuto della cella che si
                                                                        trova in corrispondenza nella 1° colonna di supporto. Tale contenuto può essere inteso come
                                                                        la durata del corrente stato febbrile (1 se la 1° misurazione indica febbre, 0 altrimenti).

                                                                        Step i‐esimo  Imposto la formula nella i‐esima cella della 2° colonna basandomi su questa
                                                                        considerazione: "se lo statoi (1° colonna) vale 1 incremento di 1 la durata del corrente
Dipartimento di Informatica – Scuole di specializzazione Area Medica

                                                                        stato febbrile contenuta nella cella posta sopra quella in cui sto scrivendo la formula. Se lo
                                                                        statoi vale 0 la febbre è passata e pertanto pongo la durata del corrente stato febbrile
                                                                        a 0.

                                                                        Lo schema presentato è posizionale pertanto possiamo replicare le formule con il copia ed
                                                                        incolla. Copiando ed incollando la formula nelle celle sottostanti emuliamo un effetto molto
                                                                        simile all'iterazione (ovvero ripeto l'operazione "ricalcolo la durata attuale del corrente
                                                                        stato febbrile" un numero di volte pari al numero di celle su cui replico la formula). Il
                                                                        massimo valore nella 2° colonna è la soluzione del nostro esercizio.
                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia   A.A. 2018/2019
15

                                                                         Si consideri la sottostante tabella relativa al personale in servizio nel 2012 presso le
                                                                         Aziende Sanitarie Locali. Si forniscano 3 soluzioni equivalenti (una con INDIRETTO() e
                                                                         CONFRONTA(), l'altra con CERCA.VERT() e l'ultima con INDICE() e CONFRONTA())
                                                                         che mostrino la classifica delle ASL per numero di dipendenti decrescente. Si precisa che
                                                                         tutte le regioni hanno un numero di dipendenti differente (questo semplifica la soluzione!).
Dipartimento di Informatica – Scuole di specializzazione Area Medica

                                                                         Suggerimento: Utilizzare per la classifica nella colonna B la funzione:
                                                                         =RANGO.UG(Valore; Area)
                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia   A.A. 2018/2019
16

                                                                          Impostare un foglio che consenta il calcolo dell'indice di Massa Corporea in soggetti
                                                                          adulti. L'indice di Massa Corporea (IMC, kg/m2) si calcola dividendo il peso (espresso in Kg)
                                                                          per il quadrato dell'altezza (espressa in metri). E' una classificazione di tipo statistico e non
                                                                          si applica per forza a tutti gli adulti, soprattutto se sportivi o anziani.
Dipartimento di Informatica – Scuole di specializzazione Area Medica

                                                                         Oltre al valore numerico IMC (cella C10) il foglio deve fornire, nella cella C11, anche il
                                                                         nome della categoria associata come indicato nella tabella qui sopra a lato (Grave
                                                                         magrezza, Sottopeso, Normopeso, …).
                                                                         Suggerimento – utilizzare le seguenti funzioni:
                                                                              SE.ERRORE(); oppure SE() ; VAL.ERRORE();
                                                                              CERCA.VERT();
                                                                       Docente: Marco Sechi ‐ INFORMATICA per le SdS del dipartimento – Università degli studi di Brescia   A.A. 2018/2019
Puoi anche leggere