HB - Školsko (2020)
Školsko natjecanje 2020. godine za 1. i 2. razred Srednje Škole - 1. zadatak
U domaćoj glazbenoj praksi, idući su tonovi označeni po jednim slovom: C, D, E, F, G, A, B, H.
Pritom B možemo označiti i kao A#, što znači A povišeni. Između nekih od ovih tonova postoje međutonovi koje označavamo kao C# (ili Db, što znači D sniženi), D# (ili Eb), F# (ili Gb) i G# (ili Ab).
Ove su oznake u skladu s njemačkom notacijom koja se koristi u još nekim europskim zemljama. Međutim, u međunarodnoj notaciji (primjerice u državama engleskog govornog područja) postoji razlika u oznakama dvaju tonova. Naš ton H odgovara međunarodnom B, dok naš B odgovara međunarodnom A# (ili Bb). Razlika je precizno ilustrirana u donjoj tablici koja za svaki od dvanaest tonova oktave prikazuje englesku i njemačku oznaku (ili dvije moguće oznake) za taj ton.1
Napišite program koji niz tonova pretvara iz "engleske" u "njemačku" notaciju ili obrnuto. Preciznije, program treba prepoznati o kojoj je notaciji riječ te ispisati niz u onoj drugoj notaciji. Ako nije moguće jednoznačno odrediti o kojoj je notaciji riječ, pretpostavite da je riječ o njemačkoj notaciji (koju treba pretvoriti u englesku). U slučaju više mogućih oznaka za isti ton, treba ispisati oznaku s povisilicom (znakom #) čak i ako je u ulaznom nizu (na istome mjestu) zadana oznaka sa snizilicom (znakom b).
ULAZNI PODACI
U prvom je retku neprazan niz od najviše 20 tonova. Niz je ispravan, tj. sadrži tonove koji svi pripadaju jednom od redaka gornje tablice. Tonovi nisu odvojeni razmacima!
IZLAZNI PODACI
U jedini redak ispišite traženi niz tonova.
PRIMJERI TEST PODATAKA
ulaz
Gb
izlaz
F#
ulaz
ABHC
izlaz
AA#BC
ulaz
DDbD#DBbBAb
izlaz
DC#D#DA#HG#
Objašnjenje: dajući prednost oznakama s povisilicom, u prvom i drugom primjeru pretvaramo iz njemačke u englesku notaciju, a u trećem iz engleske u njemačku.
1 - Za potrebe ovog zadatka držimo se notacija iz tablice, iako su u nekim kontekstima mogući i zapisi poput E# ili Fb ili B#.
Comments