Corto 01 - 20131001 - Tongoy

Anuncio
Universidad Católica del Norte
Escuela de Ingeniería
Prueba Corta 1
Estructura de Datos y Archivos
Profesor: Eric Ross <[email protected]>
Fecha: 01 de Octubre de 2013
Nombre Alumno:
Email del Alumno:
Problema 1 (100 puntos). En el mundo de la música, las notas musicales tienen los siguientes
nombres, en orden de creciente tono: Do, Re, Mi, Fa, Sol, La, Si. Después del Si la secuencia vuelve a
partir desde Do.
Lo que no mucha gente sabe, es que entre la mayoría de dichas notas, existen notas intermedias,
llamadas "sostenidos", y se marcan poniendo un # después de la nota base. Escribiendo la escala
completa se tiene:
Do Do# Re Re# Mi Fa Fa# Sol Sol# La La# Si Do Do# Re .....
Nótese que entre el Mi y el Fa no hay un sostenido. Lo mismo pasa entre el Si y el Do.
En esta escala completa, el intervalo entre una nota y la siguiente se llama un "semitono": entre Do y
Do# hay UN semitono; entre Sol y Sol# hay UN semitono; entre Si y Do hay UN semitono.
En la música, muchas veces sucede que una composición debe "transponerse": esto significa que se
debe cambiar de tono, o sea, una secuencia de notas se debe subir o bajar una cantidad dada de
semitonos. Por ejemplo,
Secuencia original:
Do Fa Sol La Sol
Transposición de +2 semitonos: Re Sol La Si La
Transposición de -2 semitonos: La# Re# Fa Sol Fa
Su misión de hoy es crear una aplicación que a partir de una secuencia de notas, permita
transponerlas, subiendo o bajando una cantidad de semitonos. La pantalla de la aplicación debe tener
la siguiente forma:
Universidad Católica del Norte
Escuela de Ingeniería
Prueba Corta 1
Estructura de Datos y Archivos
Profesor: Eric Ross <[email protected]>
En el TextBox superior se debe permitir escribir la secuencia de notas. Esta secuencia se ingresará
separando cada nota por un espacio en blanco.
El TextBox intermedio sirve para indicar la cantidad de semitonos a transponer.
Al presionar el botón "Transponer!", la aplicación debe realizar la transposición de la secuencia de
notas original, y escribir el resultado en el TextBox inferior.
Al presionar el botón "Guardar", se debe guardar en el archivo "c:\transposicion.txt" tanto la
secuencia original, como la secuencia transpuesta, indicando la cantidad de semitonos. Por ejemplo:
Observación 1: Al ingresar las notas en la aplicación, no se debe hacer diferencias entre mayúsculas
y minúsculas: "Do" es lo mismo que "do".
Observación 2: En el archivo de salida no es necesario escribir las notas tal como fueron ingresadas,
o sea, se acepta que si se ingresó "Do", el archivo de salida diga "do".
Tips:
Dim a As String
a = "hola,como,estas"
Dim p As String()
p = a.Split(",")
MsgBox(p(0)) ' hola
MsgBox(p(1)) ' como
MsgBox(p(2)) ' estas
Dim m as String
m = a.ToUpper()
MsgBox(m) ' HOLA,COMO,ESTAS
Dim s as String
s = a.Substring(4, 6)
MsgBox(s) ' ,como,
Nota: Grabe el proyecto, comprímalo en un archivo ZIP o RAR, y suba dicho archivo a Educ@, en la sección Trabajos >
PruebaCorta1.
El sistema se cierra automáticamente. No hay entregas pasada la hora de término.
Hora de Cierre: 11.25
Descargar