In de luchtvaart krijgen luchtverkeersleiders en piloten geregeld METAR berichten, waaruit zij het weer kunnen afleiden.
METAR staat voor "Meteorological Terminal Aviation Routine Weather Report".
Voor meer uitleg over deze berichten kan je terecht op deze link1.

Dit bericht bestaat steeds uit een sequentie van elementen bestaande uit cijfers en hoofdletters.
De volgorde van deze elementen zijn steeds hetzelfde.
We beperken ons in deze oefening tot ofwel een METAR van 7 elementen bij minder goed weer, ingekort tot 5 elementen bij goed weer.

Voorbeeld bericht met 7 elementen: EBBR 150950Z 02003KT 8500  RA+ BKN038 Q1028

ElementsyntaxVertalingUitleg
EBBR Bestaat altijd uit 4 letters Brussel Zaventem Luchthaven: ICAO code
150950Z Bestaat altijd uit 6 cijfers + 'Z' aanduiding voor zulu tijd (=UTC tijd) 15de dag van de maand, 09u50 UTC Tijdstip: DDUUMMZ Staat voor dag van de maand + uur en minuut van uitgave in zulu tijd
02011KT Bestaat altijd uit 5 cijfers + 'KT' aanduiding voor knopen Wind vanuit 20° met een sterkte van 11 knopen. Wind: wordt aangeven met een richting (3 cijfers) en een sterkte in knopen (2 cijfers)
8500 Bestaat altijd uit 4 cijfers Zichtbaarheid is 8.5 km. Zichtbaarheid: de afstand van zichtbaarheid wordt aangeven in meter. Wanneer deze waarde gelijk is aan 9999, betekent dit zichtbaarheid >10km.
RA+ Bestaat altijd uit 2 letters + een optionele +/- karakter Het regent zwaar Weerfenomeen: worden beschreven met codes: "Het regent" (RA), "Het mist" (BR), "Het sneeuwt" (SN), "Het vriest" (FZ).
De optionele + of - ernaast geven zwaar of licht aan.
BKN038 Bestaat altijd uit 3 letters en 3 cijfers. met aanzienlijke wolken op 3800 voet Wolkenformaties: de eerste 3 letters geven aan weinig (FEW = few), verspreide (SCT =scattered), aanzienlijke (BKN = broken) of overtrokken (OVC = overcast).
De 3 laatste cijfers bepalen de hoogte van de wolken in honderden voet.
Q1028 Begint altijd met een Q en bestaat verder uit 4 cijfers. 1028 hectopascal QNH: luchtdruk op zeespiegelniveau in hectopascal

Voorbeeld bericht met 5 elementen: EHAM 212020Z 24007KT CAVOK Q1015

Het vierde element vervangt drie elementen uit het vorige bericht en bevat altijd de string CAVOK. Het vervangt zichtbaarheid, weerfoneem en wolken informatie wanneer die allemaal OK zijn.
CAVOK staat voor: Clouds and Visibility OK

Opdracht

Schrijf een programma dat een METAR bericht inleest, en een leesbare versie van dit bericht uitschrijft.
Je mag veronderstellen dat het formaat van het bericht correct is.

Je mag geen gebruik maken van lijsten! Dit wordt echter niet gecontroleerd door Dodona.

Voor de test zal je ook geen gebruik mogen maken van lijsten. Wees dus voor jezelf consequent!

Invoer Dodona

Het METAR bericht zoals het bij de piloten of luchtverkeersleiders toekomt

Uitvoer

Een leesbare versie van het METAR bericht in 4 zinnen: Opmerking: met [  ] wordt aangegeven dat hetgeen tussen de vierkante haakjes staat optioneel is. Bij de beschrijving van de uitvoer werd dit gebruikt in de derde zin. Met [  {Weerfenomeensterkte}] wordt aangegeven dat deze informatie optioneel is. Bekijk hiervoor grondig de voorbeelden.

Voorbeelden

Invoer Uitvoer
EBBR 150950Z 02003KT 8500 RA+ BKN038 Q1028
De meteorologische informatie voor luchthaven EBBR is:
Wind vanuit 20° met een sterkte van 3 knopen.
Zichtbaarheid is 8.5 km. Het regent zwaar, met aanzienlijke wolken op 3800 voet.
De luchtdruk bedraagt 1028 hectopascal.
EHAM 212020Z 24007KT CAVOK Q1015
De meteorologische informatie voor luchthaven EHAM is:
Wind vanuit 240° met een sterkte van 7 knopen.
Wolken en zichtbaarheid zijn OK en geen weerfenomen.
De luchtdruk bedraagt 1015 hectopascal.
EDDF 021050Z 01025KT 9999 FZ FEW045 Q1035
De meteorologische informatie voor luchthaven EDDF is:
Wind vanuit 10° met een sterkte van 25 knopen.
Zichtbaarheid is >10 km. Het vriest, met weinig wolken op 4500 voet.
De luchtdruk bedraagt 1035 hectopascal.