Gyakorlati alapok

Kezdő és haladó skálavariációk szétválasztása

 

Az előző, A Pénzes-féle bináris skálakatalógus című fejezetben felvázoltak zeneelméleti szempontból éppúgy érvényesek a jelen fejezet megértési körülményeire:

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

A fejezetben foglaltak középszintű, sőt a Pénzes-féle szólótechnikai módszertan jól ismerő zeneelméleti ismereteket igényelnek; nélkülük az alábbi modellezés nem lesz megérthető. A Pénzes-féle szólótechnikai módszertant azért hangsúlyoztam ki, mert csakis nálam találhatók úgynevezett matematikai skálavariációk,  amelyek alapja szintén egyszerű kombinatorikai számítások, modellezésük pedig számokkal történik.

 

Ebből következően, bárminemű további magyarázat nélkül idemásolom az egyik lehetséges végeredményt, 3 hang 3 hangmagasságon történő skálavariációs listát, amelyben a kezdő és a haladó szint el van választva egymástól. A kód tömblista  formájában (Tömblista (arraylist) című fejezet) haladó Java-komponenst is tartalmaz!

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 


import java.util.ArrayList;

public class Main {
public static void main(String[] args) {
ArrayList<String> kezdo = new ArrayList<String>();
ArrayList<String> halado = new ArrayList<String>();
int countKezdo = 1;
int countHalado = 1;
for (int i = 0; i <= 2; i++){
String string_i = Integer.toString(i);
    for (int j = 0; j <= 2; j++){
        String string_j = Integer.toString(j);
        for (int k = 0; k <= 2; k++){
            String string_k = Integer.toString(k);
            String scaleVariaton = string_i + string_j + string_k;
                if (scaleVariaton.contains("0")){
                    if((i > k) || scaleVariaton.contains("2")) {
                        halado.add(scaleVariaton);
                    }
                else
                    kezdo.add(scaleVariaton);;
                }
            }
        }
    }

    System.out.println("Kezdő SV:");

    for(int i = 0; i < kezdo.size(); i++) {
        System.out.println(countKezdo + ". - " + kezdo.get(i) + "");
        countKezdo++;
    }

    System.out.println();
    System.out.println("Haladó SV:");

    for(int i = 0; i < halado.size(); i++) {
        System.out.println(countHalado + ". - " + halado.get(i) + "");
        countHalado++;
        }
    }
}
 

Végeredmény:

Kezdő SV:
1. - 000
2. - 001
3. - 010
4. - 011
5. - 101

Haladó SV:
1. - 002
2. - 012
3. - 020
4. - 021
5. - 022
6. - 100
7. - 102
8. - 110
9. - 120
10. - 200
11. - 201
12. - 202
13. - 210
14. - 220
 

A téma iránt érdeklődők a jelen fejezet zeneelméleti körülményeit a következő fejezetekben olvashatják el:

 

A kezdő és haladó skálavariációk szétválasztása és algoritmizálása