Úkoly č.9

Úkol č.1

Vytvořte v jazyce Scala metodu/konstrukt until, který bude mít dva parametry -- podmínku a tělo, které se má provádět, dokud podmínka není splněna.

Příklad použití:

var a = 10;
until (a < 0) {
  println(a)
  a -= 1
}

Úkol č.2

Předpokládejte, že máte matice reprezentované pomocí funkcí typu: (Int, Int) => Int, vytvořte následující metody:

  • diag(a: Int), která vytvoří diagonální matici (ve výše uvedené reprezentaci), která bude mít na diagonále hodnoty a, jinak bude obsahovat 0. Jako implicitní hodnotu pro a použijte 1.
  • transp(m: (Int, Int) => Int), která vrátí transponovanou matici.
  • map(f: Int => Int, m: (Int, Int) => Int), která na každou hodnotu matice aplikuje funkci f.
  • *(k: Int, m: (Int, Int) => Int), která vynásobí každou hodnotu skálárem k. Využijte metodu map.
  • +(m1: (Int, Int) => Int, m2: (Int, Int) => Int), která sečte dvě matice.
  • switchRows(i: Int, j: Int, m: (Int, Int) => Int), která vrátí novou matici, kde jsou prohozeny řádky i a j.
  • print(i: Int, j: Int, m: (Int, Int) => Int), která vypíše prvních i řádků a j sloupců matice.

Last update on 22. 11. 2017 14:48
Powered by Schemik.

© Petr Krajča, 2010, 2012
petr.krajca (at) upol.cz