Since this is a piano-related program, a brief understanding of some of the common terms used in this context is required.
In this section, we will use this figure as a reference:
The keyboard of a piano comprises a set of 12 keys (seven white and five black keys), which forms what is called a chromatic scale. This pattern of 12 keys repeats over and over again totaling up to 88 keys on a standard piano. The pattern repeats twice in the preceding image (C1 to B1 and then C2 to B2).
The distance between any two adjacent keys is called a semitone. Please take note of this term as we will define all piano-related rules using semitones—a measure of distance between keys. An interval of two semitones is called a whole tone. We will not bother with whole tones as far as our program is concerned.
The white keys of the piano are labeled by note names...