Wie kann ich Punkt 3 und Punkt 4 in einer Funktion in Python implementieren?

In der Aufgabe steht:

Schreiben Sie ein Programm mit den folgenden Funktionen:

  • umfangKreis(radius)

Berechnen des Umfangs eines Kreises.

  • flaecheKreis(radius)

Berechnen des Flächeninhalts eines Kreises.

  • umfangKreis(radius)

Berechnen der Summe aller Umfänge einer Menge von Kreisen.

  • flaecheKreis(radius)

Berechnen der Summe aller Flächeninhalte einer Menge von Kreisen.

Rufen Sie in den Funktionen für eine Menge von Kreisen die bereits implementierten Methoden für das Berechnen des Umfangs und der Fläche der einzelnen Kreise auf. Auf diesem Weg sparen Sie sich die abermalige Implementierung der benötigten Formeln. Kopieren Sie das erstellte Programm mit den Funktionen in einem neuen Ordner. Testen Sie alle Funktionen an geeigneten Testbeispielen in einem separaten Programm. Beachten Sie hierzu den Hinweis für den Suchpfad von Python.

Ich habe das Ganze jetzt erstmal so gelöst, dass ich zwei Programme in einem Ordner gespeichert habe, also einmal definition.py, wo ich die die Formeln für Umfang und Flächeninhalt eines Kreises definiere, und einmal main.py, wohin ich für Punkt 3 und 4 hin exportieren möchte. Allerdings verstehe ich nicht so ganz, was mit der Menge von Kreisen gemeint ist. Wie könnte ich hier weiter fortfahren?

Computer, Schule, Mathematik, Technik, IT, programmieren, Kreis, Gleichungen, Informatik, Python, Technologie, Universität, kreisberechnung, Python 3
Labyrinth Rekursiv durchsuchen Performance?

Ich bin dabei ein Labyrinth Rekursiv zu durchsuchen. Klappt auch bei kleinen Labyrinthen.

Code ist folgender, sollte eigentlich selbsterklärend sein denk ich. Problem ist nun folgendes. Der Professor hat viele JUnit Tests geschrieben und bei großen Labyrinthen dauert es zu lang (4s) und bricht daher ab. Wie schreibe ich den Code Performanter? Oder hab ich einen Denkfehler im Code?

Sprache natürlich Java

Ich kann nicht ausschließen, dass die Tests nicht dazu da sind zu erkennen wie performant der Code generell ist. Heißt, dass man guckt wie viele Tests er schafft um zu wissen welche Performance klasse man so etwa hat.

Stack<Coordinate> shortestPath;

private void recursivelyDiscoveryMaze(int x, int y, int depth, Stack<Coordinate> currentPath) {
    //this.maze.prettyPrint();
    currentPath.push(new Coordinate(x, y));
    if (dX == x && dY == y) {
        if (shortestPath.size() > currentPath.size() || shortestPath.size() == 0) {
            shortestPath = (Stack<Coordinate>) currentPath.clone();
        }
        currentPath.pop();
        return;
    }

    this.maze.getMazeField()[x][y] = 1; //set visited
    depth++;
    if (isValidStep(x + 1, y)) //if can be visited
        recursivelyDiscoveryMaze(x + 1, y, depth, currentPath);
    if (isValidStep(x, y + 1))
        recursivelyDiscoveryMaze(x, y + 1, depth, currentPath);
    if (isValidStep(x - 1, y))
        recursivelyDiscoveryMaze(x - 1, y, depth, currentPath);
    if (isValidStep(x, y - 1))
        recursivelyDiscoveryMaze(x, y - 1, depth, currentPath);
    depth--;
    this.maze.getMazeField()[x][y] = 0; //set unvisited 
    currentPath.pop();
}
Computer, Mathematik, programmieren, Java, Informatik, labyrinth, Rekursion

Meistgelesene Beiträge zum Thema Mathematik