Afinant l'Arpa

En el marc del Programa Erasmus, estudiants de diversos països europeus col·laboren en projectes interdisciplinaris que combinen música i informàtica. Un dels projectes més enginyosos consisteix en una App per ajudar a afinar l’arpa.
El programa analitza els sons produïts per l’arpa i proporciona instruccions per arreglar cada corda que estigui desafinada
Les cordes de l'arpa estan etiquetades de la A a la T: A, B, . . . , T.
Cada instrucció inclou un grup de cordes, si s’han d’estrènyer o afluixar, i quantes voltes cal donar.
Malauradament, la sortida del programa no és gaire fàcil d’utilitzar. Totes les instruccions d’afinació es mostren en una sola línia. Per exemple, la línia AFB+8HC-4 conté en realitat dues instruccions d’afinació: AFB+8 i HC-4.
La primera instrucció indica que les cordes A, F i B de l’arpa s’han d’estrènyer 8 voltes, i la segona indica que les cordes H i C s’han d’afluixar 4 voltes.
La teva tasca és transformar una sola línia d’instruccions d’afinació per fer-les més fàcils de llegir, en anglés, es clar.
Entrada
Hi haurà una sola línia d’entrada que serà una seqüència d’instruccions d’afinació. Cada instrucció d’afinació serà una seqüència de lletres majúscules, seguida d’un signe més (+) o un signe menys (-), seguit d’un enter positiu.
Hi haurà almenys una instrucció i almenys una lletra per instrucció.
A més, cada lletra majúscula apareixerà com a màxim una vegada.
Sortida
Hi haurà una línia de sortida per a cada instrucció d'afinació. Cada línia de sortida constarà de tres parts, cadascuna separada per un sol espai: les lletres majúscules que fan referència a les cordes, tighten si la instrucció contenia un signe més o loose si la instrucció contenia un signe menys, i el nombre de voltes.
Exemple d'Entrada 1
AFB+8HC-4
Exemple de Sortida 1
AFB tighten 8
HC loosen 4
Explicació de l'exemple 1
L'entrada conté dues instruccions d'afinació: AFB+8 i HC-4.
Exemple d'Entrada 2
AFB+8SC-4H-2GDPE+9
Exemple de Sortida 2
AFB tighten 8
SC loosen 4
H loosen 2
GDPE tighten 9
Explicació de l'exemple 2
L'entrada conté dues instruccions d'afinació: AFB+8, SC-4, H-2, and GDPE+9.
Comentaris