Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.85 KB | None | 0 0
  1. function lineup(lijst) {
  2. let output = [];
  3. let kleuren = [];
  4. for (let element of lijst) {
  5. if (output.length !== 0) {
  6. let i = 0;
  7. while(kleuren[i] === "R"){
  8. i += 1;
  9. }
  10. output.splice(i, 0, element["naam"]);
  11. kleuren.splice(i, 0, element["kleur"]);
  12. } else {
  13. output.push(element["naam"]);
  14. kleuren.push(element["kleur"]);
  15. }
  16. }
  17. return output;
  18. }
  19.  
  20. ############################
  21.  
  22. var nootjes = ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"];
  23.  
  24. function ontleding(chars) {
  25. let i = chars[1] !== "#" ? 1 : 2
  26. let begin = chars.substring(0,i);
  27. let einde = chars.substring(i);
  28. output = {
  29. "grondnoot": begin,
  30. "symbool": einde
  31. };
  32. return output;
  33. }
  34.  
  35. function noten(noot, interval) {
  36. let output = [];
  37. for (let i of interval) {
  38. output.push(nootjes[(i + nootjes.indexOf(noot)) % 12]);
  39. }
  40. return output
  41. }
  42.  
  43. function akkoord(noot, akkoordtypes, akkoordsymbolen) {
  44. let grondnoot = ontleding(noot)["grondnoot"];
  45. let symbool = ontleding(noot)["symbool"];
  46. let type = akkoordsymbolen[symbool];
  47. let interval = akkoordtypes[type];
  48. return noten(grondnoot, interval);
  49. }
  50.  
  51. #####################
  52.  
  53.  
  54. function naomees(str) {
  55. let regex = /^(ba|di|du).*\1$/;
  56. let regexoutput = /^(ba|di|du|)$/;
  57. let test = str;
  58. while(regex.test(test)) {
  59. test = test.substring(2, test.length - 2);
  60. }
  61. return regexoutput.test(test);
  62. }
  63.  
  64.  
  65. #####################
  66.  
  67.  
  68.  
  69. function winst(lijst, sales) {
  70. let regex = /^((-*K-*V-*)*|-+)$/;
  71. let winst = 0
  72. if (regex.test(sales)) {
  73. while(sales.includes("K")) {
  74. let k = sales.indexOf("K");
  75. let v = sales.indexOf("V");
  76. teller = v
  77. winst += lijst[v] - lijst[k]
  78. sales = sales.substring(v+1);
  79. lijst = lijst.slice(v+1)
  80. }
  81. } else {
  82. throw {
  83. name: "AssertionError",
  84. message: "ongeldige acties"
  85. };
  86. }
  87. return winst;
  88. }
  89.  
  90. function maximaleWinst(lijst) {
  91. let p1 = 0
  92. let p2 = -lijst[0]
  93. for (let i = 1; i < lijst.length; i += 1) {
  94. let tussenp1 = p1
  95. p1 = Math.max(tussenp1, p2 + lijst[i]);
  96. p2 = Math.max(p2, tussenp1 - lijst[i]);
  97. }
  98. return p1;
  99. }
  100.  
  101.  
  102.  
  103. ########################
  104.  
  105.  
  106.  
  107. function dwarsdoorsnede(rijen, richtingen) {
  108. if ((richtingen.length/2 % rijen) === 0) {
  109. let output = [];
  110. let kolom = richtingen.length/rijen;
  111. for(let i = 0; i < rijen*kolom; i += kolom) {
  112. let string = richtingen.substring(i, kolom+i);
  113. let lijst = [];
  114. for(let i = 0; i < string.length; i += 2) {
  115. lijst.push(string.substring(i, i+2));
  116. }
  117. output.push(lijst);
  118. }
  119. return output;
  120. } else {
  121. throw {
  122. name: "AssertionError",
  123. message: "ongeldige dwarsdoorsnede"
  124. };
  125. }
  126. }
  127.  
  128. function diepte(grot){
  129. let veranderCoords = {
  130. "N": [-1, 0],
  131. "O": [0, 1],
  132. "Z": [1, 0],
  133. "W": [0, -1]
  134. };
  135. let veranderInkom = {
  136. "N": "Z",
  137. "O": "W",
  138. "Z": "N",
  139. "W": "O"
  140. };
  141. let rijen = grot.length;
  142. let kolommen = grot[0].length;
  143. let rij = 0;
  144. let kolom = 0;
  145. let aantal = 0;
  146. let inkom = "N";
  147. while((0 <= rij && rij < rijen) && (0 <= kolom && kolom < kolommen) && (grot[rij][kolom].includes(inkom))) {
  148. let richtingen = grot[rij][kolom];
  149. let uitkom = richtingen.replace(inkom, "");
  150. rij += veranderCoords[uitkom][0];
  151. kolom += veranderCoords[uitkom][1];
  152. inkom = veranderInkom[uitkom];
  153. aantal += 1;
  154. }
  155. return aantal;
  156. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement