3

عملگرها و ورودی؛ ماشین‌حساب بی‌ادعا

جمع و ضرب و شرط مقایسه‌ای؛ همون چیزایی که اگه بلد نباشی، کد ازت کولی می‌گیره.

درس 3 از 20

عملگرهای ریاضی

کاتلین مثل آدم حساب‌کتاب می‌کنه: جمع، تفریق، ضرب، تقسیم و باقیمانده. حواست به تقسیم عدد صحیح باشه؛ دو تا `Int` تقسیم کنی خروجی هم `Int` می‌شه، یعنی اعشار رو مثل پیام تبلیغاتی حذف می‌کنه.

مثال را با چند مقدار دیگر هم امتحان کن؛ چون برنامه‌نویسی با نگاه کردن یاد گرفته نمی‌شود، با خراب کردن و درست کردن جا می‌افتد.

محاسبات پایه
fun main() {
    val a = 10
    val b = 3

    println(a + b)
    println(a - b)
    println(a * b)
    println(a / b)   // 3
    println(a % b)   // 1
}
خروجی یا نتیجه اجرا
13
7
30
3
1
نکته کاربردی: این بخش اسکلت ذهنی درس را می‌سازد. وقتی بدانی این قطعه دقیقاً چه مسئله‌ای را حل می‌کند، بعداً موقع پروژه فقط syntax حفظی تحویل نمی‌دهی؛ تصمیم درست می‌گیری. اگر خروجی با چیزی که انتظار داشتی فرق کرد، اول مقدار متغیرها و مسیر اجرا را چک کن؛ ۹۰٪ باگ‌های اول راه همین‌جا قایم شده‌اند.

مقایسه و منطق

برای تصمیم‌گیری باید مقایسه کنی. `==`, `!=`, `>`, `<`, `>=`, `<=` و برای منطق هم `&&`, `||`, `!` داریم. اینا فرمانده‌های تصمیم‌گیری توی کدن.

مثال را با چند مقدار دیگر هم امتحان کن؛ چون برنامه‌نویسی با نگاه کردن یاد گرفته نمی‌شود، با خراب کردن و درست کردن جا می‌افتد.

مقایسه
val age = 19
val hasTicket = true

val canEnter = age >= 18 && hasTicket
println(canEnter)
خروجی یا نتیجه اجرا
true
نکته کاربردی: اینجا باید به رفتار کد نگاه کنی، نه فقط ظاهرش. مقدارها را عوض کن و دوباره اجرا بگیر تا دستت بفهمد برنامه چطور واکنش نشان می‌دهد. اگر خروجی با چیزی که انتظار داشتی فرق کرد، اول مقدار متغیرها و مسیر اجرا را چک کن؛ ۹۰٪ باگ‌های اول راه همین‌جا قایم شده‌اند.

ورودی گرفتن

تابع `readln()` از کاربر ورودی می‌گیره. ورودی همیشه متنه؛ برای عدد باید تبدیلش کنی. مثل اینه که پول نقد رو باید خرد کنی تا دستگاه قبول کنه.

مثال را با چند مقدار دیگر هم امتحان کن؛ چون برنامه‌نویسی با نگاه کردن یاد گرفته نمی‌شود، با خراب کردن و درست کردن جا می‌افتد.

خواندن ورودی
fun main() {
    print("سنت چنده؟ ")
    val age = readln().toInt()

    println("سال بعد می‌شی ${age + 1}")
}
خروجی یا نتیجه اجرا
سنت چنده؟ 20
سال بعد می‌شی 21
نکته کاربردی: این الگو در پروژه واقعی زیاد تکرار می‌شود. از همین حالا تمیز و خوانا بنویس تا بعداً موقع دیباگ، خودت به خودت فحش ندهی. اگر خروجی با چیزی که انتظار داشتی فرق کرد، اول مقدار متغیرها و مسیر اجرا را چک کن؛ ۹۰٪ باگ‌های اول راه همین‌جا قایم شده‌اند.

نتیجه این درس 🎯

حالا می‌توانی حساب‌وکتاب، مقایسه و ورودی ساده بگیری. این پایه همان چیزهایی است که بعداً در فرم‌ها، اعتبارسنجی، قیمت‌گذاری و منطق برنامه استفاده می‌شود.

تمرین! 🧠

دو عدد از کاربر بگیر و جمع، تفریق و ضرب‌شون رو چاپ کن.

جواب تمرین
fun main() {
    print("عدد اول: ")
    val first = readln().toInt()

    print("عدد دوم: ")
    val second = readln().toInt()

    println("جمع: ${first + second}")
    println("تفریق: ${first - second}")
    println("ضرب: ${first * second}")
}
خروجی جواب
عدد اول: 8
عدد دوم: 3
جمع: 11
تفریق: 5
ضرب: 24