1 00:00:06,650 --> 00:00:09,390 [Powered by Google Translate] JOE MCCORMICK: তাই এখন আমরা ভেরিয়েবল সম্বন্ধেই চলুন. 2 00:00:09,390 --> 00:00:13,270 কম্পিউটার বিজ্ঞান মধ্যে ভেরিয়েবল হল একটি পদ্ধতি একটি মান সঞ্চয়. 3 00:00:13,270 --> 00:00:14,980 এখন, কি এবং কিভাবে আমরা যে দোকান 4 00:00:14,980 --> 00:00:16,210 মান খুব গুরুত্বপূর্ণ নয়. 5 00:00:16,210 --> 00:00:19,780 আমরা একটি মান যে একটি শব্দ আছে, যে পারা যাবে 6 00:00:19,780 --> 00:00:21,170 একটি স্ট্রিং হিসাবে সংরক্ষিত করা হবে. 7 00:00:21,170 --> 00:00:23,160 অথবা আমরা কিছু অক্ষর আছে যা করতে পারিনি, 8 00:00:23,160 --> 00:00:24,110 ভালো একটি চিঠি. 9 00:00:24,110 --> 00:00:26,420 এবং যে একটি গৃহস্থালি হিসাবে সংরক্ষিত হবে. 10 00:00:26,420 --> 00:00:29,660 আমরা এক বা 12 এর মত একটি নম্বর আছে,, হতে পারে যে হবে 11 00:00:29,660 --> 00:00:32,310 পূর্ণসংখ্যা মান অথবা কোন int হিসাবে সঞ্চিত. 12 00:00:32,310 --> 00:00:35,940 তারপর, আমরা একটি float মত বিভিন্ন জিনিষ, যা সঞ্চয় করতে পারেন 13 00:00:35,940 --> 00:00:41,700 1.01 বা 111,13 ভালো জিনিস. 14 00:00:41,700 --> 00:00:43,530 এই মানগুলি সর্বদা চপল বলা হয়. 15 00:00:43,530 --> 00:00:46,490 যার অর্থ হল আমরা যদি একটি পূর্ণসংখ্যা মধ্যে এক নম্বর সংরক্ষিত সময়ে 16 00:00:46,490 --> 00:00:49,490 একটি প্রোগ্রাম পরে উপরে, আমরা যে নম্বর পরিবর্তন করতে পারে 17 00:00:49,490 --> 00:00:51,460 তিন বা সাত হবে. 18 00:00:51,460 --> 00:00:53,890 এখন, একটি স্থানীয় পরিবর্তনশীল কি সাধারণত আপনি সম্মুখীন হবেন, 19 00:00:53,890 --> 00:00:55,250 যখন একটি ফাংশন নির্বাহ. 20 00:00:55,250 --> 00:00:57,260 তাই কিছু বলতে আপনি আপনার প্রধান ফাংশন মধ্যে থাকেন. 21 00:00:57,260 --> 00:00:59,910 এবং আপনাকে একটি পরিবর্তনশীল নামক num ফাইলে তৈরি করতে চান. 22 00:00:59,910 --> 00:01:01,240 এবং আমরা এটি একটি পূর্ণসংখ্যা সংরক্ষণ করব. 23 00:01:01,240 --> 00:01:04,680 সুতরাং আমরা int-num ফাইলে = 3 ভালো কিছু বলতে পারে. 24 00:01:04,680 --> 00:01:05,319 এখন আছে, আপনি যান. 25 00:01:05,319 --> 00:01:06,830 আপনি একটি স্থানীয় পরিবর্তনশীল আছে. 26 00:01:06,830 --> 00:01:09,670 এখন, এই পরিবর্তনশীল প্রধান পরিবর্তন করা হবে পরে করতে পারেন 27 00:01:09,670 --> 00:01:13,700 ফাংশন, num ফাইলে দ্বারা ভালো কিছু বলছে = 6 বা num ফাইলে = 7. 28 00:01:13,700 --> 00:01:15,940 কিন্তু আপনার পরিবর্তনশীল মধ্যে আটকে না 29 00:01:15,940 --> 00:01:18,320 যে ফাংশন সুযোগ রয়েছে. 30 00:01:18,320 --> 00:01:21,690 এবং সুযোগ সাধারণত এ কোঁকড়া বক্রবন্ধনী শুরু 31 00:01:21,690 --> 00:01:23,990 কোঁকড়া বক্রবন্ধনী যে প্রারম্ভে প্রধান এবং শেষ 32 00:01:23,990 --> 00:01:26,230 পরিষদের প্রধান ফাংশন আউট. 33 00:01:26,230 --> 00:01:29,610 এবং এই স্থানীয় পরিবর্তনশীল এখন এই সুযোগ মধ্যে আটকে গেছে. 34 00:01:29,610 --> 00:01:32,200 সুতরাং আরেকটি ফাংশন আর ব্যবহার করা সম্ভব, 35 00:01:32,200 --> 00:01:33,950 বাইরে প্রধান ফাংশন. 36 00:01:33,950 --> 00:01:36,230 এবং একবার প্রধান ফাংশন কার্য সম্পাদন করা এবং সম্পন্ন 37 00:01:36,230 --> 00:01:40,460 আয়, এই স্থানীয় পরিবর্তনশীল নামক num ফাইলে সর্বস্বান্ত হয়. 38 00:01:40,460 --> 00:01:42,760 তাই স্থানীয় ভেরিয়েবল যাও বিপরীতে, আমরা কিছু আছে 39 00:01:42,760 --> 00:01:43,970 বলা হয় গ্লোবাল ভেরিয়েবল. 40 00:01:43,970 --> 00:01:46,890 এখন, একটি বিশ্বব্যাপী পরিবর্তনশীল শীর্ষে ঘোষিত হয় 41 00:01:46,890 --> 00:01:49,860 প্রোগ্রাম এবং কোথাও প্রোগ্রামে ব্যবহার করা যাবে. 42 00:01:49,860 --> 00:01:51,805 সুতরাং আপনি বলে দিন এর একটি শীর্ষে বিশ্বব্যাপী পরিবর্তনশীল ঘোষিত 43 00:01:51,805 --> 00:01:53,200 আপনার প্রোগ্রাম, পরীক্ষা বলা হয়. 44 00:01:53,200 --> 00:01:54,990 এখন, এই পরিবর্তনশীল অ্যাক্সেস করতে পারা 45 00:01:54,990 --> 00:01:56,000 কোথাও ইন প্রোগ্রাম. 46 00:01:56,000 --> 00:01:58,230 আপনি আপনার প্রধান ফাংশন বা একটি ফাংশন তা অ্যাক্সেস করতে পারে 47 00:01:58,230 --> 00:01:59,300 নীচের যে. 48 00:01:59,300 --> 00:02:02,210 কিন্তু যদি কখনও কোন এক একটি স্থানীয় পরিবর্তনশীল তৈরি চেষ্টা 49 00:02:02,210 --> 00:02:04,170 এই একই নামের সঙ্গে ফাংশন, 50 00:02:04,170 --> 00:02:05,880 পরীক্ষা, একটি দ্বন্দ্ব আছে. 51 00:02:05,880 --> 00:02:07,720 কারণ আপনি যা পরিবর্তনশীল আপনি ব্যবহার করতে চান না. 52 00:02:07,720 --> 00:02:09,039 আপনি কি গ্লোবাল পরীক্ষা ব্যবহার করতে চান, 53 00:02:09,039 --> 00:02:10,910 শীর্ষ প্রোগ্রাম এ ঘোষণা? 54 00:02:10,910 --> 00:02:12,495 অথবা আপনার স্থানীয় পরিবর্তনশীল পরীক্ষা যে ব্যবহার করতে চান 55 00:02:12,495 --> 00:02:14,920 আপনি এই ফাংশন মধ্যে তৈরি করার চেষ্টা করছেন? 56 00:02:14,920 --> 00:02:16,700 এখন, এই কারণে আমরা করতে চান এক 57 00:02:16,700 --> 00:02:18,960 শুধু অবাধে গ্লোবাল ভেরিয়েবল ব্যবহার. 58 00:02:18,960 --> 00:02:21,570 কিছু বলা নাম স্থান cluttering আছে. 59 00:02:21,570 --> 00:02:23,940 এমনকি আপনি যদি যাও মানে না, আপনি দূর্ঘটনাক্রমে একটি তৈরি করতে পারবেন 60 00:02:23,940 --> 00:02:26,270 স্থানীয় পরে প্রোগ্রাম পরিবর্তনশীল, একই সঙ্গে, 61 00:02:26,270 --> 00:02:28,140 বিশ্বব্যাপী পরিবর্তনশীল হিসাবে নাম. 62 00:02:28,140 --> 00:02:30,130 এবং এই একটি বিশাল সমস্যা যখন আপনি কাজ করছি অঙ্গবিক্ষেপ না 63 00:02:30,130 --> 00:02:33,120 ছোট 10, 20, 30 লাইন প্রোগ্রাম. 64 00:02:33,120 --> 00:02:35,520 আপনি একবার কোড লাইনের হাজার হাজার আছে, আপনি না করবে না 65 00:02:35,520 --> 00:02:38,740 ঠিক মনে রাখবেন আপনি যা বিশ্বব্যাপী পরিবর্তনশীল জন্য সংরক্ষিত আছে. 66 00:02:38,740 --> 00:02:41,000 তাই এক জিনিস, বিবেচনা করার সময় ব্যবহার করে স্থানীয় এবং বিশ্বব্যাপী 67 00:02:41,000 --> 00:02:43,570 ভেরিয়েবল তাদের সুযোগ সম্পর্কে ভাবতে হয়. 68 00:02:43,570 --> 00:02:47,270 এখন, যেখানে এই ভেরিয়েবলগুলি ব্যবহার করা যাবে যাও সুযোগ রয়েছে উল্লেখ করে 69 00:02:47,270 --> 00:02:48,500 প্রোগ্রাম. 70 00:02:48,500 --> 00:02:51,080 সুতরাং একটি গ্লোবাল ভেরিয়েবল আছে কি বৈশ্বিক সুযোগ এর নামে, 71 00:02:51,080 --> 00:02:53,820 যার অর্থ, এটির কোথাও প্রোগ্রামে ব্যবহার করা যেতে পারে. 72 00:02:53,820 --> 00:02:56,860 একবার আপনি যে পরিবর্তনশীল আরম্ভ করার এটি ব্যবহার করা যাবে 73 00:02:56,860 --> 00:03:00,530 কোনো ফাংশন, তা মূল ক্রিয়া অথবা একটি হত্তয়া 74 00:03:00,530 --> 00:03:03,780 ফাংশন 10 ডাউন ফাংশন, foo10 বলা হয়. 75 00:03:03,780 --> 00:03:05,160 এটা যেখানে আপনি এটি ব্যবহার না ব্যাপার. 76 00:03:05,160 --> 00:03:07,490 কিন্তু একটি নির্দিষ্ট স্থানীয় পরিবর্তনশীল সুযোগ আছে. 77 00:03:07,490 --> 00:03:09,800 এবং যে স্থানীয় পরিবর্তনশীল পরিসর দ্বারা নির্ধারিত হয় 78 00:03:09,800 --> 00:03:11,030 যেখানে এটি সক্রিয়া করা হয়. 79 00:03:11,030 --> 00:03:13,680 এখন, সুযোগ সাধারণত খোলার নির্ধারিত হয় 80 00:03:13,680 --> 00:03:16,540 ফাংশন বক্রবন্ধনী যে পরিবর্তনশীল ঘোষণা করা হয়, যতক্ষণ না 81 00:03:16,540 --> 00:03:18,300 যে ফাংশন শেষদিকে এই যুগল. 82 00:03:18,300 --> 00:03:19,730 সুতরাং আপনি বলে দিন এর প্রধান কাজ করছি. 83 00:03:19,730 --> 00:03:21,410 এবং আপনি একটি ভেরিয়েবল তৈরি. 84 00:03:21,410 --> 00:03:23,110 কিন্তু এখন এই প্রধান ফাংশন মধ্যে,, আমরা অন্য 85 00:03:23,110 --> 00:03:24,640 foo এর কাজ. 86 00:03:24,640 --> 00:03:27,070 ফাংশন foo বিন্যাস, আমরা পরিবর্তনশীল আমরা শুধু কল করতে পারবেন না 87 00:03:27,070 --> 00:03:29,940 প্রধান ফাংশন তৈরি হওয়ার কারণে সুযোগ নাই. 88 00:03:29,940 --> 00:03:33,410 শুধুমাত্র সুযোগ মধ্যে পরিবর্তনশীল প্রধান ফাংশন মধ্যে হয়. 89 00:03:33,410 --> 00:03:36,540 সুতরাং আমরা এটা ব্যবহার প্রধান ফাংশন মধ্যে আরো উপর, হতে পারে, কিন্তু 90 00:03:36,540 --> 00:03:40,650 . মধ্যে একটি ফাংশন যে মূল ক্রিয়া থেকে বলা হয় না 91 00:03:40,650 --> 00:03:43,390 সুতরাং স্ট্যাকের এবং গাদা লেগেছে, বিশ্বব্যাপী ভেরিয়েবেলগুলো 92 00:03:43,390 --> 00:03:45,580 একটি মেমরির কিছু নির্দিষ্ট অংশ সঞ্চিত. 93 00:03:45,580 --> 00:03:47,665 এখন, এই অংশ মেমরি সিস্টেম যে উপর নির্ভর করে 94 00:03:47,665 --> 00:03:48,490 আপনি ব্যবহার করছেন. 95 00:03:48,490 --> 00:03:50,840 গ্লোবাল ভেরিয়েবল দুটি পৃথক দাগ যে তারা আছে 96 00:03:50,840 --> 00:03:54,570 সঞ্চিত সক্রিয়া বিশ্বব্যাপী ভেরিয়েবলের জন্য, এক, যেমন যদি 97 00:03:54,570 --> 00:03:58,130 আপনি int-এ আপনার প্রোগ্রাম শীর্ষে পরীক্ষা = 5, তিনি ঘোষণা করেন. 98 00:03:58,130 --> 00:04:01,010 এবং অন্যান্য এলাকা unitialized বিশ্বব্যাপী ভেরিয়েবলের জন্য হয়, 99 00:04:01,010 --> 00:04:03,190 যদি আপনি শুধু বলেন, int-এ আপনার প্রোগ্রাম শীর্ষে পরীক্ষা, এবং 100 00:04:03,190 --> 00:04:05,040 পরীক্ষা ভেরিয়েবল সেট হচ্ছে 101 00:04:05,040 --> 00:04:07,626 পরে ইন প্রোগ্রাম. 102 00:04:07,626 --> 00:04:10,140 তাই এখন আমি কিছু বলা # define সম্পর্কে কথা বলতে যাচ্ছি, 103 00:04:10,140 --> 00:04:13,380 যার একটি উপায় হলো একটি ধ্রুবক একটি সাঙ্কেতিক নাম দিন. 104 00:04:13,380 --> 00:04:17,420 এবং এখানে আমরা একটি সি প্রোগ্রাম যে হিসাব উদাহরণ আছে 105 00:04:17,420 --> 00:04:19,470 একটি বৃত্তের এলাকা. 106 00:04:19,470 --> 00:04:21,690 এবং প্রোগ্রাম শীর্ষে আমরা কিছু যে করব 107 00:04:21,690 --> 00:04:25,830 # পাই 3,14159 সংজ্ঞায়িত. 108 00:04:25,830 --> 00:04:29,330 # না টেকনিক্যালি একটি গ্লোবাল ভেরিয়েবল সংজ্ঞায়িত তৈরি হইনি. 109 00:04:29,330 --> 00:04:31,590 বরঞ্চ, এটি কম্পাইলার এর preprocessor বলে 110 00:04:31,590 --> 00:04:34,350 এবং খুঁজে পাই সঙ্গে সমস্ত উদাহরণ প্রতিস্থাপন করুন 111 00:04:34,350 --> 00:04:37,540 কম্পাইল করার আগে 3,14159. 112 00:04:37,540 --> 00:04:39,830 যাইহোক, এটা একটা কৌশল ঘোষণা করার জন্য দরকারী 113 00:04:39,830 --> 00:04:41,510 ধ্রুবক, সারা জন্য প্রোগ্রাম ব্যবহার. 114 00:04:41,510 --> 00:04:44,540 এখন, এলাকা ফাংশন দিকে তাকিয়ে আছে, এটি একটি float মধ্যে লাগে 115 00:04:44,540 --> 00:04:48,150 Rad এবং শুধু যে সঙ্গে একটি বৃত্ত এলাকা ফেরত্ 116 00:04:48,150 --> 00:04:52,920 ব্যাসার্ধ বা পাই কিছু Squared, বা পাই বার বার rad rad. 117 00:04:52,920 --> 00:04:56,040 এবং এই হল যেখানে # একটি কী ভূমিকা নির্ধারণ করুন. 118 00:04:56,040 --> 00:04:59,270 কারণ কম্পাইলার মূলত যে পাই প্রতিস্থাপন করবে 119 00:04:59,270 --> 00:05:02,780 সংখ্যা 3,14159 সঙ্গে প্রতীক. 120 00:05:02,780 --> 00:05:05,560 এবং আমরা এবং উপর আবার যে লিখুন না. 121 00:05:05,560 --> 00:05:08,900 এবং পরে, যদি আমরা পাই অধিক সংখ্যা ব্যবহার করার কথা, আসুন 122 00:05:08,900 --> 00:05:12,800 3.1415926 বলে, আমরা শুধু উপরের যে যোগ করতে পারে 123 00:05:12,800 --> 00:05:14,330 প্রোগ্রাম এবং এটি পরিবর্তন করতে না চান, 124 00:05:14,330 --> 00:05:16,160 পরে ইন প্রোগ্রাম. 125 00:05:16,160 --> 00:05:18,240 এটি একটি # define ভাল ব্যবহার. 126 00:05:18,240 --> 00:05:20,520 আমরা একটি বিশ্বব্যাপী পরিবর্তনশীল পাই হিসাবে সংরক্ষণ করতে ইচ্ছুক না কারণ এটি 127 00:05:20,520 --> 00:05:21,780 প্রোগ্রামের মধ্যে পরে পরিবর্তন করতে পারে. 128 00:05:21,780 --> 00:05:23,430 এবং আমরা জানতে পাই না বদলায়. 129 00:05:23,430 --> 00:05:25,650 এটি একটি ধ্রুবক. 130 00:05:25,650 --> 00:05:28,120 তাই এই গোপন গ্লোবাল ভেরিয়েবল আমাদের বিষয় আপ. 131 00:05:28,120 --> 00:05:29,930 আজ তাই আমরা স্থানীয় এবং এর মধ্যে পার্থক্য সম্পর্কে সায়ীদ 132 00:05:29,930 --> 00:05:32,490 গ্লোবাল ভেরিয়েবল; যখন তাদের ব্যবহার, উপর ভিত্তি করে তাদের 133 00:05:32,490 --> 00:05:36,660 সুযোগ এবং কেন স্বেচ্ছায় গ্লোবাল ভেরিয়েবল ব্যবহার 134 00:05:36,660 --> 00:05:39,360 নাম স্থান কারণে cluttering. 135 00:05:39,360 --> 00:05:40,270 আমি জো McCormick. 136 00:05:40,270 --> 00:05:42,290 এবং এই CS50.