Iedereen die ooit al eens een lange vlucht naar het oosten of het westen heeft gemaakt, kent ongetwijfeld het fenomeen van de jetlag. Overdag voel je je moe en wil je gaan slapen, en ‘s nachts lig je wakker in bed. Na enkele dagen heb je je bioritme echter volledig aangepast aan de lokale omstandigheden. Om te berekenen hoeveel dagen je nodig hebt om te herstellen van een jetlag, ontwikkelde de Internationale Burgerluchtvaartorganisatie (ICAO) de volgende formule

\[d = \frac{\frac{u}{2}+(z-3)+v+a}{10}\]

Hierbij stelt \(u\) het aantal vlieguren van de reis voor, en \(z\) het aantal tijdszones dat daarbij overbrugd worden.

De parameters \(v\) en \(a\) worden bepaald door de vertrek- en aankomsttijden, op basis van onderstaande tabel:

  vertrektijd aankomsttijd
tijdsblok v a
8:00 en 12:00 0 4
12:00 en 18:00 1 2
18:00 en 22:00 3 0
22:00 en 01:00 4 1
01:00 en 08:00 5 3

Het tijdsblok in de eerste kolom is steeds exclusief het beginuur en inclusief het einduur. Alle tijden worden, ter vereenvoudiging enkel in uren verwerkt. Vertrek- en aankomsttijden zijn steeds aangegeven in de lokale tijd.

Opdracht

Schrijf een programma dat de waarden inleest voor \(u\), \(z\), de aankomsttijd en de vertrektijd (in die volgorde). Elke invoer komt op een afzonderlijke regel. Je mag veronderstellen dat er altijd positieve natuurlijke getallen worden ingelezen. (Alle tijden worden als gehele getallen ingegeven.)

Het programma schrijft uit hoeveel aantal dagen er nodig zijn om te herstellen van de jetlag na de vlucht (zie voorbeeld).

Voorbeeld

Je vliegt van New York Kennedy Airport naar London Heathrow. De vlucht vertrekt om 7:00 lokale tijd in New York en komt aan om 19:00 lokale tijd in Londen. In Londen is het vijf uur later dan in New York. Het totaal aan vlieguren \(u = 12 - 5 = 7\). Er worden vier tijdzones overbrugd, dus \(a=4\).

De ingelezen waarden zijn: 7 4 7 19 op aparte lijnen.

>>> main()
0.95

Uit de tabel vind je \(v=5, a=0\).

Opmerking

Je moet het hoofdprogramma toevoegen in de gegeven procedure main().

Tips

In de tabel is niet zo duidelijk wat ik met de grenzen van het interval moet doen.

Het tijdsblok in de eerste kolom is steeds exclusief het beginuur en inclusief het einduur.

Hoe kan ik de vluchttijd en het aantal tijdzones kennen dat overbrugd werd?

Deze parameters worden gewoon ingelezen, en moet je dus niet zelf berekenen.

Hoe bereken ik v en a?

Beschrijf de vijf intervallen met if-elif-else

Gebruik ik dan per interval een aparte if-else die de grenzen beschrijft?

Neen, je kan de voorwaarden beter vernestelen, zodat ze niet onafhankelijk van elkaar zijn.

Pseudocode voor de berekening van v:
    als vertrek <= 1 stel v = 4
    anders als vertrek <= 8 stel v = 5
    anders als vertrek <= 12 stel v = 0
    anders als vertrek <= 18 stel v = 1
    anders als vertrek <= 22 stel v = 3
    anders stel v = 4