This shows you the differences between two versions of the page.
mdad:laboratoare:01 [2020/10/19 11:41] alexandru.radovici |
mdad:laboratoare:01 [2020/10/19 14:47] (current) ioana_maria.culic [Tasks] |
||
---|---|---|---|
Line 16: | Line 16: | ||
- Write a Kotlin function that computes the factorial for n in an iterative way (without recursion). | - Write a Kotlin function that computes the factorial for n in an iterative way (without recursion). | ||
- Modify the previous function in such a way that is is written as a single expression. | - Modify the previous function in such a way that is is written as a single expression. | ||
- | - Write an operator extension to so that the `!n` will compute n the factorial of n. (Hint: [[https://kotlinlang.org/docs/reference/operator-overloading.html|Operator Overloading]] | + | - Write an operator extension to so that the ''!n'' will compute n the factorial of n. (Hint: [[https://kotlinlang.org/docs/reference/operator-overloading.html|Operator Overloading]]) |
- | - Write an Int extension function that computes (as Double) the logarithm of its parameter in base `this`. Use it in two ways: | + | - Write an Int extension function that computes (as Double) the logarithm of its parameter in base ''this''. Use it in two ways: |
- | - `2.log(8.0) | + | - ''2.log(8.0)'' |
- | - `2 log 8.0` | + | - ''2 log 8.0'' |
- Modify the previous task to be able to use the function with Int numbers as well (`2 log 8`) | - Modify the previous task to be able to use the function with Int numbers as well (`2 log 8`) | ||
- Make the following example work: | - Make the following example work: | ||
<code kotlin> | <code kotlin> | ||
data class Complex (var r: Double, var i: Double) | data class Complex (var r: Double, var i: Double) | ||
+ | |||
fun main () { | fun main () { | ||
val a = Complex (1.0,2.0) | val a = Complex (1.0,2.0) | ||
val b = Complex (3.0,4.0) | val b = Complex (3.0,4.0) | ||
- | | + | |
- | var s = a + b | + | var s1 = a + b |
- | println (s) | + | var s2 = a - b |
+ | var s3 = a * b | ||
+ | var s4 = a == b | ||
+ | println (s1) | ||
+ | println (s2) | ||
+ | println (s3) | ||
+ | println (s4) | ||
} | } | ||
</code> | </code> |