Přejít k hlavnímu obsahu
SŠMG
  • Titulní stránka
  • Další
Momentálně na stránky přistupujete s právy hosta.
Přihlášení
Titulní stránka
  1. PVA 2.I - 1 - 2023/2024
  2. Magický čtverec

Magický čtverec

Požadavky na absolvování
Termín: Neděle, 5. listopadu 2023, 23.59

Magický čtverecMagický čtverec je matematická struktura, která obsahuje celá čísla uspořádaná v čtvercové matici tak, že součet čísel v každém řádku, každém sloupci a obou hlavních diagonálách je stejný. Základní magický čtverec má rozměry 3 x 3 a součet, který se označuje jako magická konstanta, je 15.

Magické čtverce s posloupností (15 a 72)

Zadání úlohy

Implementujte třídu MagicalSquare obsahující dvě statické metody pro práci s magickými čtverci:

  1. generateMagicSquare(int n): int[][]: Metoda generuje magický čtverec o rozměru 3 x 3. Číslo n reprezentuje magickou konstantu, která musí být větší nebo rovna 15 a dělitelná třemi. V případě neplatného vstupu metoda vyhodí výjimku IllegalArgumentException. Magický čtverec musí obsahovat čísla tak, aby součet v každém řádku, sloupci a obou diagonálách byl stejný. Funkce vrátí 2D pole obsahující magický čtverec.

  2. printMagicSquare(int[][] magicSquare): Metoda přijímá magický čtverec ve formě 2D pole a vypisuje jej na standardní výstup. Čísla v řádcích musí být oddělena znakem odřádkováním (lze použít speciální znakovou sekvenci pro nový řádek v textovém řetězci '\r\n').


Hodnocení

Úloha je hodnocena pomocí testů. Za každý úspěšně projitý test získá student 1 bod. Celkem je k dispozici 7 testů. Známka se uděluje na základě celkového počtu úspěšně splněných testů:

  • 0 až 3 úspěšné testy: Známka 5
  • 4 úspěšné testy: Známka 4
  • 5 úspěšných testů: Známka 3
  • 6 úspěšných testů: Známka 2
  • 7 úspěšných testů: Známka 1

Váha známky je 5.

Podpora úlohy

Implementujete soubor (ve složce src/main/java v balíčku org.example) MagicalSquare.java
Testy máte k dispozici v souboru (ve složce src/test/java) MagicalSquareTest.java

Pro testy importujte knihovnu org.testng a následující závislost!

<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>RELEASE</version>
<scope>test</scope>
</dependency>


  • MagicalSquare.java MagicalSquare.java
    29. července 2023, 21.47
  • MagicalSquareTest.java MagicalSquareTest.java
    2. listopadu 2023, 09.37
Kontaktujte podporu stránek
Momentálně na stránky přistupujete s právy hosta. (Přihlášení)
Souhrn uchovávaných dat
Stáhněte si mobilní aplikaci
Používá Moodle