1 00:00:00,000 --> 00:00:04,664 2 00:00:04,664 --> 00:00:05,580 ডগ লয়েড: ঠিক আছে. 3 00:00:05,580 --> 00:00:08,877 তাই এখন আমি কি একটি মোকাবেলা যাক সত্যিই বড় বিষয়, ফাংশন. 4 00:00:08,877 --> 00:00:11,460 এ পর্যন্ত কোর্সে সব আমরা লেখার করছি যে প্রোগ্রাম 5 00:00:11,460 --> 00:00:12,969 প্রধান ভেতরে লেখা হয়েছে. 6 00:00:12,969 --> 00:00:14,260 তারা বেশ সহজ প্রোগ্রাম করছি. 7 00:00:14,260 --> 00:00:16,940 আপনি এই সব আছে প্রয়োজন হবে না শাখা এবং কিছু ঘটছে. 8 00:00:16,940 --> 00:00:18,773 আমরা শুধু এটা সব ফিট করতে পারে প্রধান ভেতরে এবং এটা 9 00:00:18,773 --> 00:00:20,407 ভয়ঙ্কর অপ্রতিরোধ্য পাবেন না. 10 00:00:20,407 --> 00:00:22,990 কিন্তু অবশ্যই যায় এবং আপনি প্রোগ্রাম বিকাশ শুরু 11 00:00:22,990 --> 00:00:26,260 স্বাধীনভাবে, তারা সম্ভবত যাচ্ছেন 10 তুলনায় অনেক বেশি পেতে শুরু 12 00:00:26,260 --> 00:00:27,200 বা 15 লাইন. 13 00:00:27,200 --> 00:00:31,400 আপনি শত শত বা হাজার হাজার পেতে পারে বা দশ কোড লাইনের হাজার হাজার. 14 00:00:31,400 --> 00:00:34,690 আর এটা সত্যিই না একটি চিন্তার যে পাগল. 15 00:00:34,690 --> 00:00:39,720 যেমন, এটি সম্ভবত একটি ভাল ধারণা না প্রধান ভেতরে সবকিছু রাখা. 16 00:00:39,720 --> 00:00:43,240 এটা এটি একটু কঠিন পেতে পারেন আপনি কি যদি আপনি তা করতে হলে যা খুঁজছেন. 17 00:00:43,240 --> 00:00:47,040 >> সৌভাগ্যবসত, সি যদিও, এবং প্রায় কাছাকাছি প্রত্যেক অন্যান্য প্রোগ্রামিং ভাষা যে 18 00:00:47,040 --> 00:00:50,386 সাথে কাজ করতে পারে, পারবেন আমাদের ফাংশন লিখতে. 19 00:00:50,386 --> 00:00:52,260 আর আমি শুধু যাচ্ছি সরাইয়া এখানে একটি দ্রুত নিতে 20 00:00:52,260 --> 00:00:54,971 ফাংশন যে উল্লেখ করার কম্পিউটার বিজ্ঞানের এক এলাকা. 21 00:00:54,971 --> 00:00:57,970 আর আপনি তাদের অনেক বেশি দেখতে পাবেন কোর্স চলাকালে বিভিন্ন পয়েন্ট 22 00:00:57,970 --> 00:00:59,290 এবং আপনি কি অবিরত যদি. 23 00:00:59,290 --> 00:01:02,280 কোথায় অনেক আছে একই শব্দ জন্য প্রতিশব্দ. 24 00:01:02,280 --> 00:01:03,390 সুতরাং আমরা ফাংশান কল. 25 00:01:03,390 --> 00:01:05,980 কিন্তু আপনি তাদের শুনতে পারে পদ্ধতি হিসেবে উল্লেখ করা হয়েছে, 26 00:01:05,980 --> 00:01:09,570 বা পদ্ধতি, বিশেষ করে, আপনি করেছি কখনও কোন অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং সম্পন্ন 27 00:01:09,570 --> 00:01:11,950 before-- এবং চিন্তা করবেন না আপনি না, না আছে 28 00:01:11,950 --> 00:01:14,280 একটি বড় deal-- কিন্তু এ নিরীক্ষা ভিত্তিক প্রত্যেক 29 00:01:14,280 --> 00:01:16,129 প্রায়শই বলা হয় পদ্ধতি. 30 00:01:16,129 --> 00:01:17,670 কখনো কখনো তারা সাবরুটিনের বলা করছি. 31 00:01:17,670 --> 00:01:20,690 কিন্তু তারা সবাই পড়ুন একই মৌলিক ধারণা. 32 00:01:20,690 --> 00:01:22,480 >> এর যে ধারণা তা দেখতে চলুন শুরু করা যাক. 33 00:01:22,480 --> 00:01:23,310 একটি ফাংশন কি? 34 00:01:23,310 --> 00:01:26,470 ওয়েল একটি ফাংশন সত্যিই হয় একটি কালো বাক্স ছাড়া আর কিছুই. 35 00:01:26,470 --> 00:01:31,430 শূন্য একটি সেট আছে যে একটি কালো বাক্স আরো ইনপুট এবং একটি একক আউটপুট বা. 36 00:01:31,430 --> 00:01:33,420 সুতরাং উদাহরণস্বরূপ, এই একটি ফাংশন হতে পারে. 37 00:01:33,420 --> 00:01:35,510 এই func নামক একটি ফাংশন. 38 00:01:35,510 --> 00:01:39,330 শেষ পর্যন্ত তিন ইনপুট একটি, বি, সি এবং লাগে. 39 00:01:39,330 --> 00:01:42,580 আর যে কালো বক্সের ভিতরে, আমরা এটা ঠিক কি না জানি না, 40 00:01:42,580 --> 00:01:45,100 কিন্তু এটা ইনপুট প্রক্রিয়াকরণ কিছু উপায় এবং তারপর এটি 41 00:01:45,100 --> 00:01:48,680 এই ক্ষেত্রে একটি একক আউটপুট, z- র দেয়. 42 00:01:48,680 --> 00:01:50,504 এখন এটি একটি সামান্য করতে কম বিমূর্ত, আমরা 43 00:01:50,504 --> 00:01:52,420 আমরা যে হয়তো বলতে পারে নামক একটি ফাংশন আছে 44 00:01:52,420 --> 00:01:58,750 যে তিনটি ইনপুট একটি, বি লাগে যোগ, এবং সি এবং কিছু উপায় আউটপুট প্রক্রিয়াকরণ 45 00:01:58,750 --> 00:02:01,010 কালো বাক্স ভিতরে একটি একক আউটপুট উত্পাদন. 46 00:02:01,010 --> 00:02:05,190 এই ক্ষেত্রে, যদি তাই যোগ 3, 6, এবং 7 লাগে. 47 00:02:05,190 --> 00:02:07,020 কোথাও ভিতরে ফাংশন যোগ করুন, আমরা 48 00:02:07,020 --> 00:02:09,750 আশা তাদের একসঙ্গে যোগ করা আউটপুট, উত্পাদন যা 49 00:02:09,750 --> 00:02:13,220 3 প্লাস 6 প্লাস 7 বা 16 হয়. 50 00:02:13,220 --> 00:02:17,940 >> একইভাবে, আপনি নামক একটি ফাংশন আছে দুই ইনপুট, A এবং B লাগে যে Mult, 51 00:02:17,940 --> 00:02:21,070 কিছু উপায় যেমন তাদের প্রসেস যে ফাংশন আউটপুট 52 00:02:21,070 --> 00:02:22,920 দুই ইনপুট পণ্য. 53 00:02:22,920 --> 00:02:25,080 দুই ইনপুট একসঙ্গে গুন. 54 00:02:25,080 --> 00:02:29,150 4 ও 5, Mult মধ্যে পাস হচ্ছে কিছু আমরা আশা আউটপুট ঘটবে 55 00:02:29,150 --> 00:02:31,090 20. 56 00:02:31,090 --> 00:02:32,507 কেন আমরা তা একটি কালো বাক্স কল? 57 00:02:32,507 --> 00:02:34,840 আচ্ছা আমরা লেখা হয় না, যদি , নিজেদেরকে ফাংশন, যা 58 00:02:34,840 --> 00:02:36,869 আমরা বেশ একটু পর্যন্ত CS50 কাজ করেছি. 59 00:02:36,869 --> 00:02:39,910 আমরা, উদাহরণস্বরূপ, মুদ্রণ চ দেখা করেছি, যা আমরা লিখুন না যে একটি ফাংশন 60 00:02:39,910 --> 00:02:42,305 নিজেদেরকে কিন্তু আমরা সব সময় ব্যবহার না. 61 00:02:42,305 --> 00:02:44,180 আমরা লেখা না হয় ফাংশন নিজেদেরকে, 62 00:02:44,180 --> 00:02:48,450 এটা কিভাবে আমরা সত্যিই জানা প্রয়োজন না আসলে ফণা অধীন বাস্তবায়িত. 63 00:02:48,450 --> 00:02:51,710 >> সুতরাং উদাহরণস্বরূপ কালো বাক্স আমি শুধু, গুণ জন্য আপনাকে দেখিয়েছি 64 00:02:51,710 --> 00:02:53,740 একটি mult, বি হতে পারে defined-- এবং এই মাত্র 65 00:02:53,740 --> 00:02:57,902 কিছু pseudocode মধ্যে হতে পারে আউটপুট একটি বার বি হিসাবে সংজ্ঞায়িত. 66 00:02:57,902 --> 00:02:58,860 যে অর্থে, ঠিক আছে. 67 00:02:58,860 --> 00:03:01,370 আমরা একটি ফাংশন বলা থাকে দুই ইনপুট নেয় যে Mult. 68 00:03:01,370 --> 00:03:04,750 আমরা আশা করতে চাই আউটপুট would যে হতে দুটি ইনপুট, একসঙ্গে গুন 69 00:03:04,750 --> 00:03:06,240 একটি বার বি. 70 00:03:06,240 --> 00:03:09,170 কিন্তু Mult এছাড়াও হতে পারে এই মত বাস্তবায়িত, 71 00:03:09,170 --> 00:03:13,150 আমরা একটি পাল্টা পরিবর্তনশীল আছে 0 থেকে Mult ভেতরে সেট করতে পারেন. 72 00:03:13,150 --> 00:03:18,000 এবং তারপর আমরা এই প্রক্রিয়া পুনরাবৃত্তি বি বার কাউন্টার করার জন্য একটি যোগ করুন. 73 00:03:18,000 --> 00:03:24,270 উদাহরণস্বরূপ, আমরা দ্বারা 3A সংখ্যাবৃদ্ধি 5b আমরা 0 পাল্টা সেট বলতে পারে, 74 00:03:24,270 --> 00:03:27,700 পাঁচবার পুনরাবৃত্তি কাউন্টার 3 যোগ করুন. 75 00:03:27,700 --> 00:03:34,490 সুতরাং আমরা 0 এ শুরু এবং তারপর আমরা কি এই পাঁচবার 3, 6, 9, 12, 15. 76 00:03:34,490 --> 00:03:37,500 এটা একই ফলাফল. আমরা এখনও পেতে 3 বার 5 শুধু 77 00:03:37,500 --> 00:03:39,500 বাস্তবায়ন ভিন্ন. 78 00:03:39,500 --> 00:03:41,490 >> যে আমরা মানে কি আমরা একটি কালো বাক্স বলতে যখন. 79 00:03:41,490 --> 00:03:44,406 এটা শুধু আমরা সত্যিই যত্নশীল না মানে এটা ফণা অধীন বাস্তবায়িত কিভাবে 80 00:03:44,406 --> 00:03:46,170 যতদিন আউটপুট আমরা আশা কি হিসাবে. 81 00:03:46,170 --> 00:03:49,045 আসলে, যে চুক্তির অংশ বিশেষ, ফাংশন ব্যবহার 82 00:03:49,045 --> 00:03:50,630 অন্যদের লিখতে যে ফাংশন. 83 00:03:50,630 --> 00:03:53,980 আচরণ সবসময় যাচ্ছে অনির্দেশ্য, সাধারণত করা 84 00:03:53,980 --> 00:03:55,420 ফাংশনের নাম উপর ভিত্তি করে. 85 00:03:55,420 --> 00:03:57,500 এটা সত্যিই যে কেন গুরুত্বপূর্ণ আপনি ফাংশন লিখতে হলে 86 00:03:57,500 --> 00:04:00,020 অথবা যখন অন্য মানুষের লিখুন আপনি ব্যবহার করতে পারে যে ফাংশন, 87 00:04:00,020 --> 00:04:03,590 যারা ফাংশন আছে স্পষ্ট, অপেক্ষাকৃত সুস্পষ্ট নাম, 88 00:04:03,590 --> 00:04:04,990 এবং তথ্যসমৃদ্ধ হয়. 89 00:04:04,990 --> 00:04:08,560 যা অবশ্যই কেস মুদ্রণ চ মত ফাংশন জন্য. 90 00:04:08,560 --> 00:04:09,860 >> তাই কেন আমরা ফাংশন ব্যবহার করব? 91 00:04:09,860 --> 00:04:14,220 ওয়েল আমি আমরা লিখুন, তার আগে বলেন প্রধান জিনিস ভিতরে আমাদের কোড সব 92 00:04:14,220 --> 00:04:17,120 সত্যিই কষ্টকর পেতে পারেন এবং সত্যিই জটিল. 93 00:04:17,120 --> 00:04:19,980 কার্যাবলী আমাদের ক্ষমতা অনুমতি কিছু সংগঠিত এবং বিরতি পর্যন্ত 94 00:04:19,980 --> 00:04:24,540 একটি অত্যন্ত জটিল সমস্যার মধ্যে অনেক সামলানো সাব যন্ত্রাংশ. 95 00:04:24,540 --> 00:04:28,130 অনুষ্ঠানও আমাদের অনুমতি কোডিং প্রক্রিয়া সহজতর. 96 00:04:28,130 --> 00:04:33,080 এটি একটি 10 ​​ডিবাগ করার জন্য একটি অনেক সহজ একটি 100 লাইন বনাম লাইন ফাংশন 97 00:04:33,080 --> 00:04:35,890 ফাংশন বা 1,000 লাইন ফাংশন. 98 00:04:35,890 --> 00:04:38,400 আমরা শুধুমাত্র ডিবাগ করার থাকে একটি সময়ে ছোট টুকরা, 99 00:04:38,400 --> 00:04:42,110 অথবা, সময়ে ছোট টুকরা লিখুন এটা যে প্রোগ্রামিং অভিজ্ঞতা তোলে 100 00:04:42,110 --> 00:04:43,070 অনেক ভালো. 101 00:04:43,070 --> 00:04:44,910 যে কেউ আমার কথা বিশ্বাস করো. 102 00:04:44,910 --> 00:04:48,400 >> সর্বশেষে, আমরা ফাংশন লিখতে চান, যারা বিভিন্ন অংশের পুনরায় ব্যবহার করতে পারেন. 103 00:04:48,400 --> 00:04:49,880 কার্যাবলী পুনর্ব্যবহৃত হতে পারে. 104 00:04:49,880 --> 00:04:51,880 তারা ব্যবহার করা যেতে পারে এক প্রোগ্রাম বা অন্য. 105 00:04:51,880 --> 00:04:53,713 আপনি ইতিমধ্যে লিখিত করেছি ফাংশন, সব আপনি 106 00:04:53,713 --> 00:04:56,530 যে প্রোগ্রাম বলতে না করার প্রয়োজন যেখানে যে ফাংশন এটি. 107 00:04:56,530 --> 00:04:59,680 আমরা পুনর্ব্যাবহার ও ব্যবহার করছি 40 বছরেরও বেশি সময় ধরে F প্রিন্ট করা হবে. 108 00:04:59,680 --> 00:05:02,150 কিন্তু এটি শুধুমাত্র এক সময় লিখিত ছিল. 109 00:05:02,150 --> 00:05:04,270 বেশ দরকারী, ঠিক আছে. 110 00:05:04,270 --> 00:05:04,830 ঠিক আছে. 111 00:05:04,830 --> 00:05:06,040 সুতরাং ফাংশন মহান. 112 00:05:06,040 --> 00:05:06,860 আমরা জানি যে. 113 00:05:06,860 --> 00:05:08,700 এখন এর তাদের লেখা শুরু করা যাক. 114 00:05:08,700 --> 00:05:10,830 এর পেয়ে শুরু করা যাক তাদের আমাদের প্রোগ্রামের মধ্যে. 115 00:05:10,830 --> 00:05:13,869 যাতে প্রথমে যে কাজ করতে আমরা কি জিনিস ফাংশন ডিক্লেয়ার হয়. 116 00:05:13,869 --> 00:05:16,160 আপনি যদি একটি ফাংশন ডিক্লেয়ার কি আপনি মূলত করছেন 117 00:05:16,160 --> 00:05:18,900 কম্পাইলার কহন হয়, আরে, আপনি জানেন ঠিক তাই, 118 00:05:18,900 --> 00:05:20,850 আমি লেখা হতে যাচ্ছি পরবর্তী একটি ফাংশন 119 00:05:20,850 --> 00:05:22,987 এবং এখানে এটা অনুরূপ যাচ্ছে কি. 120 00:05:22,987 --> 00:05:24,820 এই জন্য কারণ কম্পাইলার পারেন কারণ 121 00:05:24,820 --> 00:05:27,900 যদি কিছু অদ্ভুত কিছু তারা চিহ্ন একটি সেট দেখতে 122 00:05:27,900 --> 00:05:29,560 তারা সাথে পরিচিত না হন, যে. 123 00:05:29,560 --> 00:05:33,000 তাই আমরা ঠিক কম্পাইলার একটি দিতে মাথা, আমি একটি ফাংশন তৈরি করছি 124 00:05:33,000 --> 00:05:35,492 এবং এটা এই কাজ করতে যাচ্ছে. 125 00:05:35,492 --> 00:05:38,450 ফাংশন ঘোষণা সাধারণত যদি আপনি একটি উপায় আপনার কোড সংগঠিত করছেন 126 00:05:38,450 --> 00:05:41,872 অন্যদের করতে সক্ষম হবে যে বুঝতে এবং ব্যবহার করতে, 127 00:05:41,872 --> 00:05:44,330 আপনি সাধারণত সব লাগাতে চান আপনার ফাংশন ঘোষণা 128 00:05:44,330 --> 00:05:48,220 আপনার কোড খুব শীর্ষে, ডান আপনি এমনকি প্রধান লেখা শুরু করার আগে. 129 00:05:48,220 --> 00:05:50,770 এবং সুবিধামত আছে একটি খুব স্ট্যান্ডার্ড ফর্ম 130 00:05:50,770 --> 00:05:53,500 প্রতি ফাংশন ঘোষণা অনুসরণ করে. 131 00:05:53,500 --> 00:05:56,090 তারা সব কাছাকাছি এই মত চেহারা. 132 00:05:56,090 --> 00:06:01,440 তিনটি অংশ একটি ফাংশন আছে ঘোষণা, রিটার্ন টাইপ, নাম, 133 00:06:01,440 --> 00:06:03,420 এবং যুক্তি তালিকা. 134 00:06:03,420 --> 00:06:07,180 >> এখন রিটার্ন টাইপ কি ধরনের পরিবর্তনশীল ফাংশন আউটপুট হবে. 135 00:06:07,180 --> 00:06:10,710 সুতরাং উদাহরণস্বরূপ, যদি আমরা ফিরে একটি মনে দুই গুন করার আগে মিনিট 136 00:06:10,710 --> 00:06:15,690 সংখ্যার ফাংশন, আমরা যদি তা আশা না আমরা একটি পূর্ণসংখ্যা দ্বারা একটি পূর্ণসংখ্যা সংখ্যাবৃদ্ধি 137 00:06:15,690 --> 00:06:18,502 আউটপুট হবে সম্ভবত একটি পূর্ণসংখ্যা, ঠিক আছে. 138 00:06:18,502 --> 00:06:20,710 গুন দুটি পূর্ণসংখ্যার একসঙ্গে, আপনি একটি পূর্ণসংখ্যা পেতে. 139 00:06:20,710 --> 00:06:24,167 যে রিটার্ন টাইপ তাই ফাংশন কোন int হবে. 140 00:06:24,167 --> 00:06:26,000 নাম কি আপনি চান আপনার ফাংশন কল. 141 00:06:26,000 --> 00:06:29,330 এটি সম্ভবত অন্তত গুরুত্বপূর্ণ ফাংশন ঘোষণা অংশ, 142 00:06:29,330 --> 00:06:30,827 কার্যকারিতা পদ. 143 00:06:30,827 --> 00:06:33,160 কিন্তু আসলে সম্ভবত এক সবচেয়ে গুরুত্বপূর্ণ অংশ 144 00:06:33,160 --> 00:06:36,243 শর্তাবলী ফাংশন ঘোষণা বুদ্ধিমান ফাংশন আসলে কি 145 00:06:36,243 --> 00:06:37,120 আছে. 146 00:06:37,120 --> 00:06:40,474 আপনি আপনার ফাংশন f বা গ্রাম নাম যদি বা H বা রহস্য বা যে ভালো কিছু, 147 00:06:40,474 --> 00:06:42,765 আপনি সম্ভবত পেতে যাচ্ছেন একটু চেষ্টা আপ হোঁচট খেয়েছি 148 00:06:42,765 --> 00:06:44,650 যারা ফাংশন কি মনে রাখা. 149 00:06:44,650 --> 00:06:47,880 তাই এটা গুরুত্বপূর্ণ আপনার ফাংশন এর অর্থপূর্ণ নাম. 150 00:06:47,880 --> 00:06:51,030 >> সর্বশেষে, যুক্তি তালিকা কমা দিয়ে পৃথক করা তালিকা 151 00:06:51,030 --> 00:06:55,260 আপনার ফাংশন সব ইনপুট, যার প্রতিটি একটি টাইপ এবং একটি নাম আছে. 152 00:06:55,260 --> 00:06:57,840 তাই না শুধুমাত্র আপনি এটি আছে না পরিবর্তনশীল কি ধরনের উল্লেখ 153 00:06:57,840 --> 00:07:00,760 কাজ করবে আউটপুট, এছাড়াও আপনি নির্দিষ্ট করতে চান 154 00:07:00,760 --> 00:07:07,694 কি ধরনের এবং ভেরিয়েবল ধরনের ফাংশন ইনপুট হিসাবে গ্রহণ করা হবে. 155 00:07:07,694 --> 00:07:08,860 সুতরাং আসুন এখানে একটি উদাহরণ না দেওয়া. 156 00:07:08,860 --> 00:07:10,220 এর মাত্র কটাক্ষপাত করা যাক আরো একটি কংক্রিট এক সময়ে. 157 00:07:10,220 --> 00:07:13,130 তাই এখানে একটি ফাংশন এর একটি উদাহরণ একটি ফাংশন জন্য ঘোষণা করে 158 00:07:13,130 --> 00:07:14,925 একসঙ্গে দুটি পূর্ণসংখ্যার যোগ হবে. 159 00:07:14,925 --> 00:07:17,800 দুটি পূর্ণসংখ্যার যোগফল যাচ্ছে একটি পূর্ণসংখ্যা, পাশাপাশি হতে আমরা ঠিক যেমন 160 00:07:17,800 --> 00:07:18,450 আলোচনা. 161 00:07:18,450 --> 00:07:21,610 আর তাই রিটার্ন টাইপ, এখানে সবুজ, int হতে হবে. 162 00:07:21,610 --> 00:07:25,190 যে শুধু দুটি ints যোগ আমাদেরকে বলে যে দিনের শেষে, যাচ্ছে, 163 00:07:25,190 --> 00:07:28,799 আউটপুট, বা এটি ফিরিয়ে থুতু আমাদের কাছে, একটি পূর্ণসংখ্যা. 164 00:07:28,799 --> 00:07:31,590 এই ফাংশন আমরা কি দেওয়া এটি একটি অর্থপূর্ণ নাম দিতে চান. 165 00:07:31,590 --> 00:07:33,630 দুটি ints মনে করো উপযুক্ত বিবেচনা 166 00:07:33,630 --> 00:07:37,574 আমরা ইনপুট হিসেবে দুটি পূর্ণসংখ্যার গ্রহণ করছেন এবং আশা তাদের একসঙ্গে যোগ. 167 00:07:37,574 --> 00:07:40,240 এটা একটা কষ্টকর একটি বিট হতে পারে নাম এবং অকপটে এই ফাংশন 168 00:07:40,240 --> 00:07:42,430 সম্ভবত প্রয়োজন হয় না আমরা উপরন্তু যেহেতু 169 00:07:42,430 --> 00:07:46,310 অপারেটর, আপনার কাছ থেকে প্রত্যাহার হলে আমাদের পূর্বে অপারেটরদের আলোচনা. 170 00:07:46,310 --> 00:07:49,650 কিন্তু এর মাত্র খাতিরে বলা যাক এই ফাংশন দরকারী যে যুক্তি 171 00:07:49,650 --> 00:07:52,860 এবং তাই আমরা এটা দুটি ints যোগ ডাকবো. 172 00:07:52,860 --> 00:07:55,230 সর্বশেষে, এই ফাংশন দুটি ইনপুট নেয়. 173 00:07:55,230 --> 00:07:56,960 যার প্রতিটি একটি পূর্ণসংখ্যা. 174 00:07:56,960 --> 00:07:59,900 সুতরাং আমরা এই কমা আছে ইনপুট বিচ্ছিন্ন তালিকা. 175 00:07:59,900 --> 00:08:02,830 এখন আমরা সাধারণত চান তাদের প্রতিটি একটি নাম দিতে 176 00:08:02,830 --> 00:08:05,070 তারা ব্যবহার করা যেতে পারে, যাতে ফাংশন মধ্যে. 177 00:08:05,070 --> 00:08:07,180 নাম ভয়ঙ্কর গুরুত্বপূর্ণ নয়. 178 00:08:07,180 --> 00:08:11,400 >> এই ক্ষেত্রে, আমরা অগত্যা না সংযুক্ত তাদের কোনো অর্থ আছে. 179 00:08:11,400 --> 00:08:13,140 তাই আমরা শুধু একটি এবং বো কল করতে পারেন. 180 00:08:13,140 --> 00:08:14,257 যে সম্পূর্ণই সূক্ষ্ম. 181 00:08:14,257 --> 00:08:16,090 তবে, আপনি এটি একটি পরিস্থিতির মধ্যে নিজেকে 182 00:08:16,090 --> 00:08:19,497 যেখানে ভেরিয়েবল নাম আসলে গুরুত্বপূর্ণ হতে পারে, 183 00:08:19,497 --> 00:08:21,830 আপনি তাদের সাথে যোগাযোগ করে চাইতে পারেন A এবং B ছাড়া অন্য কিছু 184 00:08:21,830 --> 00:08:24,701 তাদের আরো কিছু দিতে প্রতীকী অর্থবহ. 185 00:08:24,701 --> 00:08:27,700 কিন্তু এই ক্ষেত্রে, আমরা সত্যিই না ফাংশন সম্পর্কে অন্য কিছু জানেন. 186 00:08:27,700 --> 00:08:29,320 আমরা শুধু দুটি পূর্ণসংখ্যার যোগ করতে চান. 187 00:08:29,320 --> 00:08:32,429 তাই আমরা ঠিক ডাকবো যারা পূর্ণসংখ্যার একটি এবং খ. 188 00:08:32,429 --> 00:08:33,990 যে এক উদাহরণ. 189 00:08:33,990 --> 00:08:36,287 >> আপনি একটি দ্বিতীয় নিতে না কেন এই একটি বিষয়ে মনে, 190 00:08:36,287 --> 00:08:38,870 কিভাবে আপনি একটি ফাংশন লিখতে হবে একটি ফাংশন জন্য ঘোষণা করে 191 00:08:38,870 --> 00:08:42,940 দুই পয়েন্ট সংখ্যার ভাসমান বংশ বিস্তার করেন? 192 00:08:42,940 --> 00:08:45,910 আপনি কি একটি মনে করবেন না ফ্লোটিং পয়েন্ট সংখ্যা? 193 00:08:45,910 --> 00:08:48,120 এই ফাংশন would ঘোষণা মত চেহারা? 194 00:08:48,120 --> 00:08:53,330 আমি আসলে আপনি ভিডিও বিরতি সুপারিশ এখানে আপনি প্রয়োজন কত সময় লাগবে. 195 00:08:53,330 --> 00:08:55,521 কি এই সম্পর্কে চিন্তা করুন ফাংশন ঘোষণা হবে? 196 00:08:55,521 --> 00:08:56,770 রিটার্ন টাইপ কি হবে? 197 00:08:56,770 --> 00:08:58,103 একটি অর্থপূর্ণ নাম কি হবে? 198 00:08:58,103 --> 00:08:59,580 ইনপুট কি হবে? 199 00:08:59,580 --> 00:09:03,190 সুতরাং কেন আপনি এখানে ভিডিও বিরতি না এবং লিখুন আপ একটি ফাংশন ঘোষণা 200 00:09:03,190 --> 00:09:07,640 সংখ্যাবৃদ্ধি হবে যে একটি ফাংশন জন্য একসঙ্গে দুই ফ্লোটিং পয়েন্ট সংখ্যা. 201 00:09:07,640 --> 00:09:09,330 আশা রাখি, আপনি ভিডিও বিরাম. 202 00:09:09,330 --> 00:09:12,950 >> তাই এর একটি উদাহরণ কটাক্ষপাত করা যাক একটি সম্ভাব্য ঘোষণার. 203 00:09:12,950 --> 00:09:17,340 Mult দুই reals, ভাসা ভাসা ভাসা Y X. 204 00:09:17,340 --> 00:09:19,090 দুটি পণ্য পয়েন্ট সংখ্যা ভাসমান, 205 00:09:19,090 --> 00:09:21,710 যা প্রত্যাহার হয় আমরা বাস্তব সংখ্যার উপস্থাপন 206 00:09:21,710 --> 00:09:26,770 বা সি দশমিক মান সঙ্গে নম্বর, একটি ফ্লোটিং পয়েন্ট সংখ্যা হতে যাচ্ছে. 207 00:09:26,770 --> 00:09:28,570 আপনি একটি গুন করা একটি দশমিক দ্বারা দশমিক, 208 00:09:28,570 --> 00:09:30,460 আপনি সম্ভবত একটি দশমিক পেতে যাচ্ছেন. 209 00:09:30,460 --> 00:09:31,960 আপনি এটি একটি প্রাসঙ্গিক নাম দিতে চান. 210 00:09:31,960 --> 00:09:33,810 দুই reals গুন উত্তম বলে মনে হয়. 211 00:09:33,810 --> 00:09:36,620 কিন্তু যদি সত্যিই আপনি এটা বলতে পেরেছিলাম Mult দুই ফ্লোট, বা Mult ফ্লোট. 212 00:09:36,620 --> 00:09:39,540 এটা যতদিন যে ভালো কিছু, কিছু প্রকৃত অর্থ দিয়েছে তা 213 00:09:39,540 --> 00:09:41,469 এই কালো বাক্সে করতে যাচ্ছে. 214 00:09:41,469 --> 00:09:44,260 এবং আবার, এই ক্ষেত্রে, আমরা কি না কোনো অর্থ সংযুক্ত আছে বলে মনে হচ্ছে 215 00:09:44,260 --> 00:09:46,390 নাম আমরা পার করছি ভেরিয়েবল, 216 00:09:46,390 --> 00:09:48,645 তাই আমরা শুধু তাদের x এবং y কল. 217 00:09:48,645 --> 00:09:51,020 আপনি কিছু তাদের সাথে যোগাযোগ করে এখন যদি অন্য যে সম্পূর্ণই সূক্ষ্ম. 218 00:09:51,020 --> 00:09:53,310 আসলে, আপনি না হলে এই ঘোষণার পরিবর্তে 219 00:09:53,310 --> 00:09:55,450 পরিবর্তে দ্বিগুণ ব্যবহার আপনার যদি মনে থাকে এর, floats 220 00:09:55,450 --> 00:09:59,100 টেনিস একটি ভিন্ন হয় পথ থেকে আরো স্পষ্ট 221 00:09:59,100 --> 00:10:02,330 বাস্তব সংখ্যার উল্লেখ বা পয়েন্ট ভেরিয়েবল ভাসমান. 222 00:10:02,330 --> 00:10:03,620 যে খুব সম্পূর্ণই সূক্ষ্ম. 223 00:10:03,620 --> 00:10:04,670 হয় যারা এক জরিমানা করা হবে. 224 00:10:04,670 --> 00:10:06,711 আসলে, বেশ কিছু আছে বিভিন্ন সমন্বয় 225 00:10:06,711 --> 00:10:08,410 উপায়ে এই ফাংশন ডিক্লেয়ার করতে. 226 00:10:08,410 --> 00:10:10,884 কিন্তু এই দুটি প্রশংসনীয় ভাল বেশী হয়. 227 00:10:10,884 --> 00:10:12,550 আমরা দারুণ একটি ফাংশন ঘোষণা করেছি. 228 00:10:12,550 --> 00:10:15,700 আমরা কি এটা কম্পাইলার বলেছি আমরা কি করছেন করা চলুন হয়. 229 00:10:15,700 --> 00:10:17,630 এখন আমি কি আসলে যে ফাংশন লিখতে দিন. 230 00:10:17,630 --> 00:10:20,750 এর এটি একটি সংজ্ঞা দিতে যাক, তাই যে কালো বক্সের ভিতরে 231 00:10:20,750 --> 00:10:22,840 আন্দাজের আচরণ ঘটছে. 232 00:10:22,840 --> 00:10:26,270 আসলে, আমরা দুটি বাস্তব গুণকারক একসঙ্গে নম্বর, বা যোগ সংখ্যা 233 00:10:26,270 --> 00:10:29,760 একসাথে, বা যাই হোক না কেন করছেন যে আমরা কি আমাদের ফাংশন জিজ্ঞাসা. 234 00:10:29,760 --> 00:10:32,780 >> আসলে তাই, এর চেষ্টা এবং সংজ্ঞায়িত করা যাক দুই reals সংখ্যাবৃদ্ধি যা আমরা শুধু 235 00:10:32,780 --> 00:10:35,350 একটি দ্বিতীয় আগে সম্পর্কে বললাম. 236 00:10:35,350 --> 00:10:38,560 এখন শুরু একটি ফাংশন সংজ্ঞা 237 00:10:38,560 --> 00:10:41,720 প্রায় হুবহু একই দেখায় একটি ফাংশন ঘোষণা হিসেবে. 238 00:10:41,720 --> 00:10:43,170 আমি এখানে দুইটাই আছে. 239 00:10:43,170 --> 00:10:47,770 উপরের ফাংশন ঘোষণা হয়, টাইপ, নাম, কমা দিয়ে পৃথক যুক্তি 240 00:10:47,770 --> 00:10:49,410 তালিকায়, সেমিকোলন. 241 00:10:49,410 --> 00:10:53,800 সেমিকোলন যে ইঙ্গিত একটি ফাংশন যে ঘোষণা হয়. 242 00:10:53,800 --> 00:10:57,060 ফাংশন শুরুতে সংজ্ঞা প্রায় হুবহু দেখায় 243 00:10:57,060 --> 00:11:03,790 একই, প্রকার, নাম, কমা দিয়ে পৃথক করা যুক্তি তালিকা, কোন সেমিকোলন, 244 00:11:03,790 --> 00:11:05,206 কোঁকড়া বক্রবন্ধনী খুলুন. 245 00:11:05,206 --> 00:11:07,580 খোলা কোঁকড়া বক্রবন্ধনী, ঠিক যেমন আমরা প্রধান সঙ্গে কাজ করছি 246 00:11:07,580 --> 00:11:09,540 আমরা এখন যে মানে সংজ্ঞায়িত শুরু 247 00:11:09,540 --> 00:11:14,567 কি কালো বক্সের ভিতরে এরকম আমরা Mult দুই reals কল করার সিদ্ধান্ত নিয়েছে করেছি. 248 00:11:14,567 --> 00:11:15,900 এখানে তা বাস্তবায়ন করার একটি উপায়. 249 00:11:15,900 --> 00:11:20,370 আমরা একটি নতুন ঘোষণা পারে, বলতে পারে টাইপ ভাসা পণ্য নামক পরিবর্তনশীল 250 00:11:20,370 --> 00:11:24,020 এবং যে পরিবর্তনশীল ধার্য x এর মান বার Y করতে. 251 00:11:24,020 --> 00:11:27,306 এবং তারপর পণ্য আসতে. 252 00:11:27,306 --> 00:11:28,430 রিটার্ন এখানে এর অর্থ কি. 253 00:11:28,430 --> 00:11:31,090 ওয়েল রিটার্ন উপায় আমরা যে কিভাবে ইঙ্গিত 254 00:11:31,090 --> 00:11:33,400 আমরা আউটপুট হঠা পার করছি. 255 00:11:33,400 --> 00:11:38,160 সুতরাং হিসাবে একই, কিছু ফিরে, এই কালো বাক্সের আউটপুট. 256 00:11:38,160 --> 00:11:40,732 কিভাবে আপনি এটা করবেন সুতরাং যে. 257 00:11:40,732 --> 00:11:42,190 এখানে তা বাস্তবায়ন করার জন্য অন্য উপায়. 258 00:11:42,190 --> 00:11:45,050 আমরা শুধু y X বার আসতে পারে. 259 00:11:45,050 --> 00:11:45,870 X একটি float হয়. 260 00:11:45,870 --> 00:11:46,660 Y একটি float হয়. 261 00:11:46,660 --> 00:11:48,490 বার X সুতরাং Y একটি ভাসা হয়. 262 00:11:48,490 --> 00:11:50,750 আমরা এমনকি প্রয়োজন হবে না অন্য পরিবর্তনশীল তৈরি. 263 00:11:50,750 --> 00:11:56,750 সুতরাং যে অন্যভাবে এর সঠিক একই কালো বাক্স বাস্তবায়ন. 264 00:11:56,750 --> 00:11:58,570 >> এখন কিছু সময় দিন, আবার ভিডিও বিরতি, 265 00:11:58,570 --> 00:12:01,680 এবং, দুটি ints যোগ চেষ্টা এবং সংজ্ঞায়িত যা অন্যান্য ফাংশন যে আমরা 266 00:12:01,680 --> 00:12:03,090 একটি মুহূর্ত আগে সম্পর্কে বললাম. 267 00:12:03,090 --> 00:12:06,440 এখানে আবার, আমি ফাংশন রেখেছি ঘোষণা, এবং তাই সেমিকোলন, 268 00:12:06,440 --> 00:12:08,420 এবং একটি খোলা কোঁকড়া বক্রবন্ধনী এবং একটি বদ্ধ কুঞ্চিত 269 00:12:08,420 --> 00:12:12,080 আমরা পূরণ যেখানে বক্রবন্ধনী ইঙ্গিত বিষয়বস্তু, দুটি ints যোগ 270 00:12:12,080 --> 00:12:15,530 আমরা বিশেষ নির্ধারণ যাতে কালো বাক্সের ভিতর আচরণ. 271 00:12:15,530 --> 00:12:16,380 তাই ভিডিও বিরতি. 272 00:12:16,380 --> 00:12:18,790 আর যতটা সময় লাগবে আপনি চেষ্টা এবং উল্লেখ করা প্রয়োজন 273 00:12:18,790 --> 00:12:25,040 একটি বাস্তবায়ন দুটি ints যোগ, যেমন যে ফাংশন একটি মান আউটপুট যখন, 274 00:12:25,040 --> 00:12:29,209 এটা আসলে, আছে, রিটার্ন দুই ইনপুট এর সমষ্টি. 275 00:12:29,209 --> 00:12:32,000 তাই শুধু পূর্ববর্তী উদাহরণটি, বিভিন্নরূপে আছে 276 00:12:32,000 --> 00:12:34,210 আপনি বাস্তবায়ন করতে পারে যে দুটি ints যোগ করুন. 277 00:12:34,210 --> 00:12:35,130 এখানে এক. 278 00:12:35,130 --> 00:12:37,172 এখানে কমলা আমি করেছি শুধু কিছু comments-- ছিল 279 00:12:37,172 --> 00:12:38,880 আমি শুধু কিছু যোগ করেছি মন্তব্য ইঙ্গিত 280 00:12:38,880 --> 00:12:41,400 কি কোড প্রতিটি লাইনে ঘটছে. 281 00:12:41,400 --> 00:12:45,430 তাই আমি একটি ভেরিয়েবল ডিক্লেয়ার টাইপ int এর সমষ্টি বলা. 282 00:12:45,430 --> 00:12:47,279 আমি সমষ্টি একটি প্লাস বি সমান বলে. 283 00:12:47,279 --> 00:12:50,070 আমরা আসলে কি করছেন যে যেখানে কাজ একটি যোগ এবং বো একসাথে. 284 00:12:50,070 --> 00:12:51,850 আর আমি সমষ্টি ফিরে. 285 00:12:51,850 --> 00:12:56,460 আর যে অর্থে কারণ তোলে সমষ্টি, int- এ টাইপ একটি পরিবর্তনশীল. 286 00:12:56,460 --> 00:13:00,180 আর তথ্য এই যে টাইপ কি ফাংশন এটি আউটপুট যাচ্ছে আমাকে বলে? 287 00:13:00,180 --> 00:13:00,680 Int. 288 00:13:00,680 --> 00:13:03,072 তাই আমি, সমষ্টি ফেরত দিচ্ছি যা একটি পূর্ণসংখ্যা পরিবর্তনশীল. 289 00:13:03,072 --> 00:13:06,030 আর যে অর্থে আমরা করেছি কি দেওয়া তোলে ঘোষণা এবং আমাদের ফাংশন পূর্বনির্ধারণ 290 00:13:06,030 --> 00:13:07,320 করতে. 291 00:13:07,320 --> 00:13:09,700 >> এখন আপনার কাছে নির্ধারণ করতে পারবেন ফাংশন এই ভাবে, 292 00:13:09,700 --> 00:13:15,260 int- যোগফল যে লাফালাফি বি একটি প্লাস সমান step-- প্রথম এবং তারপর, সমষ্টি ফিরে. 293 00:13:15,260 --> 00:13:17,760 এখন আপনার কাছে থাকতে পারে এটা, এই ভাবে বাস্তবায়িত 294 00:13:17,760 --> 00:13:19,180 যা আমি অত্যন্ত সুপারিশ করবেন না. 295 00:13:19,180 --> 00:13:22,540 এই এক জন্য খারাপ শৈলী জিনিস এবং সত্যিই খারাপ নকশা, 296 00:13:22,540 --> 00:13:24,420 কিন্তু এটা সত্য, কাজের মধ্যে, আছে. 297 00:13:24,420 --> 00:13:30,199 আপনি কোন int যা এই কোড, নিতে হলে খারাপ যোজক বিন্দু গ যোগ, এবং এটি ব্যবহার করুন. 298 00:13:30,199 --> 00:13:31,990 এটা আসলে আম্বারা বুঝে একসঙ্গে দুটি পূর্ণসংখ্যার. 299 00:13:31,990 --> 00:13:37,632 এটা একটা খুব দরিদ্র বাস্তবায়ন এই বিশেষ আচরণ. 300 00:13:37,632 --> 00:13:38,340 কিন্তু এটি কাজ করে. 301 00:13:38,340 --> 00:13:41,200 এটা চিত্রিত করা শুধু এখানে আমরা সত্যিই না যে বিন্দু 302 00:13:41,200 --> 00:13:44,530 ভিতরে কি যত্ন যতদিন কালো বাক্স, 303 00:13:44,530 --> 00:13:46,510 আমরা আশা যে আউটপুট হিসেবে. 304 00:13:46,510 --> 00:13:48,870 এটি একটি দুর্বল পরিকল্পিত ব্ল্যাক বক্স. 305 00:13:48,870 --> 00:13:53,801 কিন্তু শেষে দিন, এটা আছে এখনও আউটপুট একটি প্লাস বি এর সমষ্টি. 306 00:13:53,801 --> 00:13:54,300 ঠিক আছে. 307 00:13:54,300 --> 00:13:56,320 সুতরাং আমরা ফাংশন ঘোষণা করেছি. 308 00:13:56,320 --> 00:13:57,490 আর আমরা ফাংশন পূর্বনির্ধারণ করে থাকেন. 309 00:13:57,490 --> 00:13:58,540 সুতরাং যে সত্যিই ভাল. 310 00:13:58,540 --> 00:14:03,020 এখন এর ফাংশন ব্যবহার শুরু করা যাক যে আমরা ঘোষণা করেছি এবং আমরা সংজ্ঞায়িত করেছি. 311 00:14:03,020 --> 00:14:05,960 এটা আসলে একটি ফাংশন কল করুন আপনাকে যা করতে হবে সব চমত্কার easy-- 312 00:14:05,960 --> 00:14:09,070 উপযুক্ত আর্গুমেন্ট এটি পাস হয়, ডাটা টাইপ এর আর্গুমেন্ট 313 00:14:09,070 --> 00:14:11,600 এটা আশা, এবং তারপর ফিরতি ধার্য 314 00:14:11,600 --> 00:14:15,190 যে ফাংশন এর মান এবং আপাততঃ অজুহাত ভগবন্ 315 00:14:15,190 --> 00:14:19,390 যে ফাংশন ফেরত মান নির্ধারণ সঠিক টাইপ কিছু দিতে. 316 00:14:19,390 --> 00:14:22,410 >> সুতরাং আসুন কটাক্ষপাত আছে যাক একই ফাইলের মধ্যে, এই অনুশীলন 317 00:14:22,410 --> 00:14:27,730 বলা যোজক 1 বিন্দু গ, যা আমি আমার CS50 IDE তে আছে. 318 00:14:27,730 --> 00:14:31,042 সুতরাং এখানে যোজক 1 ডট গ. 319 00:14:31,042 --> 00:14:33,500 শুরুতে আমাকে ছুঁয়ে দেখ আমার রয়েছে, পাউন্ড, অন্তর্ভুক্ত 320 00:14:33,500 --> 00:14:35,460 প্রমিত IO, এবং CS50 ডট জ. 321 00:14:35,460 --> 00:14:37,700 এবং তারপর আমি আমার ফাংশন ঘোষণা আছে. 322 00:14:37,700 --> 00:14:39,570 আমি এই যেখানে আমি কম্পাইলার কহন 323 00:14:39,570 --> 00:14:42,850 একটি লেখা যাচ্ছে বলা ফাংশন দুটি ints যোগ করুন. 324 00:14:42,850 --> 00:14:45,780 এটা আউটপুট একটি যাচ্ছে পূর্ণসংখ্যা ধরনের পরিবর্তনশীল. 325 00:14:45,780 --> 00:14:47,360 যে এই অংশ এখানে ডান কি. 326 00:14:47,360 --> 00:14:51,950 এবং তারপর আমি এটা একটি দুটি ইনপুট আছে এবং বি, যা প্রতিটি একটি পূর্ণসংখ্যা. 327 00:14:51,950 --> 00:14:58,250 প্রধান ভেতরে, আমি জন্য ব্যবহারকারীকে জিজ্ঞাসা বলার অপেক্ষা রাখে না ইনপুট, আমাকে একটি পূর্ণসংখ্যা দিতে. 328 00:14:58,250 --> 00:15:01,040 তাঁরা ভুলতে অনুরোধ করা হবে একটি ফাংশন যা কোন int, যে 329 00:15:01,040 --> 00:15:03,240 CS50 লাইব্রেরি অন্তর্ভুক্ত করা হয়. 330 00:15:03,240 --> 00:15:07,660 আর যে এ সঞ্চিত X, একটি পূর্ণসংখ্যা পরিবর্তনশীল. 331 00:15:07,660 --> 00:15:09,886 >> তারপর আমরা অন্য একটি পূর্ণসংখ্যা জন্য তাদের অনুরোধ জানানো. 332 00:15:09,886 --> 00:15:13,070 আমরা অন্য একটি পূর্ণসংখ্যা পেতে এবং Y মধ্যে যে সংরক্ষণ. 333 00:15:13,070 --> 00:15:17,990 এবং তারপর, এখানে লাইন 28, হয় যেখানে আমরা আমাদের ফাংশন কল করা. 334 00:15:17,990 --> 00:15:23,770 আমরা int-z সমান বলছে 2, ints এক্স কমা Y যোগ করুন. 335 00:15:23,770 --> 00:15:25,980 এই ইন্দ্রিয় তোলে কেন আপনি কি দেখতে পাচ্ছেন? 336 00:15:25,980 --> 00:15:29,710 X একটি পূর্ণসংখ্যা টাইপ ভেরিয়েবল এবং Y একটি পূর্ণসংখ্যা টাইপ পরিবর্তনশীল. 337 00:15:29,710 --> 00:15:31,220 তাই ভালো. 338 00:15:31,220 --> 00:15:34,570 কি আমাদের ফাংশন সঙ্গে যে জানার লাইন 17 ঘোষণা মত দেখাচ্ছে. 339 00:15:34,570 --> 00:15:38,300 কমা দিয়ে পৃথক করা ইনপুট তালিকা দুটি পূর্ণসংখ্যার, A এবং B আশা. 340 00:15:38,300 --> 00:15:40,300 যে ক্ষেত্রে, আমরা কল করতে পারেন তাদের যাই হোক না কেন আমরা চাই. 341 00:15:40,300 --> 00:15:42,300 এটা শুধু দুটি পূর্ণসংখ্যার আশা. 342 00:15:42,300 --> 00:15:44,930 এবং এক্স একটি পূর্ণসংখ্যা এবং y একটি পূর্ণসংখ্যা. 343 00:15:44,930 --> 00:15:45,640 ওই কাজগুলো. 344 00:15:45,640 --> 00:15:48,680 >> আর আমরা যে ফাংশন যাচ্ছে জানি আউটপুট একটি পূর্ণসংখ্যার পাশাপাশি. 345 00:15:48,680 --> 00:15:51,290 আর তাই আমরা সংরক্ষণ করা হয় ফাংশন আউটপুট, 346 00:15:51,290 --> 00:15:56,050 একটি পূর্ণসংখ্যা টাইপ, দুটি ints যোগ পরিবর্তনশীল, আমরা Z আহ্বান করছি যা. 347 00:15:56,050 --> 00:16:01,980 এবং তারপর আমরা, এর সমষ্টি বলতে পারেন শতাংশ আমি এবং শতাংশ আমি শতাংশ. 348 00:16:01,980 --> 00:16:06,210 X, Y এবং Z যথাক্রমে যারা শতাংশ আমি এর মধ্যে ভর্তি. 349 00:16:06,210 --> 00:16:08,334 সংজ্ঞা কি দুটি ints অনুরূপ যোগ? 350 00:16:08,334 --> 00:16:09,125 এটি বেশ সহজ. 351 00:16:09,125 --> 00:16:11,270 এটা বেশী এক আমরা শুধু, একটি দ্বিতীয় আগে দেখেছি 352 00:16:11,270 --> 00:16:14,390 int- যোগফল একটি প্লাস বি ফিরে যোগফল সমান. 353 00:16:14,390 --> 00:16:15,420 এটা কি কাজ করে? 354 00:16:15,420 --> 00:16:17,270 এর ফাইলটি সংরক্ষণ করুন. 355 00:16:17,270 --> 00:16:22,080 এবং তারপর নিচে এখানে আমার টার্মিনালে আমি যোজক 1 করতে যাচ্ছি 356 00:16:22,080 --> 00:16:23,000 এবং আমি আমার পর্দা পরিষ্কার. 357 00:16:23,000 --> 00:16:25,791 আমি জানি, কারণ জুম করতে যাচ্ছি এটি দেখতে একটু কঠিন. 358 00:16:25,791 --> 00:16:31,520 359 00:16:31,520 --> 00:16:33,770 >> সুতরাং আমরা যোজক 1 হিসাবে এই প্রোগ্রাম কম্পাইল. 360 00:16:33,770 --> 00:16:37,910 সুতরাং আমরা ডট স্ল্যাশ যোজক 1 নির্বাচন করতে পারবেন. 361 00:16:37,910 --> 00:16:40,060 10 একটি পূর্ণসংখ্যা দিন. 362 00:16:40,060 --> 00:16:42,380 20 আমাকে আরেকটা পূর্ণসংখ্যা দিতে. 363 00:16:42,380 --> 00:16:45,200 10 এবং 20 এর যোগফল 30 হয়. 364 00:16:45,200 --> 00:16:47,615 সুতরাং আমরা একটি সফল ফাংশন কল করা হয়. 365 00:16:47,615 --> 00:16:55,820 আপনি, নেতিবাচক আবার ফাংশন চালাতে পারেন 10, নেতিবাচক 10 এবং 17 এর 17 সমষ্টি 7. 366 00:16:55,820 --> 00:16:57,120 এই ফাংশনটি কাজ. 367 00:16:57,120 --> 00:16:59,240 এটা একটা বিরাট সমস্যা আছে আমরা এটা আশা যে. 368 00:16:59,240 --> 00:17:03,610 আর তাই আমরা একটি সফল করেছি ফাংশন, সংজ্ঞা, ঘোষণা, 369 00:17:03,610 --> 00:17:07,288 এবং একজন সফল ফাংশন কল. 370 00:17:07,288 --> 00:17:09,079 দম্পতি বিবিধ ফাংশন সম্পর্কে পয়েন্ট 371 00:17:09,079 --> 00:17:10,611 আমরা এই বিভাগে এই উপসংহারে আগে. 372 00:17:10,611 --> 00:17:12,319 থেকে প্রত্যাহার করা আমাদের তথ্য ধরনের আলোচনা, 373 00:17:12,319 --> 00:17:16,109 পূর্বে, ফাংশন যে কখনও কখনও কোন ইনপুট নিতে পারেন. 374 00:17:16,109 --> 00:17:17,930 যদি সেই ক্ষেত্রে, আমরা ফাংশন ডিক্লেয়ার 375 00:17:17,930 --> 00:17:19,788 একটি অকার্যকর যুক্তি তালিকায় থাকার হিসাবে. 376 00:17:19,788 --> 00:17:21,579 আপনি কি প্রত্যাহার না সবচেয়ে সাধারণ ফাংশন 377 00:17:21,579 --> 00:17:25,036 আমরা এ পর্যন্ত লাগে যে দেখা করেছি একটি অকার্যকর আর্গুমেন্ট তালিকা? 378 00:17:25,036 --> 00:17:27,300 এটা মেইনের. 379 00:17:27,300 --> 00:17:30,850 কখনও কখনও যে ফাংশন প্রত্যাহার আসলে একটি আউটপুট আছে না. 380 00:17:30,850 --> 00:17:34,210 যে ক্ষেত্রে, আমরা ফাংশন ডিক্লেয়ার একটি অকার্যকর রিটার্ন টাইপ জমিদারি হিসেবে. 381 00:17:34,210 --> 00:17:37,880 এর দ্বারা এই ধারার এই উপসংহারে যাক একটি অনুশীলন সমস্যা মোকাবেলা. 382 00:17:37,880 --> 00:17:39,900 >> সুতরাং এখানে পরিপূর্ণ সমস্যা. 383 00:17:39,900 --> 00:17:43,630 আমি আপনাকে একটি ফাংশন লিখতে চান বৈধ ত্রিভুজ বলা হয়. 384 00:17:43,630 --> 00:17:47,410 এই ফাংশন কি করা উচিত তিনটি বাস্তব সংখ্যার নিতে হয় 385 00:17:47,410 --> 00:17:51,930 যে তিনটি লেন্থ উপস্থাপন তার পরামিতি হিসেবে একটি ত্রিভুজ পক্ষের, 386 00:17:51,930 --> 00:17:54,550 বা তার আর্গুমেন্ট, বা তার প্রতিশব্দ অন্য সেট ইনপুট 387 00:17:54,550 --> 00:17:57,340 আপনি সম্মুখীন হতে পারে. 388 00:17:57,340 --> 00:18:01,120 এই কাজ করা উচিত আউটপুট হয় সত্য বা মিথ্যা 389 00:18:01,120 --> 00:18:04,960 তার উপর নির্ভর করে যারা তিন লেন্থ কিনা একটি ত্রিভুজ তৈরি করতে সক্ষম হয়. 390 00:18:04,960 --> 00:18:09,930 আপনি ডাটা টাইপ মনে করবেন না যে আমরা সত্য বা মিথ্যা নির্দেশ করতে ব্যবহৃত? 391 00:18:09,930 --> 00:18:11,436 এখন আপনি এই কিভাবে বাস্তবায়ন করবেন? 392 00:18:11,436 --> 00:18:13,810 ওয়েল একটি দম্পতি আছে জানি ত্রিভুজ সংক্রান্ত নিয়ম 393 00:18:13,810 --> 00:18:15,480 যে আসলে জানতে উপযোগী. 394 00:18:15,480 --> 00:18:18,292 একটি ত্রিভুজ শুধুমাত্র থাকতে পারে ইতিবাচক দৈর্ঘ্য সঙ্গে পক্ষই. 395 00:18:18,292 --> 00:18:19,000 এটা বোধগম্য. 396 00:18:19,000 --> 00:18:21,432 আপনি সম্ভবত Duh, বলছে. 397 00:18:21,432 --> 00:18:23,390 অন্যান্য বিষয় উল্লেখ্য যদিও, সমষ্টি যে হয় 398 00:18:23,390 --> 00:18:25,484 কোনো লেন্থ ত্রিভুজের দুই বাহুর 399 00:18:25,484 --> 00:18:27,650 তার চেয়ে অনেক বেশী হতে হয়েছে তৃতীয় প্রান্তের দৈর্ঘ্য. 400 00:18:27,650 --> 00:18:28,690 যে আসলে সত্য. 401 00:18:28,690 --> 00:18:34,150 আপনি, পক্ষের 1 একটি ত্রিভুজ থাকতে পারে না উদাহরণস্বরূপ 2 এবং 4, 1 প্লাস 2 কারণ 402 00:18:34,150 --> 00:18:36,270 4 থেকে বড় নয়. 403 00:18:36,270 --> 00:18:38,870 যাদের তাই নিয়ম আছে নির্ধারণ তিনটি কিনা বা না 404 00:18:38,870 --> 00:18:42,740 ইনপুট বোধগম্যভাবে একটি ত্রিভুজ গঠন করতে পারেন. 405 00:18:42,740 --> 00:18:46,360 তাই কয়েক মিনিট লাগবে এবং ঘোষণা এবং তারপর নির্ধারণ 406 00:18:46,360 --> 00:18:49,810 বৈধ নামক এই ফাংশন ত্রিভুজ, যেমন এটা যে আসলে 407 00:18:49,810 --> 00:18:51,650 এখানে নির্দিষ্ট আচরণ করেছে. 408 00:18:51,650 --> 00:18:57,030 >> আউটপুট হবে সত্য যারা তিন পক্ষই যদি একটি ত্রিভুজ গঠিত সক্ষম 409 00:18:57,030 --> 00:19:01,950 এবং মিথ্যা অন্যথায় আপনি কি দেখতে প্রস্তুত? 410 00:19:01,950 --> 00:19:04,650 এখানে এক বাস্তবায়ন বৈধ ত্রিভুজ. 411 00:19:04,650 --> 00:19:05,770 এটা কেবল এক না. 412 00:19:05,770 --> 00:19:07,770 পুলিশের সামান্য তারতম্য হতে পারে. 413 00:19:07,770 --> 00:19:11,040 কিন্তু এই এক আসলে, আছে, আছে আমরা আশা যে আচরণ. 414 00:19:11,040 --> 00:19:14,450 আমরা আমাদের ফাংশন ডিক্লেয়ার খুব উপরে, বৈধ ত্রিভুজ bool 415 00:19:14,450 --> 00:19:16,630 X ভাসমান ভাসমান Y z- র ভাসা. 416 00:19:16,630 --> 00:19:18,930 তাই আবার, এই ফাংশন তিনটি বাস্তব সংখ্যার লাগে 417 00:19:18,930 --> 00:19:22,280 তার আর্গুমেন্ট হিসাবে, ভাসমান বিন্দু মান ভেরিয়েবল, 418 00:19:22,280 --> 00:19:26,510 এবং একটি সত্য বা মিথ্যা আউটপুট একটি বুলিয়ান, রিকল যা মান,. 419 00:19:26,510 --> 00:19:28,660 রিটার্ন ধরন bool হয় সুতরাং যে কেন. 420 00:19:28,660 --> 00:19:30,016 তারপর আমরা ফাংশন নির্ধারণ. 421 00:19:30,016 --> 00:19:33,140 আমরা কি প্রথম জিনিস নিশ্চিত করার জন্য পরীক্ষা হল যে পক্ষের সব ইতিবাচক হয়. 422 00:19:33,140 --> 00:19:37,010 X কম বা সমান হয়, তাহলে 0 যাও, অথবা Y 0 সমান হলে, 423 00:19:37,010 --> 00:19:41,050 অথবা z, কম বা 0 সমান হলে যে সম্ভবত একটি ত্রিভুজ হতে পারবেন না. 424 00:19:41,050 --> 00:19:42,380 তারা ইতিবাচক দিকের হবে না. 425 00:19:42,380 --> 00:19:45,790 আর তাই আমরা ফিরে আসতে পারেন যে অবস্থায় মিথ্যা. 426 00:19:45,790 --> 00:19:49,010 এর পরে, আমরা নিশ্চিত করতে পরীক্ষা যে ইনপুট প্রতি জোড়া 427 00:19:49,010 --> 00:19:51,830 তৃতীয় এক তার চেয়ে অনেক বেশী. 428 00:19:51,830 --> 00:19:54,530 >> তাই এক্স প্লাস Y কম হয় z এর চেয়ে বড় বা সমান, 429 00:19:54,530 --> 00:19:57,060 বা এক্স প্লাস z- র কম হয় Y কম বা তার সমান, 430 00:19:57,060 --> 00:20:01,730 অথবা Y প্লাস z- র যদি কম বা সমান X, যে একটি বৈধ ত্রিভুজ হতে পারবেন না. 431 00:20:01,730 --> 00:20:03,800 তাই আমরা আবার ফিরে এলাম. 432 00:20:03,800 --> 00:20:06,900 অভিমানী আমরা চেক উভয় পাশ যদিও, তারপর আমরা সত্য ফিরে আসতে পারেন. 433 00:20:06,900 --> 00:20:09,440 যারা তিন পক্ষের কারণ returning-- করতে সক্ষম 434 00:20:09,440 --> 00:20:11,647 একটি বৈধ ত্রিভুজ তৈরি. 435 00:20:11,647 --> 00:20:12,230 এবং যে এটি. 436 00:20:12,230 --> 00:20:13,830 আপনি এখন ঘোষণা এবং সংজ্ঞায়িত করেছি. 437 00:20:13,830 --> 00:20:17,330 আর আপনি এখন করতে সক্ষম হতে পারে ব্যবহার এবং এই ফাংশন কল. 438 00:20:17,330 --> 00:20:19,470 দারূন কাজ. 439 00:20:19,470 --> 00:20:20,650 আমি ডগ লয়েড আছি. 440 00:20:20,650 --> 00:20:22,820 এই CS50. 441 00:20:22,820 --> 00:20:24,340