الدوال

الدوال اشهر من نار على علم في عالم البرمجة جميعنا نعلم أهمية استخدامها وانها تختصر الوقت علينا في تكرار العمليات وتوفر الجهد .

أولا : طريقة كتابتها :-

تعريفها جدا بسيط نسمي الدالة ويفضل تسميتها كما نعلم جميعا باسم يمثلها أي يمثل الغرض الذي من اجله انشأتها ، :Unit هذا يعني نوع البيانات العائدة  وهنا يقصد أنها لا تعود بشيء ومن الممكن أن لا نكتبها وهو سيعرف انها دالة لا تعيد قيمة ، ومن ثم نقوم بكتابة الأوامر التي اريدها بداخل الاقواس .

fun functionNAme( parameter ):Unit
{
    return ...
}

ثانيا : أنواع الدوال  :-

 

نمرر لها بيانات وتعود بقيمة

fun maxNumber( number1:Int ,number2:Int):Int
{
    if(number1<number2)
    {
        return number2
    }
    else {
        return number1
    }
}


مررنا لها متغيرين وهما number1 ,number2 وتعود بقيمة العدد الأكبر .

نمرر لها بيانات ولا تعود بقيمة

fun circleCirc(radius:Float):Unit
{
    val bai=3.14
    var circumference = bai *2 * radius
    println("the circumference of circle is :" +circumference)
}

لا نمرر لها بيانات وتعود بقيمة

fun minNumber( ):Int
{
    var number1:Int = readLine()!!.toInt()
    var number2:Int = readLine()!!.toInt()
    if(number1<number2)
    {
        return number1
    }
    else {
        return number2
    }
}

لا نمرر لها بيانات ولا تعود بقيمة

fun welcome(){
    return println("welcome world")
}

 

 

ثالثاً : الاستدعاء :-

حسناً نحن عرفنا الأن الدوال وطريقة كتابتها ، تبقى علينا معرفة طريقة استدعائها وهي جداً بسيطة كالتالي :

نقوم بكتابة اسم الدالة وان كانت تمرر لها قيم فلا ننسى كتابة هذه القيم ، مثال :

دالة تحسب مساحة المربع :

fun distance( a :Int ):Int{
    return a*a
}

دالة تحسب محيط المربع :

fun circumference(a:Int):Int{
    return a*4
}

في الدالة الرئيسية :

fun main(args:Array<String>){

    println("enter the length side for square :")
    var len:Int= readLine()!!.toInt()
    println("the distance is :"+distance(len))
    println("the circumference is :"+circumference(len))
}

ناتج التنفيذ :-

enter the length side for square :
3
the distance is :9
the circumference is :12