با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
با جلسه ای دیگر از سری جلسات دوره آموزش جامع برنامه نویسی کامپیوتر در خدمت شما هستیم.
در این جلسه قصد داریم تا به آموزش توابع در برنامه نویسی بپردازیم.
توابع در برنامه نویسی ، قطعه کد هایی هستند که برای انجام کار خاصی نوشته شده و قابل استفاده مجدد هستند. (از تکرار کد جلوگیری میکنند)
استفاده از توابع به ما امکان بهرهمندی از برنامه نویسی ماژولار را میدهد. در برنامه نویسی ماژولار مسائل بزرگتر به مسائل کوچکتر تبدیل شده و هر یک جداگانه قابل توسعه هستند.
تا اینجا با توابعی مانند printf و main در زبان C استفاده کردیم. همچنین میتوانیم توابع دلخواه خود را ایجاد کرده و از آن ها استفاده کنیم.
در این جلسه یاد خواهید گرفت تا چگونه توابع را ایجاد و از آن ها استفاده کنید.
برای سخت یا تعریف توابع، ابتدا نوع داده ای که تابع برمیگرداند، نام تابع، پرانتز و پارامتر های تابع داخل پرانتز(اگر وجود دارند) و سپس بدنه تابع {}.
1 2 3 4 5 | return_type function_name( لیست پارامتر ها ) { بدنه تابع return مقدار; } |
حال به توضیح اجزای توابع میپردازیم:
برای استفاده از یک تابع باید آن را صدا بزنیم یا اصطلاحا فراخوانی کنیم.
برای فراخوانی یک تابع ابتدا نام تابع و سپس پرانتر ها را بعد از نام تابع میآوریم. اگر تابع پارامتر داشته باشد باید مقادیر یا متغیر هایی را به عنوان پارامتر یا آرگومان به تابع ارسال کنیم. (قرار دادن مقادیر یا متغیر ها درون پرانتز به همان ترتیب هنگام تعریف)
در مثال زیر برنامه نوشته ایم که دو آرایه دارد و با استفاده از تایع ()getmax، بیشترین مقدار آرایه را چاپ میکنیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <stdio.h> int getMax( int set[] ) { int i, max; max = set[0]; i = 1; while( i < 5 ) { if( max < set[i] ) { max = set[i]; } i = i + 1; } return max; } main() { int set1[5] = {10, 20, 30, 40, 50}; int set2[5] = {101, 201, 301, 401, 501}; int max; max = getMax(set1); printf("Max in first set = %d\n", max ); max = getMax(set2); printf("Max in second set = %d\n", max ); } |
خروجی:
1 2 | Max in first set = 50 Max in second set = 501 |
توابع در زبان جاوا با نام متد (method) شناخته میشوند.
نحوه تعریف و فراخوانی متد ها مانند نحوه تعریف و فراخوانی توابع در زبان C است.
مثال زیر همان برنامه بالا (نوشته شده به زبان C) است که با زبان جاوا پیاده سازی شده است:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | public class DemoJava { public static void main(String []args) { int[] set1 = {10, 20, 30, 40, 50}; int[] set2 = {101, 201, 301, 401, 501}; int max; max = getMax(set1); System.out.format("Max in first set = %d\n", max ); max = getMax(set2); System.out.format("Max in second set = %d\n", max ); } public static int getMax( int set[] ) { int i, max; max = set[0]; i = 1; while( i < 5 ) { if( max < set[i] ) { max = set[i]; } i = i + 1; } return max; } } |
خروجی:
1 2 | Max in first set = 50 Max in second set = 501 |
از آن جایی که نوع داده در پایتون وجود ندارد، تعریف توابع در ان کمی با تعریف توابع در زبان های جاوا و C متفاوت است.
برای تعریف تابع در پایتون از کلمه کلیدی def استفاده میکنیم.
1 2 3 4 | def function_name( لیست پارامتر ها ): بدنه تابع return مقدار |
همچنین از دندانه گذاری (Tab) به جای آکولاد ها استفاده میکنیم.
همان برنامه قبلی را حالا با استفاده از زبان پایتون پیاده سازی میکنیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | def getMax( set ): max = set[0] i = 1 while( i < 5 ): if( max < set[i] ): max = set[i] i = i + 1 return max set1 = [10, 20, 30, 40, 50] set2 = [101, 201, 301, 401, 501] max = getMax(set1) print "Max in first set = ", max max = getMax(set2) print "Max in second set = ", max |
خروجی:
1 2 | Max in first set = 50 Max in second set = 501 |
جلسه آموزش توابع در برنامه نویسی نیز به پایان رسید.
در جلسه بعد به آموزش کار با فایل ها در برنامه نویسی خواهیم پرداخت.