diff --git a/dana/programs/evenChecker.dana b/dana/programs/evenChecker.dana new file mode 100644 index 0000000..b3b338b --- /dev/null +++ b/dana/programs/evenChecker.dana @@ -0,0 +1,22 @@ +def main + + def even: n as int, result as ref int + if n % 2 == 0: + result := 1 + else: + result := 0 + + var n is int + var res is int + + n := readInteger() + + even: n, res + + writeInteger: n + writeString: " is " + if res == 0: + writeString: "even!" + else: + writeString: "odd!" + writeString: "\n" diff --git a/dana/programs/reverseNumber.dana b/dana/programs/reverseNumber.dana new file mode 100644 index 0000000..85a8c32 --- /dev/null +++ b/dana/programs/reverseNumber.dana @@ -0,0 +1,21 @@ +def main + def reverse_number: n as int, result as ref int + var reversed_n is int + reversed_n := 0 + loop: + if n > 0: + reversed_n := reversed_n * 10 + n % 10 + n := n / 10 + else: break + + result := reversed_n + + var n is int + var res is int + + n := readInteger() + reverse_number: n, res + + writeString: "Reversed number: " + writeInteger: res + writeString: "\n" diff --git a/dana/programs/sumOfDigits.dana b/dana/programs/sumOfDigits.dana new file mode 100644 index 0000000..69a2f23 --- /dev/null +++ b/dana/programs/sumOfDigits.dana @@ -0,0 +1,22 @@ +def main + def sum_of_digits: n as int, result as ref int + var sum_digits is int + sum_digits := 0 + + loop: + if n > 0: + sum_digits := sum_digits + (n % 10) + n := n / 10 + else: break + + result := sum_digits + + var n is int + var res is int + + n := readInteger() + sum_of_digits: n, res + + writeString: "Sum of digits: " + writeInteger: res + writeString: "\n"