Anbei ein paar (die wichtigesten) Folien von der heutigen Übung.
(more…)
Hier noch eine etwas elegantere Lösung zur Aufgabe 3e:
// save as fib.java
public class fib {
static public int fib(int n) {
int f_old = 1, f_current = 0;
for( int i = 0 ; i < n ; i++ ) {
int f_old_old = f_old;
f_old = f_current;
f_current = f_old_old + f_old;
}
return f_current;
}
static public void main( String[] args ) {
// small test
for( int i = 0 ; i < 10 ; i++ ) {
System.out.println( fib(i) );
}
}
}
[/sourcecode]
Was ist der Trick? :)
Tags: Blatt 6, Fibonacci-Folge, iterativer Ansatz
Hier zuerst einmal das Grundgerüst aus dem Übungsblatt:
import fjava.Seq; import static fjava.Seq.*; @SuppressWarnings("unchecked") public class Program { static <T> void printSeq(Seq<T> s) { System.out.print(s); } public static void main(String[] args) { printSeq(cons(1,2,3,4)); } }Ich habe auch ein paar Batch-Dateien zusammengeschrieben um das Leben leichter zu machen – zumindest für die, die auch Windows benutzen:
compile.bat führt einfach den javac-Befehl aus dem Übungsblatt aus. Zum Beispiel: compile Program.java.
run.bat führt den java-Befehl aus: run Program.startCmd.bat startet Cmd (sowas wie xterm für Windows) im Verzeichnis, in dem sich die Datei befindet – das erspart einem herumnavigieren in der Shell.
setupPath.bat kann man benutzen, wenn die Shell javac/java nicht findet. Möglicherweise muss man den Pfad in der Datei anpassen (einfach mal in Notepad öffnen und sich anschauen..).
Tags: Blatt 6