"রাষ্ট্র" সংজ্ঞা


15

একটি নতুন (পূর্বে নন) প্রোগ্রামার হিসাবে স্টেট ভেরিয়েবল বা স্টেট মেশিনের মতো "স্টেট" সংজ্ঞায়নের একটি ভাল উপায় কী? সফ্টওয়্যার লেখার জন্য এই ধারণাটি কেন কার্যকর তা বোঝানোর কয়েকটি ভাল উপায় কী? রাষ্ট্রের ধারণাটি সাধারণত প্রোগ্রামিং কোর্স বা বইয়ের শুরুতে স্পষ্টভাবে শেখানো হয়?

উত্তর:


5

"রাষ্ট্র" প্রয়োজন, যখন আপনার কোনও কিছু মনে রাখা দরকার। ফাংশন ("পদ্ধতি" বা যা কিছু নয়) আদর্শভাবে কেবল তাদের ইনপুটগুলির উপর নির্ভর করে। আপনি যদি এমন প্রশ্ন জিজ্ঞাসা করেন যেখানে উত্তর সময়ের সাথে সাথে পরিবর্তন করতে পারে, এমনকি ইনপুটগুলি একই রকম হয় তবে আপনার উত্তরের সেই পার্থক্যটি মনে রাখার জন্য কিছু দরকার, সঠিক? অন্যথায়, আপনি একটি আলাদা উত্তর দিতে অক্ষম কারণ অন্য কোনও কারণ পরিবর্তিত হয়নি (আসুন ধরে নেওয়া যাক উত্তরটি সরাসরি সময়ের উপর নির্ভর করে না)।

আপনার যে "জিনিস / তথ্য" মনে রাখা দরকার তাকে "রাষ্ট্র" বলা হয়।

(সময়ের সাথে সাথে এই "রাষ্ট্র" পরিবর্তিত হয় না, এটি মূলত "কিছু মনে রাখা / জেনে রাখা" বলার উপায়))


1
আমি মনে করি যে এটি একটি সেরা উত্তর, যদি কোনও উত্তর-গ্রহীতাকে পুনরায় জবাব দেওয়া যায়। বলুন: সমস্ত ক্রিয়াকলাপ জিনিস এবং / অথবা তথ্য পরিচালনা করে। এটি তিনটি উপায়ে ঘটে: ১) যে কোনও ক্রিয়াকলাপ কিছু নিতে পারে বা ব্যবহার করতে বা পড়তে পারে: এর ইনপুট ; 2) এটি কিছু উত্পাদন বা লিখতে পারে: এর আউটপুট ; 3) অগ্রগতি চলাকালীন এটি কোনও কিছু ধরে রাখতে , রাখতে , মুখস্ত করতে , সঞ্চয় করতে পারে: এর অবস্থা। বেশিরভাগ কম্পিউটার প্রোগ্রামগুলির জন্য, সমস্ত ইনপুট, আউটপুট এবং রাষ্ট্র তথ্য ধারণ করে, অন্য ধরণের ক্রিয়াকলাপের জন্য (বলে, রান্না করা) শারীরিক বস্তুগুলি সাধারণত জড়িত থাকে।
রিনিয়ারপোস্ট

8

উইকিপিডিয়া থেকে :

রাষ্ট্র সাধারণত সিস্টেম বা সত্তার বর্তমান অবস্থাটিকে বোঝায় ...

এটি একটি কম্পিউটিং প্রসঙ্গে যার অর্থ এটি বেশ সুন্দর: এমন ডেটা যা কিছু অবজেক্ট বা সিস্টেমের অবস্থা নির্ধারণ করে।

