This shows you the differences between two versions of the page.
mdad:laboratoare:01 [2020/10/19 09:05] alexandru.radovici |
mdad:laboratoare:01 [2020/10/19 14:47] (current) ioana_maria.culic [Tasks] |
||
---|---|---|---|
Line 14: | Line 14: | ||
- Write a Kotlin application that displays your name. | - Write a Kotlin application that displays your name. | ||
- | - Write a Kotlin function that computes the factorial for n. | + | - 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 you don't have to declare its return type. | + | - 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 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'' | ||
+ | - Modify the previous task to be able to use the function with Int numbers as well (`2 log 8`) | ||
+ | - Make the following example work: | ||
+ | <code kotlin> | ||
+ | data class Complex (var r: Double, var i: Double) | ||
+ | |||
+ | fun main () { | ||
+ | val a = Complex (1.0,2.0) | ||
+ | val b = Complex (3.0,4.0) | ||
+ | |||
+ | var s1 = a + b | ||
+ | var s2 = a - b | ||
+ | var s3 = a * b | ||
+ | var s4 = a == b | ||
+ | println (s1) | ||
+ | println (s2) | ||
+ | println (s3) | ||
+ | println (s4) | ||
+ | } | ||
+ | </code> |