Kann mir jemand einen rekursiven Pseudocode in einer rekursiven Java Methode umwandeln?

5 Antworten

Pseudocode ist ein Programmcode, der nicht zur maschinellen Interpretation, sondern lediglich zur Veranschaulichung eines Paradigmas oder Algorithmus dient. Meistens ähnelt er höheren Programmiersprachen, gemischt mit natürlicher Sprache und mathematischer Notation. Mit Pseudocode kann ein Programmablauf unabhängig von zugrunde liegender Technologie beschrieben werden. Er ist damit oft kompakter und leichter verständlich als realer Programmcode.[1] Andererseits ist er formaler und damit klarer und weniger missverständlich als eine Beschreibung in natürlicher Sprache.

( https://de.wikipedia.org/wiki/Pseudocode )

Im Grunde ist Pseudocode also nichts weiter als eine "Entwufsskizzensprache", die dazu verwendet wird um einen bestimmten Ablauf ohne viel "Drumherumgelaber" für Menschen verständlich zu formulieren.

Ich möchte einfach wissen wie der Pseudocode als eine Java Methode aussieht

0
@Daki777

Solltest du eigentlich auch selber hinbekommen können, aber okay:

class FooBar{public static int func(int n){return n<=0?n:2*func(n-1)-func(n-2);}}
1
@Isendrak

FooBar hast du dir random ausgedacht oder ?

danke genau das wollte ich sehen , damit ich dieses Java besser realisieren kann

0

wenn Du etwas Vorwissen zu Java Syntax hast, sollte es eigentloch klar sein:

ein paar Schlüsselworte dazu (public/private etc.),
ein paar Typangaben (void und int),
und ein paar geschweifte Klammern, und Du kriegst das selbst raus.

Wenn nicht, dann ist Dir auch mit der Lösung nicht geholfen, und Du solltest mal ein paar Stunden in einem Java Tutorial stöbern (es gibt hunderte als Buch und im Internet).

Oder?

Pesudocode : Wird niergends kompilieren

Java : Compiliert mit einem Java Complier

->

Java ist eine fest definierte Sprache
Pseudocode ist eine lose Konvention

Ich möchte einfach wissen wie der Pseudocode als eine Java Methode aussieht

0
@Daki777

dafür wird man normalerweise bezahlt ^^ aber weil du's bist:
Angenommen n ist ein int (also eine nicht zu große Zahl ohne Komma)

//das ist ein Kommentar

/*

* Das ist ein mehrzeiliger Kommentar

*/

https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html

public int func(int n) {
/ *
* public steht für öffentlich, kann also von anderen Klassen * angesprochen werden.
* public INT bedeutet das int, dass die Methode einen return * also einen Rückgabewert haben muss!!! Das ist ein echtes
* muss!
* func(int n) bedeutet, dass die Methode einen int Wert als 
* Parameter erwartet. Wäre es fun() würde die Methode keinen 
* Parameter erwarten.
* die Methode heißt func (schlechter Name)
*/
if(n <= 2) {
return n;
}
//du kannst das else weglassen, da return IMMER! die //Methode abbricht. Man muss danach nicht weiter.
return lReturnValue = 2 * func(n-1) - func(n-2);
}
0

Was meinst Du mit "in einer Java Methode umwandeln"?

Das ganze in Java schreiben?

Oder so umwandeln, dass es ohne Rekursion auskommt?

Das geht, sobald man verstanden (und ggf. bewiesen) hat, was die rekursive Funktion liefert - ist überraschend simpel.

Woher ich das weiß:Studium / Ausbildung

Also den Pseudocode als Java Methode schreiben ohne unwandeln meinte ich

0

Das ganze in Java schreiben?

Mach' ich doch glatt - ich geb' mich aber auch mit anderen schönen Inseln zufrieden! ;)))

2
public static int func(int n) {
  if (n <= 2)
    return n;
  return 2 * func(n-1) - func(n-2);    
}
Woher ich das weiß:Studium / Ausbildung

Was möchtest Du wissen?