'রাষ্ট্র' এর অর্থ প্রোগ্রামিংয়ের সাথে নির্দিষ্ট নয়। আক্ষরিকভাবে আপনি যেখানেই দেখেন সেখানে 'রাষ্ট্রের' উদাহরণ রয়েছে। টেলিভিশন বন্ধ আছে। কফি গরম. স্নিকারগুলি ক) নীল; খ) গন্ধযুক্ত; গ) দূরে না; d) বেশ জরাজীর্ণ। প্রোগ্রামিং অর্থে 'স্টেট' একটি নন-প্রোগ্রামিং অর্থে 'স্টেট' এর সমান, আমরা যে বিষয়গুলিতে ডিল করি তা প্রয়োগ না করে: ভেরিয়েবল, অবজেক্টস, থ্রেড, ডাটাবেস, ফাইল সিস্টেম ইত্যাদি যদি আপনার থাকে এটি ব্যাখ্যা করার জন্য, পরিচিত পদগুলিতে ব্যাখ্যা করুন - এটিকে কোনও বিদেশী, প্রযুক্তিগত ধারণা করার দরকার নেই।

একটি ঘড়ি কিছু সাধারণ রাষ্ট্রের একটি ভাল উদাহরণ: একটি ঘড়ি চলমান বা চলতে পারে না, এবং এটি এমন একটি সময় নির্দেশ করে যা দিনের প্রকৃত সময়ের সাথে সামঞ্জস্য হতে পারে বা নাও পারে। এই জিনিসগুলি কীভাবে ভেরিয়েবলগুলির মতো এবং ঘড়ির অবস্থার পরিবর্তন কীভাবে অন্যান্য জিনিসকে প্রভাবিত করতে পারে তা দেখতে খুব সহজ।

এটিকে রাষ্ট্রহীন কোনও কিছুর সাথে একটি বক্তব্যের মতো তুলনা করুন: "দরজাটি লাল" " বিবৃতিতে নিজেই রাষ্ট্র নেই। দরজাটি লালচে হতে পারে বা সত্য নয়, তবে বিবৃতিতে কোনও রাজ্য নেই contain দরজা রঙ করা বিবৃতিটির সত্যতা পরিবর্তন করতে পারে তবে বিবৃতিটি নিজেই পরিবর্তন হয় না। একইভাবে, 42-এর মতো সংখ্যার কোনও রাজ্য নেই: 42 হল 42 এবং আপনি এটি পরিবর্তন করতে পারবেন এমন কিছুই নেই।

ভেরিয়েবলের রাষ্ট্র থাকে, মান থাকে না।


1
@ হটপাউ 2 'রাষ্ট্র' এর অর্থ প্রোগ্রামিংয়ের সাথে নির্দিষ্ট নয়। আক্ষরিকভাবে আপনি যেখানেই দেখেন সেখানে 'রাষ্ট্রের' উদাহরণ রয়েছে । টেলিভিশন বন্ধ আছে। কফি গরম. স্নিকারগুলি ক) নীল; খ) গন্ধযুক্ত; গ) দূরে না; d) বেশ জরাজীর্ণ। প্রোগ্রামিং অর্থে 'স্টেট' নন-প্রোগ্রামিং অর্থে 'স্টেট' এর সমান, আমরা যে বিষয়গুলিতে ডিল করি তা প্রয়োগ না করে: ভেরিয়েবল, অবজেক্টস, থ্রেড, ডাটাবেস, ফাইল সিস্টেম ইত্যাদি
কালেব

1
সুতরাং আপনি কংক্রিট উদাহরণ ব্যবহার করে এটি একটি প্রোগ্রামিং ছাত্রকে ব্যাখ্যা করবেন? একটি ভাল ধারণা মত মনে হচ্ছে। এটি তাদের প্রোগ্রামগুলিতে বোঝার রাষ্ট্রকে কার্যকরভাবে স্থানান্তর করবে?
হটপাউ 2

2
@ হটপাউ 2 আমার মন্তব্যটি উত্তরের দিকে নিয়ে গেল এবং কিছুটা প্রসারিত হবে। বোধগম্য হিসাবে, আমি মনে করি শিক্ষানবিসের সাথে অ্যাবস্ট্র্যাক্টে 'রাজ্য' তে খুব বেশি মনোনিবেশ করা ভাল। সত্যই আরও সাধারণ প্যাটার্নটি চিনতে পারার আগে বেশিরভাগ লোকের কোনও কিছুর দৃ concrete় উদাহরণ প্রয়োজন।
কালেব

