الدرس العاشر البرمجة بلغة كوتلين
العبارات الشرطية
![Kotlin-logo.png](
)
عبارة ifالشرطية
تستخدم العبارات الشرطية عندما نريد لعبارات (اوامر برمجية) ان تنفذ عند تحقق شرط معين صيغتها العامة
If (condition){
//block of code
}
مثلا :
fun main (args:Array <String>){
println("enter a number:")
var number:Int = readLine()!!.toInt()
if ((number >= 0) && (number <= 10)){
println("your number is smaller than 10")
}
}
في هذا المثال طلبنا من المستخدم ادخال رقم ما ثم خزناه متغير number من النوع الصحيح
العبارة
if ((number >= 0) && (number <=10))
تعني انه اذا كان الرقم المدخل اكبر او يساوي 0 و اصغر او يساوي 10 نفذ العبارة
println("your number is smaller than 10")
اي ان العبارة ستنفذ فقط اذا تحقق الشرطين معا: الشرط number >= 0
والشرط number <= 10
اما اذا لم يتحقق احدهما فان العبارة
println("your number is smaller than 10")
لن تنفذ و سينتقل للاوامر و العبارات التي تلي عبارة if الشرطية
لكن ماذا لو كان لدينا اكثر من شرط او اكثر من احتمال؟
عندها نستخدم العبارة if – else اذا كان لدينا شرطين او احتمالين
و نستخدم العبارة if – else if - else if -….-else اذا كان لدينا عدة شروط او حالات
مثلا نريد ان نصنف مستوى الطالب بحسب علامته:
fun main (args:Array <String>){
print("enter your grade: ")
var grade:Double = readLine()!!.toDouble()
if ( grade >= 0 && grade < 50){
println("you faild")
}else if (grade >=50 && grade < 70){
println("you are level B and your grade is $grade")
}else{
print("you are level A and your grade is $grade")
}
}
في هذا المثال سيدخل المستخدم علامة الطالب و يتم تخزينها في المتغير grade نوعه Double اذا كانت العلامة اصغر من 50 ستظهر على الشاشة you faild
و هذا ما اختبرناه من عبارة
If ( grade >= 0 && grade < 50)
اما اذا كانت العلامة المدخلة اكبر او تساوي 50 و اصغر تماما من 70 ستظهر على الشاشة
you are level B and your grade is و العلامة المدخلة
و هذا ما اختبرناه من الشرط
else if (grade >=50 && grade < 70)
اما اذا كانت العلامة المدخلة غير ذلك ستظهر على الشاشة
you are level A and your grade is و العلامة المدخلة
و هذا ما اختبرناه من الشرط else
س: حاول تحسين البرنامج السابق بجعل تصنيفات اكثر