|
|
|
|
Brauch ich jetzt 2 Methoden oder nur 1.
Mein Plan wäre so :
1 Methode , Eingabe annehmen ( Zahl ), Wenn Eingabe nicht 1 oder 2 ->neuen Prozess erzeugen,
Programm beenden mit return value System.exit((a-1)+(a-2));
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von b4ckspin am 08.04.2013 21:56]
|
|
|
|
|
|
die main reicht
du musst zwei Prozesse erzeugen, für a-1 und a-2
|
|
|
|
|
|
|
Hm, da steht so viel Mathematica im Titel. Ich schaus mir dennoch mal an.
| Zitat von Wraith of Seth
3. Such mal nach Quantum Field Theory Demystified - das ist imho die lesbarste und einfachste Einführung in QFT, die ich bisher in den Händen gehabt habe. | |
Danke. Scheint laut Rezensionen anfängergeeignet zu sein. Mit 15 Euro auch erstaunlich billig. Unsere Bib hat das leider nur als online-ebook:
Ist der von dir erwähnte Quantum Field Theory in a Nutshell von Zee ähnlich empfehlenswert? Den gibt es hier nämlich in erschlagender Stückzahl, sonst kauf ich mir einfach das Demystified-Buch.
|
|
|
|
|
|
|
Zum Verständnis was:
Das Programm macht neue Prozesse die das Programm mit den Exit Values starten ?
|
|
|
|
|
|
|
| Zitat von b4ckspin
Das Programm macht neue Prozesse
| |
ja
| Zitat von b4ckspin
die das Programm mit den Exit Values starten ?
| |
äh, was?
die neuen Prozesse geben einen Exitvalue zurück, die der aufrufende Prozess dann weiterverarbeitet (addiert und selbst als Exitvalue weitergibt)
|
|
|
|
|
|
|
| Zitat von Redh3ad
Tipp für b4ckspin: das Programm darf keine rekursiven Aufrufe enthalten
| | Natürlich. Um die Prozesse zu starten.
|
|
|
|
|
|
|
Funktionsaufrufe
|
|
|
|
|
|
|
Mir ist das klar, aber der arme b4ckspin ist immer noch vollkommen verwirrt.
|
|
|
|
|
|
|
kann man so sagen
|
|
|
|
|
|
|
Wie weit bist du denn momentan?
|
|
|
|
|
|
|
soweit das ich heute nix mehr mache . ich checks grad nicht :/
Process p = Runtime.getRuntime().exec("java P1");
System.exit(a-1);
dachte prozess erzeugen und diesen dann mit der a-1 beenden
aber ka :/
|
|
|
|
|
|
|
Ein Programm ist ein Rezept. In deinem Fall willst du dem Programm sagen, wie oft es rühren soll um Fibomacci Kuchen zu erzeugen. Was du aber momentan wirklich machst ist: Hey Programm, rühr mal. Ach ne, ich habe mich um entschieden, ich beende mich mal. Behalte deinen Kuchen, ich sag einfach dem nächsten wie oft du hättest rühren sollen.
In other words: no cake for you!
|
|
|
|
|
|
|
| Zitat von Swarley
Hm, da steht so viel Mathematica im Titel. Ich schaus mir dennoch mal an.
| Zitat von Wraith of Seth
3. Such mal nach Quantum Field Theory Demystified - das ist imho die lesbarste und einfachste Einführung in QFT, die ich bisher in den Händen gehabt habe. | |
Danke. Scheint laut Rezensionen anfängergeeignet zu sein. Mit 15 Euro auch erstaunlich billig. Unsere Bib hat das leider nur als online-ebook:
http://www.abload.de/image.php?img=qft_demystified9ns7m.png
Ist der von dir erwähnte Quantum Field Theory in a Nutshell von Zee ähnlich empfehlenswert? Den gibt es hier nämlich in erschlagender Stückzahl, sonst kauf ich mir einfach das Demystified-Buch.
| |
Der Zee ist verhältnismäßig viel "Laberei", aber dafür macht er auch nicht wie der PS auf "hier findet ihr alles - nein, doch nicht! ". Aber er liest sich recht süffig. Leider hatte ich bisher weder die Gelegenheit, den Ryder oder den Zee in Gänze zu lesen. Daher bleibt mir nur eine ungefähre Angabe. Den PS habe ich komplett gelesen, und ich bereue es fast - sinnvoll nebenbei damit arbeiten geht fast nicht. Das Demystified habe ich mir gekauft (genau wie ich davon auch das Relativity gut empfehlen kann), und bereue es nicht. Gerade um die Grundlagen zu lernen, ist es ideal: Feynmanregeln ablesen, nutzen, Wirkungsquerschnitte ausrechnen, wenig Ablenkung (d.h. die vielen formalen Caveats werden meist nicht mal erwähnt - vielleicht nicht immer sinnvoll, aber für Anfänger sehr erfreulich). Danach wirst du zumindest ein Gefühl dafür haben, was QFT tut. Nach dem PS hatte ich das Gefühl, viele wilde Formeln gesehen zu haben, aber keine Ahnung zu haben, was das sollte. Sicher, Feynmangraphen ausrechnen lernt man damit auch, aber bei weitem nicht so "locker flockig".
I for one would like to hear what this blood-spattered young lady has to say!
|
|
|
|
|
|
|
| Zitat von b4ckspin
soweit das ich heute nix mehr mache . ich checks grad nicht :/
Process p = Runtime.getRuntime().exec("java P1");
System.exit(a-1);
dachte prozess erzeugen und diesen dann mit der a-1 beenden
aber ka :/
| |
ohje...
das Programm muss die Zahl a aus den Commandline-Parametern einlesen (das ist das String[] args von der Methode main)
wenn a=0 oder a=1 ist, kannst du gleich mit System.exit(a) den Prozess beenden
andernfalls startest du zwei weitere Prozesse für a-1 und a-2 (Parameter!), holst dir den Exitvalue von beiden und beendest den eigenen Prozess mit der Summe der beiden Werte
wenn du einen weiteren Prozess startest, musst du dem auch einen Parameter mitgeben (als String, einfach mit Leerzeichen hinter "java P1")
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Redh3ad am 08.04.2013 23:42]
|
|
|
|
|
|
Ist das hier ein Tutorial möglichst ineffizient zu programmieren?
|
|
|
|
|
|
|
angeblich geht seine Vorlesung über was anderes...
|
|
|
|
|
|
|
Nein, aber:
| Zitat von b4ckspin
Das ist ein Auszug der Angabe :
der Aufruf java P1 2 erzeugt weitere Prozesse via java P1 1 und java P1 0.
Das Berechnungsergebnis wird über den exit status an den aufrufenden Prozess übergeben.
| |
| Zitat von b4ckspin
Ja Übungsaufgabe für Betriebssysteme .. komisches Zeug
| |
|
|
|
|
|
|
|
| Zitat von Kambfhase
Ein Programm ist ein Rezept. In deinem Fall willst du dem Programm sagen, wie oft es rühren soll um Fibomacci Kuchen zu erzeugen. Was du aber momentan wirklich machst ist: Hey Programm, rühr mal. Ach ne, ich habe mich um entschieden, ich beende mich mal. Behalte deinen Kuchen, ich sag einfach dem nächsten wie oft du hättest rühren sollen.
In other words: no cake for you!
| |
Du hast echt ein Talent, Sachen noch komplizierter zu machen.
|
|
|
|
|
|
|
| Zitat von Rufus
| Zitat von Kambfhase
Ein Programm ist ein Rezept. In deinem Fall willst du dem Programm sagen, wie oft es rühren soll um Fibomacci Kuchen zu erzeugen. Was du aber momentan wirklich machst ist: Hey Programm, rühr mal. Ach ne, ich habe mich um entschieden, ich beende mich mal. Behalte deinen Kuchen, ich sag einfach dem nächsten wie oft du hättest rühren sollen.
In other words: no cake for you!
| | Du hast echt ein Talent, Sachen noch komplizierter zu machen.
| | Er sollte Mathematiker werden, das scheint da wichtig zu sein.
"Hey, wir haben hier etwas total anschauliches. Lass es uns mit irgendwelchen unintuitiven Zeichen unverständlich machen und behaupten, dass der große Vorteil die Beweisbarkeit sei. Das machen wir, indem wir noch mehr obskure Zeichen irgendwie hintereinanderreihen und ein kleines Dreieck darunter malen!"
"Und wenn das jemand herausfindet und alles auffliegt?"
"Dann sagen wir einfach, dass es nichtoffensichtlicher weise trivial sei! Und nun komm, wir müssen uns auf morgen Abend vorbereiten..."
"Wieso,was wollen wir denn morgen Abend machen?"
"Genau dasselbe was wir jeden Abend machen, Pinky. Wir versuchen, die Weltherrschaft an uns zu reißen."
:-/
|
|
|
|
|
|
|
Ich lese ja, dass es eine Übungsaufgabe ist, aber ich frage mich ernsthaft, was zum Teufel man dabei lernen soll
|
|
|
|
|
|
|
| Zitat von cms
"Wir versuchen, unsere Weltherrschaft zu beweisen."
| |
fixed
|
|
|
|
|
|
|
| Zitat von Rufus
| Zitat von cms
"Wir versuchen, unsere Weltherrschaft zu beweisen."
| | fixed
| | ‣
|
|
|
|
|
|
|
| Zitat von Rufus
| Zitat von Kambfhase
Ein Programm ist ein Rezept. In deinem Fall willst du dem Programm sagen, wie oft es rühren soll um Fibomacci Kuchen zu erzeugen. Was du aber momentan wirklich machst ist: Hey Programm, rühr mal. Ach ne, ich habe mich um entschieden, ich beende mich mal. Behalte deinen Kuchen, ich sag einfach dem nächsten wie oft du hättest rühren sollen.
In other words: no cake for you!
| |
Du hast echt ein Talent, Sachen noch komplizierter zu machen.
| |
Die Programm <-> Rezept Analogie finde ich eigentlich ganz gut.
Mathematiker werde ich nicht. Höchstens theoretischer Informatiker.
|
|
|
|
|
|
|
|
Code: |
int a = Integer.parseInt(args[0]);
if(a == 1 || a == 2){
System.exit(1);
}
|
|
stimmt das?
neuen Prozess damit ?
|
Code: |
Process p = Runtime.getRuntime().exec("java P1 a-1"); |
|
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von b4ckspin am 09.04.2013 9:47]
|
|
|
|
|
|
Wärmer.
Jetzt denke nochmal drüber nach, ob du dein Programm mit dem Parameter "a-1" oder lieber dem Wert von a-1 aufrufen willst.
// ist arg[0] nicht üblicherweise das Programm? Oder macht Java da was anderes?
|
|
|
|
|
|
|
|
Code: |
Process p = Runtime.getRuntime().exec("java P1 "+a-1); |
|
?
|
|
|
|
|
|
|
| Zitat von Kambfhase
Wärmer.
Jetzt denke nochmal drüber nach, ob du dein Programm mit dem Parameter "a-1" oder lieber dem Wert von a-1 aufrufen willst.
// ist arg[0] nicht üblicherweise das Programm? Oder macht Java da was anderes?
| |
Nein, ich meine Java fängt da direkt mit den Parametern an - bei null.
|
|
|
|
|
|
|
|
Code: |
Process p = Runtime.getRuntime().exec("java P1 "+(a-1));
int exitcode = p.waitFor();
System.out.println("exit code1 "+exitcode);
|
|
..
Was ich noch nicht richtig checke ist wenn ich jetzt System.exit(..) mache, welcher Prozess wird beendet?
Der gerade erstellte p oder das gesamte Programm?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von b4ckspin am 09.04.2013 10:45]
|
|
|
|
|
|
Programm = die kompilierte(n) Datei(en)
Prozess = eine gestartete Instanz eines Programms
System.exit() beendet den Prozess, in dem es aufgerufen wird. Die anderen Prozesse sind unabhängig und du musst darauf warten, dass sie sich selbst beenden (waitFor).
Übrigens ist laut Wikipedia die Fibonaccifolge auch für 0 definiert.
|
|
|
|
|
|
|
das mit der 0 hab ich eingebaut
Wenn ich folgendes mache :
|
Code: |
Process p = Runtime.getRuntime().exec("java P1 "+(a-1));
int exitcode = p.waitFor();
System.out.println("exit code1 "+exitcode);
System.exit(a);
Process p2 = Runtime.getRuntime().exec("java P1 "+(a-2));
int exitcode2 = p.waitFor();
System.out.println("exit code2 "+exitcode2);
System.exit(a);
|
|
bekomme ich nur die code1 Ausgabe.. Glaub bin noch verwirrt mit dem System.exit()
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von b4ckspin am 09.04.2013 10:51]
|
|
|
|
|
Thema: pOT-lnformatik, Mathematik, Physik XIII ( Completely Automated Public User Test To tell PIMP ) |