1
"কফি গরম কেন" রাষ্ট্রীয় কেন তা পরিষ্কার নয়, তবে "দরজাটি লাল" কি রাষ্ট্রহীন? বিপরীতে, এর অর্থ কি "কফিটি কৃষ্ণ" রাষ্ট্রবিহীন এবং "দরজা গরম" রাষ্ট্রীয়?
অ্যাডাম হিউজেস

1
@ অ্যাডাম হিউজেস দেখুন কোথায় আমি কোট ব্যবহার করেছি - বিশেষত, আমি কফি সম্পর্কে কথা বলার জন্য সেগুলি ব্যবহার করিনি কারণ আমি প্রকৃত কফিকেই উল্লেখ করছি, কফির বিষয়ে বিবৃতি নয়। বিন্দুটি হল ভেরিয়েবল এবং মানগুলির মধ্যে পার্থক্যটি ব্যাখ্যা করা। আমার বাড়ির আসল দরজাটি রয়েছে: এটি খোলা বা বন্ধ, লাল বা নীল বা সবুজ, গরম বা ঠান্ডা ইত্যাদি হতে পারে the দরজা সম্পর্কে একটি বিবৃতি সেই রাষ্ট্রকে নির্দেশ করতে পারে তবে বিবৃতি নিজেই একটি পরিবর্তনযোগ্য জিনিস।
কালেব

1

স্টেট এমন তথ্য যা আপনার প্রোগ্রামটি কোনও কাজ সম্পাদন করতে চালিত করে। এটি এমন ডেটা বা তথ্য যা কোনও প্রোগ্রামের রানটাইম জুড়ে পরিবর্তন বা হেরফের হয়। একটি নির্দিষ্ট সময়ের মধ্যে একটি প্রোগ্রামের "রাষ্ট্র" বলতে প্রোগ্রামটি বর্তমানে প্রয়োগ করা সমস্ত তথ্যগুলির স্ন্যাপশটকে বোঝায় যেটি কার্যকর করার পরবর্তী ধাপে পেতে বিশ্লেষণ করছে।

আমার বিশ্ববিদ্যালয়টি স্কিম দিয়ে শুরু হয়েছিল, তাই আমরা একটি রাজ্য-কম মডেল দিয়ে প্রোগ্রামিং শুরু করি। এরপরে আমরা সিটিতে স্যুইচ করেছিলাম এবং কী অবস্থা তা কেন কার্যকর এবং কেন এটি সম্ভাব্য জিনিসগুলিকে খুব জটিল করে তোলে তা সম্পর্কে আমরা খুব স্পষ্ট হয়েছি। সুতরাং কিছু বিশ্ববিদ্যালয় অবশ্যই রাষ্ট্র সম্পর্কে কথা বলে, তবে অগত্যা সবগুলিই নয়


1

আপনি ট্র্যাফিক লাইটের সাদৃশ্যটি ব্যবহার করতে পারেন যা তিনটি অবস্থার মধ্যে একটিতে থাকতে পারে: [গ্রিন], [পাতলা] বা [লাল]। এটি একবারে কেবলমাত্র একটি অবস্থায় থাকতে হবে। ট্র্যাফিক লাইট প্রকৃত রাষ্ট্রের মেশিনকে মডেল করা হচ্ছে। এটি সাধারণত [রাজ্য থেকে ইয়েলো], তারপরে [ইয়েলো থেকে লাল), তারপরে [রেড থেকে গ্রিনে] এর রাজ্যটি সাধারণত স্থানান্তরিত করে।

এখানে চিত্র বর্ণনা লিখুন

বিকল্প রাষ্ট্রীয় রূপান্তর (যা যুক্তরাজ্যের মতো কয়েকটি দেশে কার্যকর হয়, [রেড থেকে গ্রীন] স্থানান্তরের জায়গায় [রেড থেকে ইয়েলো, তারপর ইয়েলো থেকে গ্রিন) এর দুটি ট্রানজিশন রয়েছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.