Gitara
Županijsko natjecanje iz informatike 2017. / Srednja škola / Prva podskupina (1. i 2. razred) - 1. zadatak
Tablatura je način zapisivanja glazbe koji opisuje redoslijed i način trzanja žica na gitari.
Žicu na gitari je moguće trznuti ili uz stiskanje jednog od 19 polja na vratu gitare (označenih brojevima od 1 do 19) ili bez stiskanja polja.
Dakle, određenu žicu možemo trznuti na 20 načina i tako proizvesti 20 različitih tonova.
Tonove označavamo na sljedeći način: kromatska ljestvica se sastoji od oktava redom označenih prirodnim brojevima od jedan na dalje.
Jedna oktava se sastoji od točno dvanaest tonova označenih redom sa nizovima znakova: C, C#, D, D#, E, F, F#, G, G#, A, A#, H, a nakon svakog od tih nizova obavezno pišemo redni broj oktave.
Dakle “C1”, “D#1” i “H5” su oznake tonova.
Svaki ton u oktavi je za jedan polustupanj viši od prethodnog, a prvi ton oktave je za jedan polustupanj viši od zadnjeg tona prethodne oktave.
Pa je tako, primjerice, “D#1” za tri polustupnja viši od “C1” dok je “C6” za jedan polustupanj viši od “H5”.
Osnovni ton žice je ton koji dobijemo kada žicu trznemo bez stiskanja polja, a gitara je napravljena tako da ako žicu trznemo uz stiskanje polja k onda dobijemo ton koji je za točno k polustupnja viši od osnovnog tona žice.
Naša gitara se sastoji od 6 žica označenih brojevima od 1 do 6, čiji su osnovni tonovi redom “E4”, “H3”, “G3”, “D3”, “A2”, “E2”. Na primjer, trazanjem žice 5 uz stiskanje polja 4 dobijemo ton “C#3”.
Pretpostavimo da opisujemo glazbeno djelo duljine n taktova (takt je jedinična mjera vremena) označenih brojevima od 1 do n. Tablatura tog djela je tablica znakova koje se sastoji od 6 redaka i n stupaca.
Ukoliko je u i-tom taktu potrebno trznuti j-tu žicu onda u i-ti znak u j-tom retku tablature zapisujemo:
- Znamenku “0” ukoliko se ne stiska polje prilikom trzanja.
- Broj k ukoliko se stiska polje k prilikom trzanja.
Ukoliko je k dvoznamenkasti broj, prva znamenka se upisuje u i-ti znak, a druga u sljedeći znak u j-tom retku (dakle, druga znamenka se upisuje u stupac koji zapravo pripada taktu i + 1).
Ukoliko u određeno mjesto u tablici nismo upisali znamenku onda tamo zapisujemo znak “-” (minus).
Prilikom zapisa tablature, prije prvog i nakon zadnjeg stupca dodajemo stupac sastavljen od znakova “|”.
Za zadanu tablaturu, odredite niz tonova koji se odsvira prilikom izvođenja glazbenoga djela redom od početka do kraja.
Naše djelo je jednostavno pa možete pretpostaviti da se u svakom taktu odsvira najviše jedan ton.
Dodatno možete pretpostaviti da na svakoj pojedinoj žici, nakon što se odsvira ton u nekom taktu, dolaze još barem dva takta u kojima se ništa ne svira na toj žici.
Stoga se oznake polja u tablaturi koje pripadaju različitim trzajima iste žice ne preklapaju niti dotiču.
Ulazni podaci
Ulaz se sastoji od šest redova jednake duljine. U j-tom redu se nalazi j-ti redak tablature zajedno s graničnim znakovima.
Prvi i zadnji znak svakog retka je “|” (vertikalna crta, ASCII 124), dok je svaki ostali znak ili znamenka ili znak “-” (minus).
Djelo se sastoji od najviše 100 taktova (n ≤ 100), što znači da je svaki red ulaza duljine najviše 102 znaka.
Možete pretpostaviti da djelo sadrži najmanje jedan ton.
Izlazni podaci
Ispišite m redova gdje je m ukupan broj tonova u djelu.
U k-ti red ispišite oznaku k-tog po redu tona koji se odsvira prilikom izvođenja djela.
Oznaka tona se sastoji od velikog slova, nakon kojeg kod nekih tonova dolazi znak “#” (ASCII 35), te prirodnog broja.
Između elemenata oznake jednog tona ne dolaze razmaci.
PRIMJERI TEST PODATAKA
Ulaz
|---|
|0--|
|---|
|---|
|---|
|---|
Izlaz
H3
Ulaz
|---0--------|
|--0--0------|
|-0----0-----|
|-------0----|
|--------0---|
|0--------0--|
Izlaz
E2
G3
H3
E4
H3
G3
D3
A2
E2
Ulaz
|-8--6----------9---|
|--9--5-------------|
|---8--4--3---------|
|----------2--------|
|-----------1--9----|
|------------1------|
Izlaz
C5
G#4
D#4
A#4
E4
H3
A#3
E3
A#2
F2
F#3
C#5
Ulaz
|-----5--------10-|
|----15-------11--|
|---16------10----|
|--17--19-17------|
|-18-------11-----|
|19---------------|
Izlaz
H3
D#4
G4
H4
D5
A4
A4
G4
G#3
F4
A#4
D5
Comments