Einführung in das Programmieren mit der Sprache Common Lisp
1. Semester (2 semestrig)
Donnerstags 18-20 c.t.
(length 10 rhythm 1 dur .2 amplitude .5 frequency 440)
(setf frequency (pitch (nth count a)))
(incf rhythm .1))
(length 10 rhythm 1 dur .2 amplitude .5 frequency 440)
(incf rhythm .1)
(setf frequency (item (items 220 440 880 1320))))
30.5 - count in Common Music, mod in Lisp,
Benutzung von Lisp
Funktionen in Common Music.
13.6. rekursive Funktionen innerhalb musikalischer Strukturen
20.6. Pattern permutation mit rekursiven Programmstrukturen
(test 3 5) -> (Das Quadrat des kleineren Wertes ist 9)
(test 2 4 6) -> 1
(test 3 5) -> 2
13.2. Schreibe die Syntax aller bisher durchgenommenen Funktionen auf einen Zettel. Danach gebe Beispiele der Anwendung der Funktionen. (defun, if, cond, and, or, step, oddp, cons, numberp, zerop, symbolp, print, list, first, second, ... tenth,)
Das Ausgangsmaterial ist '(c4 h3 c4 g3 as3 c4 h3 c4 d4 g3): Welches ist der hoechste Ton, welches ist der tiefste Ton, sind Toene doppelt. Welche Intervalle gibt es, welche Intervalle sind absteigend ....
17.4 lese Kapitel 6.1-6.5
25.4. Alle bisher gelernten Funktionen muessen gelernt werden.
Bitte lese die Lisp Tutorials in:
file:/usr/local/lib/cm/doc/contrib/lispintro.html
file:/usr/local/lib/cm/doc/contrib/lispstyle.html
Suche Dir 3 Aufgabe aus Kapitel 6aus, in denen ein Programm erstellt werden soll und versuche die Aufgabe zu realisieren.
16.5. A) Lese Kapitel 6 bis zum Ende
B) Schreibe eine Reihenkonstruktion auf die auf die neuen Funktionen zur Veränderung der Reihe zugreift und eine musikalische Strategie zur Veränderung des Materials verfolgt.
C) Entwerfe den Programmcode für eine der Funktionen remove, member, intersetction, union, set-difference mithilfe von if, car cdr usw. Falls Bereiche dieser Aufgabe unklar sind, formuliere diese verbal.
22.5. Erzeuge mindestens 3 Soundfile mit Daten, die durch eine Funktion mithilfe von Listenoperationen modifiziert sind.
30.5. Schreibe 3 kurze musikalische Strukturen mit 4 Elementen und unterschiedlichen Listen Manipulationen.
6.6. Schreibe 3 algorithmen mit jeweil
1. einem sich erneuernten Funktionsaufruf
2. mit einem "count" walking durch eine Liste
3. mit rekursivem Aufruf einer Funktion
13.6. schreibe einen Algorithmus mit rekursivem Listenafruf
informiere Dich ueber Rekursionen.
20.6. modifiziere das im Unterricht entwickelte Beispiel auf eine Pattern
permutation mit Reihenfolgenveraenderungen.
14.1. Löse Aufgabe 7.10 f und g
4.2. Schreibe unter Benutzung der in der Aufgabe 7.10 entwickelten Programme ein Programmset, das eine Liste mit Notennamen und eine Liste mit Transpositionsfaktoren als Argumente nimmt und als Output Frequenzen oder Tonnummern mit Transpositionen ausgibt, wobei jeweils ein Element der Notenliste durch ein Element der Notenliste transponiert wird. Weiterhin soll das Programm als Input die Anzahl der zu erzeugenden Elemente annehmen.
(transpo (a c e g f) (2 4 3 5 6 7) 20)