Skip to content

Instantly share code, notes, and snippets.

View sasssass's full-sized avatar

Ali Shobeyri sasssass

View GitHub Profile
@sasssass
sasssass / encapsulation.kt
Created October 23, 2023 12:58
encapsulation.kt
class Something {
var number: Int = 0
get() {
println("someone is trying to read number")
return field
}
set(input: Int) {
println("someone is trying to change number")
if (input >= 0)
field = input
@sasssass
sasssass / polymorphism.kt
Last active October 23, 2023 13:13
polymorphism.kt
class Something {
fun doSth() {
println("no number")
}
fun doSth(input: Int) {
println(input)
}
}
@sasssass
sasssass / polymorphism.kt
Last active October 23, 2023 13:16
polymorphism.kt
open class Parent() {
open fun doSth() {
print("I'm Parent")
}
}
class Child() : Parent() {
override fun doSth() {
print("I'm Child")
}
@sasssass
sasssass / Factorial.kt
Last active October 23, 2023 09:50
Factorial.kt
// we assume that n is never negative
fun calculateFactorialProcedural(n: Int): Int {
var factorial = 1
var i = 1
while (i <= n) {
factorial *= i
i++
}
@sasssass
sasssass / logic.pl
Last active October 23, 2023 03:47
logic.pl
% Define family relationships
parent(john, mary).
parent(john, lisa).
parent(alex, john).
parent(lisa, tom).
parent(mary, ann).
% Define rules for various family relationships
father(X, Y) :- parent(X, Y), male(X).
mother(X, Y) :- parent(X, Y), female(X).
@sasssass
sasssass / reactive.kt
Created October 19, 2023 12:58
reactive.kt
import io.reactivex.Observable
import io.reactivex.functions.BiFunction
fun main() {
val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val sum = Observable.fromIterable(numbers)
.filter { it % 2 == 0 } // Filter even numbers
.reduce { total, next -> total + next } // Sum the filtered numbers
@sasssass
sasssass / functional.kt
Created October 19, 2023 11:50
functional.kt
fun main() {
val numbers = intArrayOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val sum = sumOfEvenNumbers(numbers, 0, 0)
println("Sum of even numbers: $sum")
}
fun sumOfEvenNumbers(numbers: IntArray, index: Int, currentSum: Int): Int {
return when {
index == numbers.size -> currentSum
numbers[index] % 2 == 0 -> sumOfEvenNumbers(numbers, index + 1, currentSum + numbers[index])
@sasssass
sasssass / Pascal.pas
Created October 17, 2023 21:56
Pascal.pas
program SumOfEvenNumbers;
const
MaxArraySize = 100; // Maximum size of the array
var
Numbers: array[1..MaxArraySize] of Integer;
Size, Sum: Integer;
procedure CalculateSumOfEvenNumbers(arr: array of Integer; n: Integer; var result: Integer);
@sasssass
sasssass / Declarative.kt
Created October 16, 2023 22:07
Declarative.kt
fun sumOfEvenNumbers(numbers: List<Int>): Int {
return numbers.filter { it % 2 == 0 }.sum()
}
fun main() {
val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val result = sumOfEvenNumbers(numbers)
println("Sum of even numbers: $result")
}
@sasssass
sasssass / Imperative.kt
Created October 16, 2023 22:06
Imperative.kt
fun sumOfEvenNumbers(numbers: List<Int>): Int {
var sum = 0
for (number in numbers) {
if (number % 2 == 0) {
sum += number
}
}
return sum
}