Vai al contenuto Link Cerca Menu (external link)
Coding e fondamenti di AI

Visite fuori tempo massimo

Il Piano nazionale di governo delle liste d’attesa fissa un tempo massimo per ogni classe di priorità della ricetta: una visita con priorità B va fatta entro 10 giorni, una D (differibile) entro 30, una P (programmata) entro 120. L’ufficio qualità di un’azienda sanitaria deve dire alla Regione, ogni mese, quale percentuale delle visite prenotate è finita oltre il tempo massimo.

Per ogni classe di priorità l’ufficio estrae dal sistema di prenotazione un vettore con i giorni di attesa di ciascuna visita. Una visita fatta a 30 giorni con un limite di 30 è in tempo; a 31 giorni è fuori tempo. La percentuale si dà con un decimale.

Il calcolo va ripetuto per ogni classe e ogni mese, cambiando solo il vettore e il limite: scrivi la funzione percentuale_fuori_tempo(attese, limite), che seleziona le attese fuori tempo con le parentesi quadre e restituisce la percentuale. La verifica chiama la tua funzione con i valori di ogni caso.

Input
  • attese vettore di numeri — giorni di attesa di ciascuna visita prenotata
  • limite numero — tempo massimo di attesa in giorni previsto per quella classe di priorità
Output
percentuale numero — percentuale di visite fuori tempo massimo, 1 decimale
da scrivere come funzione percentuale_fuori_tempo
Regole
  • Una visita è in tempo se l’attesa è minore o uguale al limite: a limite giorni esatti è ancora in tempo. È fuori tempo se l’attesa è strettamente maggiore del limite.
  • Dentro la funzione seleziona le attese fuori tempo con le parentesi quadre e un vettore logico: attese[attese > limite] tiene solo quelle.
  • length() di quel vettore dice quante sono; length(attese) dice quante sono le visite in tutto.
  • La percentuale è 100 * fuori tempo / tutte, arrotondata a 1 decimale con round(..., 1).
  • Il limite arriva come argomento: la funzione non deve usare variabili scritte fuori, e deve restituire il numero con return().
Esempi
atteselimitepercentuale
123528403050.0
58103151020.0
R runtime non caricato