1 00:00:00,000 --> 00:00:02,420 >> [সঙ্গীত বাজাচ্ছি] 2 00:00:02,420 --> 00:00:05,189 3 00:00:05,189 --> 00:00:05,980 স্পিকার: ঠিক আছে. 4 00:00:05,980 --> 00:00:08,540 সুতরাং আসুন অন্য কথা বলা যাক সি ধরনের অনন্য যে জিনিস, 5 00:00:08,540 --> 00:00:10,010 যা ধরনের তথ্য এবং ভেরিয়েবল হয়. 6 00:00:10,010 --> 00:00:12,340 যখন আমি বলতে অনন্য সি, আমি সত্যিই শুধুমাত্র প্রেক্ষাপটে মানে, 7 00:00:12,340 --> 00:00:14,470 আপনি একজন প্রোগ্রামার চলেছি যদি সত্যিই একটি দীর্ঘ সময়ের জন্য, 8 00:00:14,470 --> 00:00:16,270 আপনি সম্ভবত না করেছি ধরনের তথ্য দিয়ে কাজ 9 00:00:16,270 --> 00:00:18,470 আপনি আধুনিক ব্যবহার করেছি যদি প্রোগ্রামিং ভাষা. 10 00:00:18,470 --> 00:00:20,432 মত আধুনিক ভাষা পিএইচপি এবং জাভাস্ক্রিপ্ট, 11 00:00:20,432 --> 00:00:22,640 আমরা একটু দেখতে পাবেন যা পরে অবশ্যই, 12 00:00:22,640 --> 00:00:25,550 আপনি আসলে উল্লেখ করতে হবে না একটি পরিবর্তনশীল এর ডাটা টাইপ 13 00:00:25,550 --> 00:00:26,270 আপনি এটি ব্যবহার করার সময়. 14 00:00:26,270 --> 00:00:28,067 >> আপনি শুধু এটা ঘোষণা করা এবং এটি ব্যবহার করা শুরু করুন. 15 00:00:28,067 --> 00:00:29,900 এটি একটি পূর্ণসংখ্যা, এটা এটি একটি পূর্ণসংখ্যা জানি. 16 00:00:29,900 --> 00:00:31,960 এটি একটি অক্ষর যদি, এটা এটি একটি অক্ষর জানে. 17 00:00:31,960 --> 00:00:35,320 এটি একটি শব্দ আছে, এটা জানেন এটা তথাকথিত একটি স্ট্রিং, না. 18 00:00:35,320 --> 00:00:37,300 >> কিন্তু সি, যা হল একটি পুরোনো ভাষা, আমরা প্রয়োজন 19 00:00:37,300 --> 00:00:39,420 তথ্য উল্লেখ করার জন্য ভাষার ভেরিয়েবল-এর টাইপ 20 00:00:39,420 --> 00:00:42,990 আমরা প্রথমবার সৃষ্টি যে আমরা যে ভেরিয়েবল ব্যবহার. 21 00:00:42,990 --> 00:00:45,030 তাই সি কিছু দিয়ে আসে বিল্ট ইন ডেটা ধরনের. 22 00:00:45,030 --> 00:00:46,972 আর এর পরিচিত পেতে দিন যারা কিছু. 23 00:00:46,972 --> 00:00:50,180 এবং তারপর পরে আমরা একটি কথা বলতে পারবেন তথ্য ধরনের কিছু সম্পর্কে সামান্য বিট 24 00:00:50,180 --> 00:00:54,450 আমরা আপনার জন্য লিখিত করেছি যে, তাই আপনি CS50 মধ্যে তাদের ব্যবহার করতে পারেন. 25 00:00:54,450 --> 00:00:56,130 >> প্রথম int হয়. 26 00:00:56,130 --> 00:00:59,110 কোন int ডাটা টাইপ ভেরিয়েবলের জন্য ব্যবহৃত হয় যে পূর্ণসংখ্যা মান সংরক্ষণ করবে. 27 00:00:59,110 --> 00:01:03,210 সুতরাং 1, 2, 3, নেতিবাচক 1, 2, 3, এবং তাই. 28 00:01:03,210 --> 00:01:05,960 কিছু আপনি যা ইন্টিজার, ব্যঙ্গ জন্য মনে রাখা উচিত, 29 00:01:05,960 --> 00:01:09,590 সবসময় চার বাইট লাগতে মেমরি, যা 32 বিট. 30 00:01:09,590 --> 00:01:11,620 একটি বাইট আটটি বিট আছে. 31 00:01:11,620 --> 00:01:14,470 >> সুতরাং এই পরিসীমা যে মানে একটি পূর্ণসংখ্যা সংরক্ষণ করতে পারেন যে মূল্যবোধ 32 00:01:14,470 --> 00:01:19,130 মধ্যে ফিট করতে পারে তা দ্বারা সীমাবদ্ধ তথ্য মূল্য 32 বিট. 33 00:01:19,130 --> 00:01:21,850 এখন এটি সক্রিয় আউট হিসাবে, এটা অনেক আগে সিদ্ধান্ত নেওয়া হয় 34 00:01:21,850 --> 00:01:24,310 আমরা আপ বিভক্ত হবে 32 বিট যে পরিসীমা 35 00:01:24,310 --> 00:01:26,650 ঋণাত্মক পূর্ণসংখ্যা মধ্যে এবং ধনাত্মক পূর্ণসংখ্যা, 36 00:01:26,650 --> 00:01:28,390 পরিসীমা প্রতিটি পেয়ে অর্ধেক. 37 00:01:28,390 --> 00:01:32,230 আমরা প্রতিনিধিত্বকারী মান পরিসীমা তাই নেতিবাচক 2 থেকে একটি পূর্ণসংখ্যা পরিসীমা সঙ্গে 38 00:01:32,230 --> 00:01:36,520 2 31 ক্ষমতায় থেকে 31 শক্তি বিয়োগ 1, 39 00:01:36,520 --> 00:01:38,190 এছাড়াও আপনি 0 জন্য একটি স্থানের প্রয়োজন হতে. 40 00:01:38,190 --> 00:01:41,650 >> সম্ভাব্য মান তাই মূলত অর্ধেক আপনি, নেতিবাচক কোন int মধ্যে ফিট করতে পারে 41 00:01:41,650 --> 00:01:42,610 এবং অর্ধেক ইতিবাচক হয়. 42 00:01:42,610 --> 00:01:47,270 এবং প্রায় এখানে, এই নেতিবাচক সম্পর্কে 2 বিলিয়ন ইতিবাচক 2 বিলিয়ন সম্পর্কে যাও. 43 00:01:47,270 --> 00:01:50,207 দিন বা কয়েক শত মিলিয়ন নিতে. 44 00:01:50,207 --> 00:01:52,290 সুতরাং যে আপনি ফিট করতে পারে কি একটি পূর্ণসংখ্যা পরিবর্তনশীল. 45 00:01:52,290 --> 00:01:55,490 এখন আমরা উদাহরণ কিছু আছে একটি অস্বাক্ষরিত পূর্ণসংখ্যা বলা. 46 00:01:55,490 --> 00:01:59,220 এখন স্বাক্ষরবিহীন ints না একটি হয় পরিবর্তনশীল এর পৃথক টাইপ. 47 00:01:59,220 --> 00:02:01,590 বরং, স্বাক্ষরবিহীন হয় কি একটি কোয়ালিফায়ার বলা হচ্ছে. 48 00:02:01,590 --> 00:02:04,990 এটি তথ্য পরিবর্তন সামান্য পূর্ণসংখ্যা টাইপ. 49 00:02:04,990 --> 00:02:07,850 >> এবং এই ক্ষেত্রে, কি স্বাক্ষরবিহীন যথাযথভাবে এবং আপনি এটিও করতে পারেন 50 00:02:07,850 --> 00:02:11,530 স্বাক্ষরবিহীন অন্যান্য তথ্য ধরনের ব্যবহার, পূর্ণসংখ্যা শুধুমাত্র এক নয়. 51 00:02:11,530 --> 00:02:15,310 কি এটা কার্যকরভাবে আছে দ্বিগুণ হয় মান ইতিবাচক পরিসীমা 52 00:02:15,310 --> 00:02:19,350 একটি পূর্ণসংখ্যা এ নিতে পারেন যে আর যার ফলে ব্যয় 53 00:02:19,350 --> 00:02:21,140 আপনি ঋণাত্মক মান নিতে. 54 00:02:21,140 --> 00:02:25,400 যদি আপনি জানেন যে নম্বর আছে তাই বেশী 2 বিলিয়ন কিন্তু কম পাবেন 55 00:02:25,400 --> 00:02:31,280 4 বিলিয়ন তুলনায়, example-- জন্য যা 32nd 2 হয় power-- 56 00:02:31,280 --> 00:02:33,330 আপনি ব্যবহার করতে চাইবেন আপনি যদি একটি স্বাক্ষরবিহীন int- 57 00:02:33,330 --> 00:02:35,050 আপনার মান ঋণাত্মক হতে হবে না জানি. 58 00:02:35,050 --> 00:02:37,216 >> আপনি মাঝে মাঝে থাকবে স্বাক্ষরবিহীন ভেরিয়েবলের জন্য ব্যবহৃত 59 00:02:37,216 --> 00:02:39,460 আমি এখানে তা উল্লেখ কেন CS50 মধ্যে, যা হয়. 60 00:02:39,460 --> 00:02:43,830 কিন্তু মান আবার পরিসীমা যে আপনি একটি অস্বাক্ষরিত পূর্ণসংখ্যা সঙ্গে উপস্থাপন করতে পারেন 61 00:02:43,830 --> 00:02:48,240 নিয়মিত পূর্ণসংখ্যা টন হিসাবে, 0 হয় 32nd শক্তি বিয়োগ 1 2 যাও, 62 00:02:48,240 --> 00:02:50,840 বা প্রায় 0 4 বিলিয়ন. 63 00:02:50,840 --> 00:02:53,730 তাই আপনি যদি কার্যকরভাবে দ্বিগুণ করেছি আপনি ফিট করতে পারে ইতিবাচক পরিসীমা, 64 00:02:53,730 --> 00:02:56,270 কিন্তু আপনি সব আপ দিয়েছি নেতিবাচক মান. 65 00:02:56,270 --> 00:03:00,040 >> এখন একটি সরাইয়া, স্বাক্ষরবিহীন হিসাবে শুধুমাত্র কোয়ালিফায়ার নয় 66 00:03:00,040 --> 00:03:01,790 আমরা দেখতে পারেন যে পরিবর্তনশীল ধরনের তথ্য. 67 00:03:01,790 --> 00:03:05,779 বলা কিছু উদাহরণ আছে স্বল্প ও দীর্ঘ এবং কিছু const. 68 00:03:05,779 --> 00:03:07,820 Const আমরা একটু দেখতে পাবেন একটু পরে কোর্সে. 69 00:03:07,820 --> 00:03:10,830 স্বল্প ও দীর্ঘ, আমরা সম্ভবত না করবে. 70 00:03:10,830 --> 00:03:12,830 >> কিন্তু শুধু যে আছে জানি অন্যান্য কোয়ালিফায়ার হয়. 71 00:03:12,830 --> 00:03:14,080 স্বাক্ষরবিহীন শুধুমাত্র এক নয়. 72 00:03:14,080 --> 00:03:16,596 কিন্তু এটা আমরা করছি শুধুমাত্র এক এই মুহূর্তে কথা বলার যাচ্ছে. 73 00:03:16,596 --> 00:03:17,310 তাই ঠিক আছে. 74 00:03:17,310 --> 00:03:18,393 তাই আমরা একটি পূর্ণসংখ্যার আবৃত করেছি. 75 00:03:18,393 --> 00:03:19,200 এরপর কি? 76 00:03:19,200 --> 00:03:20,130 >> চর. 77 00:03:20,130 --> 00:03:23,620 সুতরাং চরসমূহ ভেরিয়েবলের জন্য ব্যবহৃত হয় যে একক অক্ষর সংরক্ষণ করবে. 78 00:03:23,620 --> 00:03:24,850 চর চরিত্র-এর সংক্ষিপ্ত রূপ. 79 00:03:24,850 --> 00:03:27,870 এবং কখনও কখনও আপনাকে শুনতে হতে পারে মানুষ গাড়ী হিসাবে এটা উচ্চারণ. 80 00:03:27,870 --> 00:03:32,020 >> অক্ষর সবসময় এক লাগতে তাই মাত্র 8 বিট যা মেমরি বাইট. 81 00:03:32,020 --> 00:03:35,700 সুতরাং এই তারা শুধুমাত্র ফিট করতে পারে এর মানে হল যে নেতিবাচক 2 এর পরিসর মান 82 00:03:35,700 --> 00:03:42,430 সপ্তম ক্ষমতা, বা নেতিবাচক 128, 2 7th ক্ষমতা 1, বা 127 বিয়োগ করতে. 83 00:03:42,430 --> 00:03:45,710 >> ASCII কে ধন্যবাদ, এটা ছিল অনেক আগে একটি উপায় সিদ্ধান্ত 84 00:03:45,710 --> 00:03:50,805 থেকে যারা ধনাত্মক সংখ্যার আগে ম্যাপ বিভিন্ন অক্ষর 0 থেকে 127 85 00:03:50,805 --> 00:03:52,182 সব আমাদের কীবোর্ডের যে অস্তিত্ব. 86 00:03:52,182 --> 00:03:54,640 আমরা পরবর্তী দেখতে পাবেন তাই অবশ্যই, এবং আপনি সম্ভবত হবে 87 00:03:54,640 --> 00:03:57,700 কয়েকটি মুখস্থ আসা পয়েন্ট, ক্যাপিটাল এ, example-- জন্য 88 00:03:57,700 --> 00:04:00,732 অক্ষর মূলধন ছাগু karigor.com সংখ্যা 65 মানচিত্র. 89 00:04:00,732 --> 00:04:02,940 আর এর কারণ হল যে কারণ এটা কি 90 00:04:02,940 --> 00:04:05,490 হওয়া ASCII মান দ্বারা নির্ধারিত হয়েছে. 91 00:04:05,490 --> 00:04:07,850 >> ছোট হাতের একটি 97 হয়. 92 00:04:07,850 --> 00:04:11,900 যখন আপনার জন্য চরিত্র 0 আসলে, চরিত্র না টাইপ 93 00:04:11,900 --> 00:04:13,532 সংখ্যা শূন্য প্রতিনিধিত্বমূলক, 48 হয়. 94 00:04:13,532 --> 00:04:15,240 আপনি কয়েক জানতে পারবেন এই হিসাবে আপনি যেতে. 95 00:04:15,240 --> 00:04:17,990 এবং আপনি অবশ্যই প্রয়োজন আসবো তাদের একটি সামান্য বিট পরে CS50 মধ্যে. 96 00:04:17,990 --> 00:04:20,450 97 00:04:20,450 --> 00:04:23,390 >> পরবর্তী প্রধান ডাটা টাইপ পয়েন্ট সংখ্যা ফ্লোটিং হয়. 98 00:04:23,390 --> 00:04:26,100 সুতরাং ফ্লোটিং পয়েন্ট সংখ্যা এছাড়াও বাস্তব সংখ্যার হিসেবে পরিচিত. 99 00:04:26,100 --> 00:04:28,850 তারা মূলত সংখ্যার করছি যে তাদের মধ্যে একটি দশমিক বিন্দু আছে. 100 00:04:28,850 --> 00:04:33,360 বিন্দু মান ভাসমান পূর্ণসংখ্যার মত রয়েছে 101 00:04:33,360 --> 00:04:36,090 মেমরি 4 বাইট মধ্যে অন্তর্ভুক্ত. 102 00:04:36,090 --> 00:04:37,580 এখন এখানে কোন চার্ট আছে. 103 00:04:37,580 --> 00:04:40,890 কোন নম্বর লাইনে কারণ আছে, একটি float এর পরিসীমা বর্ণনা 104 00:04:40,890 --> 00:04:44,550 ঠিক পরিষ্কার বা স্বজ্ঞাত নয়. 105 00:04:44,550 --> 00:04:47,350 >> আপনি বলে চলা এর সাথে কাজ করা 32 বিট আছে. 106 00:04:47,350 --> 00:04:49,730 এবং যদি আপনি একটি নম্বর থাকে, তাহলে যা ভালো পাই, 107 00:04:49,730 --> 00:04:55,510 একটি পূর্ণসংখ্যা অংশ 3, এবং একটি ফ্লোটিং পয়েন্ট অংশ, বা দশমিক অংশ 0,14159, 108 00:04:55,510 --> 00:04:58,735 এবং তাই, আপনাকে হতে হবে এটিকে সব প্রতিনিধিত্ব করতে পারবে 109 00:04:58,735 --> 00:05:02,420 পূর্ণসংখ্যা অংশ এবং দশমিক অংশ. 110 00:05:02,420 --> 00:05:04,550 >> তাই কি আপনি যে অর্থ হতে পারে বলে আপনি মনে করেন? 111 00:05:04,550 --> 00:05:08,180 এক জিনিস যে দশমিক যদি অংশ, আর আর পায় 112 00:05:08,180 --> 00:05:10,660 আমি একটি খুব বড় আছে পূর্ণসংখ্যা অংশ, আমি না পারে 113 00:05:10,660 --> 00:05:13,090 যেমন সুনির্দিষ্ট হতে সক্ষম হবে দশমিক অংশ দিয়ে. 114 00:05:13,090 --> 00:05:15,280 এবং যে সত্যিই একটি float এর সীমাবদ্ধতা. 115 00:05:15,280 --> 00:05:17,229 >> Floats একটি স্পষ্টতা সমস্যা আছে. 116 00:05:17,229 --> 00:05:19,270 আমরা শুধুমাত্র 32 বিট আছে সাথে কাজ করে, তাই আমরা শুধুমাত্র পারেন 117 00:05:19,270 --> 00:05:22,510 আমাদের দশমিক অংশ দিয়ে অত্যন্ত সুনির্দিষ্ট করা. 118 00:05:22,510 --> 00:05:27,300 আমরা অগত্যা একটি দশমিক থাকতে পারে না 100 বা 200 ডিজিটের সুনির্দিষ্ট অংশ, 119 00:05:27,300 --> 00:05:29,710 আমরা কেবল আছে কারণ 32 বিট এর সাথে কাজ করা. 120 00:05:29,710 --> 00:05:31,590 যাতে একটি float এর একটি সীমাবদ্ধতা আছে. 121 00:05:31,590 --> 00:05:33,590 >> এখন সৌভাগ্যবশত আছে নামক আরেকটি ডাটা টাইপ 122 00:05:33,590 --> 00:05:36,530 , ডবল যা কিছুটা এই সমস্যার সঙ্গে ঘটনাও ঘটে. 123 00:05:36,530 --> 00:05:39,980 টেনিস, floats মত, এছাড়াও ব্যবহার করা হয় বাস্তব সংখ্যা, বা ফ্লোটিং পয়েন্ট সংরক্ষণ 124 00:05:39,980 --> 00:05:40,840 মান. 125 00:05:40,840 --> 00:05:44,340 পার্থক্য হল টেনিস ডবল স্পষ্টতা হয়. 126 00:05:44,340 --> 00:05:48,177 তারা 64 বিট ফিট করতে পারে তথ্য, বা আট বাইট. 127 00:05:48,177 --> 00:05:49,010 ওটার মানে কি? 128 00:05:49,010 --> 00:05:51,801 ওয়েল, এটা আমরা হতে পারে মানে অনেক বেশি দশমিক বিন্দু সঙ্গে সুনির্দিষ্ট. 129 00:05:51,801 --> 00:05:54,830 পরিবর্তে সাত Pi থাকার একটি float সঙ্গে হয়তো জায়গা, 130 00:05:54,830 --> 00:05:56,710 আমরা হয়তো 30 টি স্থান থেকে এটি থাকতে পারে. 131 00:05:56,710 --> 00:05:59,824 যে গুরুত্বপূর্ণ, আপনি চাইতে পারেন পরিবর্তে একটি float একটি ডবল ব্যবহার করতে. 132 00:05:59,824 --> 00:06:01,740 মূলত, আপনি হন তাহলে কিছু যেখানে কাজ 133 00:06:01,740 --> 00:06:06,540 সত্যিই একটি দীর্ঘ দশমিক স্থান হচ্ছে এবং স্পষ্টতা অনেক গুরুত্বপূর্ণ 134 00:06:06,540 --> 00:06:08,630 আপনি সম্ভবত চান একটি ডবল overfloat ব্যবহার. 135 00:06:08,630 --> 00:06:11,250 এখন আপনার কাজ অধিকাংশ জন্য এবং CS50, একটি float চলা উচিত. 136 00:06:11,250 --> 00:06:15,340 কিন্তু টেনিস একটি হিসাবে যে অস্তিত্ব জানেন না কিছুটা স্পষ্টতা সঙ্গে মোকাবেলা করতে উপায় 137 00:06:15,340 --> 00:06:20,980 আপনি 32 একটি অতিরিক্ত প্রদান করে সমস্যা বিট আপনার সংখ্যার জন্য এর সাথে কাজ করা. 138 00:06:20,980 --> 00:06:23,650 >> এখন এই একটি ডাটা টাইপ নয়. 139 00:06:23,650 --> 00:06:24,390 এই একটি প্রকার. 140 00:06:24,390 --> 00:06:25,340 আর তা বাতিল বলা হচ্ছে. 141 00:06:25,340 --> 00:06:27,506 এবং আমি এটা সম্পর্কে কথা বলছি এখানে আমরা সম্ভবত করেছি কারণ 142 00:06:27,506 --> 00:06:29,520 ইতিমধ্যে কয়েক বার CS50 মধ্যে এটি দেখা. 143 00:06:29,520 --> 00:06:32,020 আর আপনি হতাশ হতে পারে কি এটা সব সম্পর্কে. 144 00:06:32,020 --> 00:06:33,390 >> তাই অকার্যকর একটি প্রকার. 145 00:06:33,390 --> 00:06:34,097 টিনএজ ওয়ান্ডারো নতুন কিছু না. 146 00:06:34,097 --> 00:06:35,180 কিন্তু এটি একটি ডাটা টাইপ নয়. 147 00:06:35,180 --> 00:06:39,350 >> আমরা টাইপ একটি পরিবর্তনশীল তৈরি করতে পারবেন না অকার্যকর এবং এটি একটি মান নির্ধারণ. 148 00:06:39,350 --> 00:06:42,519 কিন্তু ফাংশন, উদাহরণস্বরূপ, একটি অকার্যকর রিটার্ন টাইপ থাকতে পারে. 149 00:06:42,519 --> 00:06:45,060 মূলত, আপনি একটি ফাংশন দেখতে হলে যে একটি অকার্যকর ফেরত টাইপ আছে, 150 00:06:45,060 --> 00:06:46,970 এটা একটি ভ্যালু রিটার্ন করে না মানে. 151 00:06:46,970 --> 00:06:49,440 আপনি একটি সাধারণ মনে করতে পারেন আমরা এ পর্যন্ত ব্যবহার করেছি যে ফাংশন 152 00:06:49,440 --> 00:06:52,780 CS50 মধ্যে একটি মান প্রদান করে না যে? 153 00:06:52,780 --> 00:06:54,700 >> Printf এক. 154 00:06:54,700 --> 00:06:56,820 Printf আসলে না আপনাকে কিছু ফেরত. 155 00:06:56,820 --> 00:06:59,850 এটা কিছু ছাপে পর্দা, এবং এটি মূলত 156 00:06:59,850 --> 00:07:01,650 printf, কী একটি পার্শ্ব প্রতিক্রিয়া. 157 00:07:01,650 --> 00:07:03,620 কিন্তু এটি আপনি একটি মূল্য ফেরত দিতে হয় না. 158 00:07:03,620 --> 00:07:08,419 আপনি ফলাফলের ও দোকান তুলে ধরতে পারে না কিছু পরিবর্তনশীল তা পরে এটি ব্যবহার করতে. 159 00:07:08,419 --> 00:07:10,710 এটা শুধু কিছু ছাপে পর্দা এবং আপনি বা তুমি পেরেছ. 160 00:07:10,710 --> 00:07:14,360 >> তাই আমরা printf বলে একটি অকার্যকর ফাংশন. 161 00:07:14,360 --> 00:07:16,450 এটা কিছুই ফেরৎ. 162 00:07:16,450 --> 00:07:18,580 >> একটি ঘের তালিকা ফাংশন এছাড়াও অকার্যকর হতে পারে. 163 00:07:18,580 --> 00:07:21,410 এবং আপনি যে দেখা করেছি খুব CS50 মধ্যে বেশ বিট. 164 00:07:21,410 --> 00:07:22,300 Int প্রধান অকার্যকর. 165 00:07:22,300 --> 00:07:23,260 একটি সফল হওয়া যায় না? 166 00:07:23,260 --> 00:07:24,080 167 00:07:24,080 --> 00:07:27,220 মূলত কি যে মানে হল যে প্রধান কোন প্যারামিটার নেয় না. 168 00:07:27,220 --> 00:07:29,520 কোন যুক্তি আছে যে প্রধান হস্তান্তর করতে. 169 00:07:29,520 --> 00:07:32,780 এখন পরবর্তী আমরা সেখানে দেখতে পাবেন একটি উপায়, প্রধান মধ্যে আর্গুমেন্ট পাস 170 00:07:32,780 --> 00:07:36,189 কিন্তু এখন পর্যন্ত আমরা করেছি কি int প্রধান অকার্যকর দেখা হয়. 171 00:07:36,189 --> 00:07:37,730 প্রধান ঠিক কোনো আর্গুমেন্ট গ্রহণ করা হয় না. 172 00:07:37,730 --> 00:07:40,236 আর তাই আমরা অকার্যকর বলার অপেক্ষা রাখে না যে নির্দিষ্ট. 173 00:07:40,236 --> 00:07:42,110 আমরা শুধু খুব হচ্ছে করছি সত্য সম্পর্কে সুস্পষ্ 174 00:07:42,110 --> 00:07:44,430 এটা কোনো আর্গুমেন্ট গ্রহণ করা হয় না. 175 00:07:44,430 --> 00:07:47,160 >> তাই এখন জন্য, এটা যথেষ্ট মূলত যে শূন্যতা বলে 176 00:07:47,160 --> 00:07:50,789 শুধু একটি স্থানধারক হিসেবে পরিবেশন করা উচিত আপনার জন্য কিছুই হিসাবে সম্পর্কে চিন্তা হিসাবে. 177 00:07:50,789 --> 00:07:52,080 এটা সত্যিই কিছু করছেন না. 178 00:07:52,080 --> 00:07:53,550 এখানে কোন ফিরতি মূল্য নেই. 179 00:07:53,550 --> 00:07:54,770 এখানে কোন প্যারামিটার আছে. 180 00:07:54,770 --> 00:07:55,709 এটি অকার্যকর হবে. 181 00:07:55,709 --> 00:07:57,250 এটা যে এর চেয়ে একটু বেশি জটিল. 182 00:07:57,250 --> 00:08:00,640 কিন্তু এই জন্য চলা উচিত অবশ্যই ভাল অংশ. 183 00:08:00,640 --> 00:08:05,010 এবং আশা এখন আপনি একটু আছে অকার্যকর কি একটি ধারণা আরো বিট. 184 00:08:05,010 --> 00:08:08,460 >> যাদের তাই পাঁচ ধরনের আপনি পাবেন হয় বিল্ট ইন করা হয় যে সি সম্মুখীন 185 00:08:08,460 --> 00:08:10,670 কিন্তু CS50 আমরা একটি লাইব্রেরি আছে. 186 00:08:10,670 --> 00:08:13,550 আপনি অন্তর্ভুক্ত করতে পারে যা, CS50.h. 187 00:08:13,550 --> 00:08:15,930 এবং আপনি প্রদান করতে হবে যা দুই অতিরিক্ত ধরনের সঙ্গে 188 00:08:15,930 --> 00:08:18,280 আপনি সম্ভবত সক্ষম হবেন যে আপনার বরাদ্দকরণ ব্যবহার, 189 00:08:18,280 --> 00:08:21,210 অথবা সাধারণভাবে কাজ প্রোগ্রামিং. 190 00:08:21,210 --> 00:08:23,030 >> এই প্রথম একটি bool হয়. 191 00:08:23,030 --> 00:08:26,780 সুতরাং বুলিয়ান ডাটা টাইপ, একটি bool, ভেরিয়েবলের জন্য ব্যবহৃত হয় 192 00:08:26,780 --> 00:08:28,114 যে একটি বুলিয়ান মান সংরক্ষণ করবে. 193 00:08:28,114 --> 00:08:29,863 আপনি কি কখনও শুনেছেন থাকেন তাহলে এই শব্দটি করার আগে, আপনি 194 00:08:29,863 --> 00:08:31,960 একটি বুলিয়ান মানুষ তা জানে না মূল্য শুধুমাত্র সক্ষম 195 00:08:31,960 --> 00:08:34,440 দুটি ভিন্ন স্বতন্ত্র মান ধারণ. 196 00:08:34,440 --> 00:08:35,872 সত্য এবং মিথ্যা. 197 00:08:35,872 --> 00:08:37,580 এখন এই সুন্দর মনে মৌলিক, ডান? 198 00:08:37,580 --> 00:08:40,496 এটা এই যে একটি আশ্চর্য ধরনের এটা বিল্ট ইন হিসেবে সি বিদ্যমান নয়. 199 00:08:40,496 --> 00:08:42,640 এবং অনেক আধুনিক ভাষায়, অবশ্যই, বুলিয়ান 200 00:08:42,640 --> 00:08:45,390 একটি মান ডিফল্ট ডাটা টাইপ আছে. 201 00:08:45,390 --> 00:08:47,192 কিন্তু সি, তারা আসলে না হন. 202 00:08:47,192 --> 00:08:48,400 কিন্তু আমরা এটা আপনার জন্য তৈরি করেছি. 203 00:08:48,400 --> 00:08:51,910 আপনি কি তৈরি করতে হবে যদি তাই যার ধরন bool একটি পরিবর্তনশীল, 204 00:08:51,910 --> 00:08:55,230 শুধু CS50.h অন্তর্ভুক্ত নিশ্চিত করা আপনার প্রোগ্রামের শুরুতে, 205 00:08:55,230 --> 00:08:57,800 এবং আপনি তৈরি করতে সক্ষম হবেন bool টাইপ ভেরিয়েবল. 206 00:08:57,800 --> 00:09:02,095 >> আপনি CS50.h অন্তর্ভুক্ত করতে ভুলবেন না, এবং যদি আপনি, বুলিয়ান টাইপ ভেরিয়েবল ব্যবহার শুরু 207 00:09:02,095 --> 00:09:04,970 আপনি কিছু সমস্যার সম্মুখীন হতে পারে যখন আপনি আপনার প্রোগ্রাম কম্পাইল করছি. 208 00:09:04,970 --> 00:09:06,490 সুতরাং শুধু যে জন্য Lookout করা. 209 00:09:06,490 --> 00:09:11,180 আর হয়তো আপনি শুধু ঠিক করতে পারবো cs50.h. সহ পাউন্ড করে সমস্যার 210 00:09:11,180 --> 00:09:14,590 >> অন্যান্য প্রধান ডাটা টাইপ যে আমরা CS50 লাইব্রেরি তোমাদেরকে আমিই জীবনোপকরণ দিয়ে 211 00:09:14,590 --> 00:09:15,670 পংক্তি. 212 00:09:15,670 --> 00:09:17,130 সুতরাং একটি স্ট্রিং কি? 213 00:09:17,130 --> 00:09:18,520 স্ট্রিং সত্যিই শুধু শব্দ হয়. 214 00:09:18,520 --> 00:09:20,000 তারা অক্ষর সংগ্রহ করছি. 215 00:09:20,000 --> 00:09:20,640 তারা শব্দ করছি. 216 00:09:20,640 --> 00:09:21,390 তারা বাক্যের আছেন. 217 00:09:21,390 --> 00:09:22,480 তারা অনুচ্ছেদ আছেন. 218 00:09:22,480 --> 00:09:25,850 এমনকি, পুরো বই হতে পারে. 219 00:09:25,850 --> 00:09:29,690 >> খুব দীর্ঘ যদি খুব অল্প অক্ষরের সিরিজ. 220 00:09:29,690 --> 00:09:34,310 আপনি স্ট্রিং ব্যবহার করার প্রয়োজন হলে, উদাহরণস্বরূপ, একটি শব্দ ধারণ করার, 221 00:09:34,310 --> 00:09:37,609 শুধু cs50.h অন্তর্ভুক্ত নিশ্চিত করা আপনার প্রোগ্রামের শুরুতে 222 00:09:37,609 --> 00:09:38,900 তাই আপনি স্ট্রিং টাইপ ব্যবহার করতে পারেন. 223 00:09:38,900 --> 00:09:43,910 এবং তারপর আপনি ভেরিয়েবল তৈরি করতে পারেন যার ডাটা টাইপ হল স্ট্রিং. 224 00:09:43,910 --> 00:09:46,160 এখন পরবর্তী কোর্সে, আমরা যে যে দেখতে পাবেন 225 00:09:46,160 --> 00:09:47,752 হয় না সম্পূর্ণ বিবরণ,. 226 00:09:47,752 --> 00:09:49,460 আমরা কিছু সম্মুখীন হবেন বলা কাঠামো, 227 00:09:49,460 --> 00:09:54,249 হতে পারে তা গ্রুপে আপনি অনুমতি দেয়, যা একটি পূর্ণসংখ্যা এবং এক ইউনিট মধ্যে একটি স্ট্রিং. 228 00:09:54,249 --> 00:09:56,290 আর আমরা যে ব্যবহার করতে পারেন কিছু উদ্দেশ্য, যা হতে পারে 229 00:09:56,290 --> 00:09:57,750 কোর্সে পরবর্তী উপকারে আসবে. 230 00:09:57,750 --> 00:09:59,500 >> আর আমরা উদাহরণ জানতে পারবেন সংজ্ঞায়িত ধরনের সম্পর্কে, 231 00:09:59,500 --> 00:10:01,720 যা আপনি তৈরি করার অনুমতি দেয় আপনার নিজস্ব ধরনের তথ্য. 232 00:10:01,720 --> 00:10:03,060 আমরা চিন্তা করতে হবে না এখন জন্য যে সম্পর্কে. 233 00:10:03,060 --> 00:10:04,550 কিন্তু শুধু যে জানি যে দিগন্ত কিছু, 234 00:10:04,550 --> 00:10:07,633 এই পুরো করতে আরো অনেক আছে যে আমি শুধু তোমাকে বলছি চেয়ে টাইপ জিনিস 235 00:10:07,633 --> 00:10:08,133 এখন. 236 00:10:08,133 --> 00:10:10,591 তাই এখন আমরা একটি শিখেছি করেছি যে প্রাথমিক তথ্য সম্পর্কে সামান্য বিট 237 00:10:10,591 --> 00:10:14,230 ধরনের এবং CS50 ধরনের তথ্য, আসুন ভেরিয়েবল সঙ্গে কাজ করার পদ্ধতি সম্পর্কে কথা 238 00:10:14,230 --> 00:10:18,530 এবং এই ব্যবহার করে তাদের তৈরি আমাদের প্রোগ্রামে ধরনের তথ্য. 239 00:10:18,530 --> 00:10:22,670 আপনি একটি পরিবর্তনশীল তৈরি করতে চান তাহলে, আপনাকে যা করতে হবে সব দুটি জিনিস হয়. 240 00:10:22,670 --> 00:10:24,147 >> প্রথমত, আপনি এটি একটি টাইপ দিতে হবে. 241 00:10:24,147 --> 00:10:26,230 আপনার যা দরকার তা দ্বিতীয় বিষয় না এটি একটি নাম দিতে হয়. 242 00:10:26,230 --> 00:10:28,740 আপনি যে কাজ এবং slapped করেছি একটি যে লাইনের শেষে সেমিকোলন, 243 00:10:28,740 --> 00:10:29,830 আপনি একটি পরিবর্তনশীল তৈরি করেছি. 244 00:10:29,830 --> 00:10:32,370 >> তাই এখানে দুটি উদাহরণ. 245 00:10:32,370 --> 00:10:35,744 Int- নম্বর; গৃহস্থালি চিঠি ;. 246 00:10:35,744 --> 00:10:36,660 আমি এখানে কি করেছ? 247 00:10:36,660 --> 00:10:38,110 আমি দুটি ভেরিয়েবল তৈরি করেছি. 248 00:10:38,110 --> 00:10:40,190 >> পরিবর্তনশীল এর, প্রথম নাম সংখ্যা. 249 00:10:40,190 --> 00:10:44,830 সংখ্যা পূর্ণসংখ্যা ধারণ করতে সক্ষম তার টাইপ int কারণ, মান টাইপ. 250 00:10:44,830 --> 00:10:48,040 পত্র অন্য পরিবর্তনশীল যে অক্ষর ধরে রাখতে পারেন 251 00:10:48,040 --> 00:10:50,240 তার তথ্য টাইপ গৃহস্থালির কারণ. 252 00:10:50,240 --> 00:10:51,772 >> বেশ সহজবোধ্য, ডান? 253 00:10:51,772 --> 00:10:53,480 আপনি নিজেকে খুঁজে পান, তাহলে একটি অবস্থা যেখানে 254 00:10:53,480 --> 00:10:56,250 আপনি একাধিক তৈরি করতে হবে একই ধরনের ভেরিয়েবল, 255 00:10:56,250 --> 00:10:58,740 আপনি শুধুমাত্র নির্দিষ্ট করতে হবে একবার টাইপ নাম. 256 00:10:58,740 --> 00:11:01,600 তারপর, ঠিক যেমন অনেক ভেরিয়েবল তালিকায় যে ধরনের হিসাবে আপনি প্রয়োজন. 257 00:11:01,600 --> 00:11:04,230 >> তাই আমি উদাহরণস্বরূপ, এখানে পারা এই কোড তৃতীয় লাইনে, 258 00:11:04,230 --> 00:11:07,420 কোন int উচ্চতা ;, নতুন লাইন বলে. 259 00:11:07,420 --> 00:11:08,291 Int width ;. 260 00:11:08,291 --> 00:11:09,290 এবং যে খুব কাজ করে. 261 00:11:09,290 --> 00:11:12,039 আমি এখনও দুটি ভেরিয়েবল বলা পেতে চাই উচ্চতা এবং প্রস্থ, প্রতিটি যা 262 00:11:12,039 --> 00:11:12,730 একটি পূর্ণসংখ্যা. 263 00:11:12,730 --> 00:11:16,970 কিন্তু আমি, সি সিনট্যাক্স জিনিষ অনুমতি করছি একটি একক লাইন সেটিকে একত্রীকরণ. 264 00:11:16,970 --> 00:11:20,230 Int উচ্চতা, প্রস্থ; ইহা একই জিনিস. 265 00:11:20,230 --> 00:11:23,900 আমি বলা দুটি ভেরিয়েবল, এক তৈরি করেছি প্রস্থ বলা উচ্চতা এক, উভয় যা 266 00:11:23,900 --> 00:11:26,730 ধারণ করতে সক্ষম হয় পূর্ণসংখ্যা টাইপ মান. 267 00:11:26,730 --> 00:11:30,920 >> একইভাবে এখানে, আমি তিনটি তৈরি করতে পারেন একযোগে বিন্দু মান ভাসমান. 268 00:11:30,920 --> 00:11:33,350 আমি হয়তো একটি পরিবর্তনশীল তৈরি করতে পারেন 2 না বর্গমূল বলা 269 00:11:33,350 --> 00:11:35,766 যা সম্ভবতঃ ঘটনাক্রমে হবে ভাসমান point-- রাখা 270 00:11:35,766 --> 00:11:39,222 বর্গাকার যে উপস্থাপনা 2 না বর্গক্ষেত্র 3 রুট, এবং পাই এর রুট. 271 00:11:39,222 --> 00:11:41,180 আমি এই কাজ করতে পারে তিনটি পৃথক লাইন. 272 00:11:41,180 --> 00:11:47,690 ফ্লোট, বর্গমূল 2; বর্গমূল ভাসা 3; Pi ভাসা; এবং যে খুব কাজ করে. 273 00:11:47,690 --> 00:11:50,590 >> কিন্তু আবার, আমি শুধু একত্রীকরণ করতে পারেন কোড একটি একক লাইন মধ্যে এই. 274 00:11:50,590 --> 00:11:54,050 জিনিস অল্প করে খাটো, যেমন একটা বেঢপ না. 275 00:11:54,050 --> 00:11:57,259 >> এখন সাধারণভাবে, এটি শুধুমাত্র ভাল নকশা যখন আপনি এটি প্রয়োজন একটি ভেরিয়েবল ডিক্লেয়ার. 276 00:11:57,259 --> 00:11:59,050 এবং আমরা একটু কথা বলতে পারবেন যে সম্পর্কে বিট আরও 277 00:11:59,050 --> 00:12:00,945 পরে অবশ্যই যখন আমরা সুযোগ আলোচনা. 278 00:12:00,945 --> 00:12:03,320 তাই অগত্যা প্রয়োজন হবে না আপনার ভেরিয়েবল সব তৈরি 279 00:12:03,320 --> 00:12:05,990 প্রোগ্রামের শুরুতে যা কিছু মানুষ, অতীতে কাজ করে থাকতে পারে 280 00:12:05,990 --> 00:12:08,700 অথবা অবশ্যই একটি খুব সাধারণ বিষয় ছিল কোডিং অভ্যাস বহু বছর আগে 281 00:12:08,700 --> 00:12:11,700 সি সাথে কাজ করার সময় আপনি শুধু পারে যখন একটি পরিবর্তনশীল অধিকার তৈরি করতে চান 282 00:12:11,700 --> 00:12:13,140 যদি আপনি এটি প্রয়োজন. 283 00:12:13,140 --> 00:12:13,640 ঠিক আছে. 284 00:12:13,640 --> 00:12:15,150 সুতরাং আমরা ভেরিয়েবল তৈরি করেছি. 285 00:12:15,150 --> 00:12:16,790 কিভাবে আমরা তাদের ব্যবহার করবেন? 286 00:12:16,790 --> 00:12:18,650 আমরা ঘোষণা পর একটি পরিবর্তনশীল, আমরা প্রয়োজন হবে না 287 00:12:18,650 --> 00:12:21,237 ডাটা টাইপ উল্লেখ করতে যে পরিবর্তনশীল আর. 288 00:12:21,237 --> 00:12:24,070 যদি আপনি তা করেন আসলে, আপনি পারে কিছু অদ্ভুত পরিণতি দিয়ে শেষ 289 00:12:24,070 --> 00:12:25,490 আমরা ধরণের এখন জন্য টীকাটিপ্পনী করব যে. 290 00:12:25,490 --> 00:12:27,365 কিন্তু এটা বলার জন্য যথেষ্ট, অদ্ভুত জিনিষ যাচ্ছি 291 00:12:27,365 --> 00:12:30,740 অনবধানতাবশত আপনি যদি ঘটছে শুরু করার একই নামের ভেরিয়েবল ঘোষণা করছি 292 00:12:30,740 --> 00:12:32,210 বারবার. 293 00:12:32,210 --> 00:12:33,882 >> তাই এখানে আমি কোড চারটি লাইন আছে. 294 00:12:33,882 --> 00:12:36,090 আর আমি একটি দম্পতি আছে শুধু ইঙ্গিত আছে মন্তব্য 295 00:12:36,090 --> 00:12:37,840 কি ঘটছে প্রতিটি লাইন শুধু সাহায্য করার 296 00:12:37,840 --> 00:12:40,520 আপনি কি ঘটছে এ অবস্থিত করাতে. 297 00:12:40,520 --> 00:12:41,520 সুতরাং int- সংখ্যা ;. 298 00:12:41,520 --> 00:12:42,520 আপনি যে নাটক দেখেছি. 299 00:12:42,520 --> 00:12:44,000 যে একটি পরিবর্তনশীল ঘোষণাপত্র. 300 00:12:44,000 --> 00:12:46,670 >> আমি এখন একটি পরিবর্তনশীল তৈরি করেছি যে তথাকথিত সংখ্যা 301 00:12:46,670 --> 00:12:48,970 পূর্ণসংখ্যা টাইপ মান ধারণ করতে সক্ষম. 302 00:12:48,970 --> 00:12:50,210 আমি ঘোষণা করেছি. 303 00:12:50,210 --> 00:12:53,770 >> আমি বরাদ্দ করছি পরের লাইন সংখ্যা একটি মান. 304 00:12:53,770 --> 00:12:54,992 সংখ্যা 17 সমান. 305 00:12:54,992 --> 00:12:55,950 সেখানে কি ঘটছে? 306 00:12:55,950 --> 00:12:58,880 আমি সংখ্যা 17 নির্বাণ করছি যে পরিবর্তনশীল এর ভিতরে. 307 00:12:58,880 --> 00:13:02,760 >> আমি কখনও তারপর প্রিন্ট আউট তাই কি যদি সংখ্যা বিষয়বস্তু পরবর্তী হয়, 308 00:13:02,760 --> 00:13:04,030 তারা এটা 17 আমাকে বলতে হবে. 309 00:13:04,030 --> 00:13:07,030 তাই আমি একটি ভেরিয়েবল ডিক্লেয়ার করেছি, এবং তারপর আমি এটা নির্ধারিত করেছি. 310 00:13:07,030 --> 00:13:10,570 >> আমরা প্রক্রিয়ার পুনরাবৃত্তি করতে পারেন আবার গৃহস্থালি চিঠি দিয়ে ;. 311 00:13:10,570 --> 00:13:11,640 একটি ঘোষণাপত্র. 312 00:13:11,640 --> 00:13:14,010 ক্যাপিটাল লেটার সমান এইচ যে একটি নিয়োগ না. 313 00:13:14,010 --> 00:13:16,030 বেশ সহজবোধ্য, খুব. 314 00:13:16,030 --> 00:13:18,319 >> এখন এই প্রক্রিয়া পারে ধরনের অর্থহীন মনে. 315 00:13:18,319 --> 00:13:20,110 কেন আমরা এই করছেন কোড দুই লাইনে? 316 00:13:20,110 --> 00:13:21,401 এটা একটি ভাল উপায় আছে কি? 317 00:13:21,401 --> 00:13:22,250 বস্তুত, নেই. 318 00:13:22,250 --> 00:13:24,375 কখনও কখনও আপনি দেখতে হতে পারে এই আরম্ভের বলা. 319 00:13:24,375 --> 00:13:28,446 আপনি একটি ভেরিয়েবল ডিক্লেয়ার যখন এটা এবং একই সময়ে একটি মান নির্ধারণ করুন. 320 00:13:28,446 --> 00:13:30,320 এটি আসলে একটি প্রশংসনীয় সাধারণ জিনিস করতে. 321 00:13:30,320 --> 00:13:32,870 আপনি একটি পরিবর্তনশীল, আপনি সাধারণত তৈরি করেন এটা কিছু মৌলিক মান আছে চান. 322 00:13:32,870 --> 00:13:34,330 এমনকি এটি 0 বা এমন কিছু করে. 323 00:13:34,330 --> 00:13:36,180 আপনি শুধু আপনি এটি একটি মূল্য দিতে. 324 00:13:36,180 --> 00:13:38,360 >> আপনি একটি পরিবর্তনশীল আরম্ভ করতে পারেন. 325 00:13:38,360 --> 00:13:42,320 17 সমান সংখ্যা int হিসাবে একই হয় আপ উপরে কোড প্রথম দুই লাইন. 326 00:13:42,320 --> 00:13:46,829 চর চিঠি H হিসাবে একই সমান উপরের কোড তৃতীয় ও চতুর্থ লাইন. 327 00:13:46,829 --> 00:13:49,620 এখানে সবচেয়ে গুরুত্বপূর্ণ Takeaway আমরা ঘোষণা এবং বরাদ্দ করছি 328 00:13:49,620 --> 00:13:51,740 আমরা করেছি পরে ভেরিয়েবল হল এটা ঘোষণা, নোটিশ 329 00:13:51,740 --> 00:13:53,700 আমি আবার ডাটা টাইপ ব্যবহার করছি না. 330 00:13:53,700 --> 00:13:57,916 আমি int সংখ্যা 17 সমান বলছে না উদাহরণস্বরূপ কোড দ্বিতীয় লাইন. 331 00:13:57,916 --> 00:13:59,290 আমি শুধু সংখ্যা 17 সমান বলার অপেক্ষা রাখে না. 332 00:13:59,290 --> 00:14:02,537 >> আবার, একটি পরিবর্তনশীল পর পুনরায় ঘোষণা যদি আপনি ইতিমধ্যে এটি হতে পারে ঘোষণা করেছি 333 00:14:02,537 --> 00:14:03,620 কিছু অদ্ভুত ফল. 334 00:14:03,620 --> 00:14:05,950 তাই শুধু যে সচেতন হওয়া. 335 00:14:05,950 --> 00:14:06,660 >> আমি ডগ লয়েড আছি. 336 00:14:06,660 --> 00:14:08,870 এবং এই CS50. 337 00:14:08,870 --> 00:14:10,499