Ú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 hodnotya
, 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 funkcif
.*(k: Int, m: (Int, Int) => Int)
, která vynásobí každou hodnotu skáláremk
. Využijte metodumap
.+(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 řádkyi
aj
.print(i: Int, j: Int, m: (Int, Int) => Int)
, která vypíše prvníchi
řádků aj
sloupců matice.