সিউডোকোড কী?


19

আমি এই সাইটে এবং অন্যগুলিতে ইদানীং সিউডোকোডের প্রচুর উল্লেখ দেখেছি । তবে আমি এটি পাই না:

  • সিউডোকোড কী? উদাহরণস্বরূপ, নীচে উইকিপিডিয়া নিবন্ধে বলা হয়েছে "এটি একটি প্রোগ্রামিং ভাষার কাঠামোগত সম্মেলনগুলি ব্যবহার করে তবে এটি মেশিন পাঠের পরিবর্তে মানব পাঠের উদ্দেশ্যে তৈরি করা হয়।" অর্থ কি এই যে এটা আছে নয় আসলে করতে প্রোগ্রাম করতেন?

  • কেন এটি ব্যবহার করা হয়?

  • এটি কীভাবে ব্যবহৃত হয়?
  • এটি কি প্রোগ্রামিং ভাষা হিসাবে বিবেচনা করা হয়? (উপরের উইকিপিডিয়া উক্তিটি দেখুন)
  • এটি সাধারণত পরিচিত / ব্যবহৃত হয়?

আমি এ থেকে কোথা থেকে শুরু করব তা সত্যই জানি না। আমি এটি গুগল করেছি এবং আমি এই উইকিপিডিয়া নিবন্ধটি দেখেছি , তবে এখনও এটি সম্পূর্ণরূপে বুঝতে পারি না।


7
দয়া করে উইকিপিডিয়া নিবন্ধ থেকে নির্দিষ্ট উদ্ধৃতি এবং প্রশ্ন সরবরাহ করুন। আপনার সব প্রশ্নের হয় সেখানে উত্তর। যদি আপনি শব্দ বা বাক্যাংশ বুঝতে না পারেন, দয়া করে আপনার প্রশ্নের একটি নির্দিষ্ট শব্দ বা বাক্যাংশ উদ্ধৃত করুন যাতে আমরা এটি ব্যাখ্যা করতে পারি। এই নিবন্ধে আপনি কী বিভ্রান্তি পেয়েছেন তা জানা মুশকিল। এখানে নিবন্ধটি পুনরাবৃত্তি করার পরিবর্তে, আপনি যদি আপনাকে বিভ্রান্ত করে এমন নির্দিষ্ট বিষয়গুলি উল্লেখ করতে পারেন তবে এটি সহায়তা করবে।
এস .লট

@ S.Lott: সম্পন্ন
ডায়নামিক

20
while (you.doNotUnderstand(pseudocode)) { q = you.askQuestion(); a = we.answer(q); you.digestAnswer(a) }
জোচিম সৌর

3
if (question.IsAnswered) then you.UnderstandPseudoCode <- true

1
এটি প্রাকৃতিক ভাষা এবং প্রোগ্রামিং ভাষার মধ্যবর্তী স্থল - এটি কথ্য ভাষার চেয়ে বেশি আনুষ্ঠানিক তবে বাস্তব প্রোগ্রামিং ভাষার চেয়ে কম আনুষ্ঠানিক।
ইঙ্গো

উত্তর:


19

সিউডোকোডটি হ'ল নামটি দ্বারা বোঝা যাচ্ছে, আসল কোড নয়, তবে এটি কোডের মতো দেখাচ্ছে। এটি সত্যিকারের ভাষা ব্যবহারের সময় প্রয়োজনীয় সমস্ত ব্যাগ যুক্ত না করেই কোনও সমস্যার ডোমেন বা সমাধান আরও ভালভাবে বুঝতে মানুষকে সহায়তা করে।

সংক্ষেপে: এটি শুধুমাত্র চিত্রণমূলক উদ্দেশ্যে ব্যবহৃত হয়।

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

ব্যবহারগুলি
এটি সাধারণত ব্যবহৃত হয় বিশেষত প্রকল্পগুলির নকশার পর্যায়ে কোনও সমস্যার নির্দিষ্ট পদ্ধতির বোঝার জন্য। এটি সাধারণত অ্যালগরিদম ডিজাইনে বা শিক্ষকরা যখন বোর্ডে কিছু আঁকেন তেও ব্যবহৃত হয়। এই সমস্ত ক্ষেত্রে কোডটি সংকলনের প্রয়োজন হয় না, আপনি কেবল সমস্যা / সমাধান বুঝতে চান।

সিউডোকোডের প্রকার
সিউডোকোড হতে পারে তবে নির্দিষ্ট ধরণের হতে হবে না, অর্থাৎ এমএসআইএল বর্ণনা করার জন্য আপনার স্ট্যাক-ভিত্তিক সিউডোকোড থাকতে পারে, জাভা, সি #, সি ++, পাইথন চিত্রিত করার জন্য আপনার একটি আবশ্যক সিউডোকোড থাকতে পারে এফ #, হাস্কেল, এসকিউএল ইত্যাদি বর্ণনা করার জন্য কার্যকরী সিউডোকোড থাকতে পারে

উদাহরণগুলি
আমার মাথার উপরে থেকে, তবে কিছু যায় না, কারণ সিউডোকোড ঘটনাস্থলে আবিষ্কার করা যেতে পারে:

এক্সএমএল সিউডোকোড, এক মাথা + বডি স্ট্রাকচার দেখায় যা একাধিক পি-উপাদানগুলির জন্য অনুমতি দেয়:

<head ...
   <title ...
</
<body ...>
   (<p>...)+
</

অত্যাবশ্যক সিউডোকোড, একাধিক উত্তরাধিকারকে সমর্থন করে এমন ভাষায় হীরা সমস্যা দেখায়:

class A() { readFile(); }
class B() : A {}       // overrides readFile in A
class C() : A {}       // overrides readFile in A
class D() : B, C {}    // what definition of readFile should be used?

উপরোক্ত দুটি উদাহরণ স্পষ্টতই কিছু (প্রকারের) ভাষার সাথে সাদৃশ্যপূর্ণ, তবে প্রকৃতপক্ষে সেই ভাষা নয় এবং সম্ভবত সংকলন করতে পারে না। তারা বরং এমন কিছু চিত্রিত করে যা আপনি ব্যাখ্যা করতে চান।


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

8

সিউডোকোড কী? উদাহরণস্বরূপ, নীচে উইকিপিডিয়া নিবন্ধে বলা হয়েছে "এটি একটি প্রোগ্রামিং ভাষার কাঠামোগত সম্মেলনগুলি ব্যবহার করে তবে এটি মেশিন পাঠের পরিবর্তে মানব পাঠের জন্য উদ্দিষ্ট।" এর অর্থ কি এটি আসলে প্রোগ্রাম তৈরিতে ব্যবহৃত হয় না?

এটি ঠিক এটি, এটি একটি মানব বান্ধব আকারে লিখিত কোড। এটি একটি কার্যকারী প্রোগ্রাম তৈরি করতে ব্যবহার করা যাবে না।

কেন এটি তৈরি করা হয়েছিল / এটি ব্যবহার করা হয়?

কারণ সিউডোকোড দ্রুতগতিতে লেখার জন্য এবং দ্রুত পড়ার জন্য দ্রুত। এটি ভাষার নির্দিষ্ট অংশগুলি না থাকায় এটি পড়ার জন্য পরিষ্কার হয়। এটির ভাষাও স্বতন্ত্র তাই যে কেউ এটি পড়তে পারে (সেই কারণে এটি প্রচুর পাঠ্য বইয়ে ব্যবহৃত হয়)

এটি কি প্রোগ্রামিং ভাষা হিসাবে বিবেচনা করা হয়? উপরের উইকিপিডিয়া উক্তিটি দেখুন।

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

এটি সাধারণত পরিচিত / ব্যবহৃত হয়?

হ্যাঁ. জুনিয়র স্তরের যে কোনও ব্যক্তির সিউডোকোড কীভাবে পড়তে / লিখতে হবে তা জানা উচিত। এটি একটি দলে প্রচুর পাঠ্য বই এবং পরিকল্পনার কোড পড়ার জন্য প্রয়োজনীয়।


6

আপনি যদি উইকি নিবন্ধটি পড়ে থাকেন তবে আপনার বেশিরভাগ প্রশ্ন পরিষ্কার হওয়া উচিত। আমি তাদের এখানে একটি সহজ উপায়ে উত্তর দেওয়ার চেষ্টা করব। এই 2 উদাহরণ একবার দেখুন:

পর্ব 1 - উদাহরণ

কোড # 1 - গ্রাহক নিবন্ধকরণ - প্রক্রিয়া পদক্ষেপের একটি উদাহরণ:

  1. গ্রাহক পুনরায় নিবন্ধের পর্দায় যান
  2. গ্রাহক তার বিবরণ প্রবেশ করে।
  3. যদি বৈধ বিবরণ প্রবেশ করানো হয় তবে ডাটাবেসে গ্রাহকের তথ্য সংরক্ষণ করুন
  4. অন্য 100 টি ত্রুটির বার্তা সহ ডায়ালগ বাক্স।

কোড # 2 - গ্রাহকের নাম বৈধ করুন - প্রোগ্রামিং ফাংশনের একটি উদাহরণ

Function ValidateCustomerName(Name1)

If (Name1 is entered and Name2 is entered) then return 1

If (Name1 is not entered) 

   Send Error Message

   return 0

Endif

...

End Function

পার্ট 2 - এখন আপনার প্রশ্ন

সিউডোকোড কী?

এটি একটি অ্যালগরিদম বা প্রক্রিয়াটির পদক্ষেপগুলি লেখার একটি উপায়।

কেন এটি তৈরি করা হয়েছিল / এটি ব্যবহার করা হয়?

এটি নির্দিষ্ট প্রোগ্রামিং ভাষা বা বিশেষ নোটেশনের উপর নির্ভর না করে প্রক্রিয়া বা অ্যালগরিদম ধাপগুলি দেখানোর জন্য ব্যবহৃত হয়।

এটি কি প্রোগ্রামিং ভাষা হিসাবে বিবেচনা করা হয়?

এটি সংকলনযোগ্য নয় এবং এটির কারণ এটির কোনও নির্দিষ্ট বাক্য গঠন নেই এবং তাই এটি কোনও প্রোগ্রামিং ভাষা নয়।

যদি তাই হয় তবে এটি কি এতটা সক্ষম, যাক, পাইথন?

এটি যতটা সক্ষম হোক তেমন সক্ষম তৈরি করা যায়। আপনি বিবৃতি লিখতে পারেন যেমন: যদি বয়স বৈধ হয় ...

এটি সাধারণত পরিচিত / ব্যবহৃত হয়?

হ্যাঁ. অ্যালগরিদমগুলি সম্পর্কে চিন্তাভাবনা এবং ব্যবসায় বিশ্লেষকদের বিশদে বিশদ সরবরাহের ক্ষেত্রে এটি সহায়ক।


@ জায়ে, আমি সম্পাদনার প্রশংসা করি।
NoChance

4

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

এটি সিউডোকোডের জন্য কোনও কঠোর গঠন নয়। যদি লেখক যদি কোনও ভাষা জানেন যা "{" ব্যবহার করে যদি একটি বিবৃতি দেওয়ার পরে তারা এটি বোর্ডে রাখে, যদি তারা অজগরটি জানে তবে তারা তা করে না। লক্ষ্যটি হ'ল সমস্যাটির প্রাথমিক পদ্ধতির দ্রুত স্কেচ করা, একেবারে সঠিক কোড নয়।

শিক্ষকরা কোনও শিক্ষার্থীকে সঠিক উত্তর না দিয়ে দিকনির্দেশনা দেওয়ার জন্য এটি ব্যবহার করতে পারেন। আপনি যদি আরও কিছু জানেন তবে কোডের খণ্ডগুলি স্কেচ করার সময় একটি ভাষা সিউডোকোড ব্যবহার করা স্বাভাবিক।


2

সিউডোকোড কোনও ভাষা নয়, কোনও সম্মেলন নয়। প্রতিটি পাঠ্যপুস্তক বা কাগজ সিউডোকোডের নিজস্ব সংস্করণ ব্যবহার করবে। অন্যান্য অনেক অনানুষ্ঠানিক গাণিতিক "ভাষাগুলি" এর মতো, সবচেয়ে ভাল ক্ষেত্রে এটি অনানুষ্ঠানিকভাবে কাগজে বর্ণিত হবে, সবচেয়ে খারাপ ক্ষেত্রে লেখকরা এটি যথেষ্ট "সুস্পষ্ট" হওয়ার প্রত্যাশা করবেন।


সবচেয়ে বেস্ট ক্ষেত্রে এটি কোনও প্রথাগত বা অনানুষ্ঠানিক বিবরণ প্রয়োজন না করার পক্ষে যথেষ্ট স্পষ্ট;)।
আবেল

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

এই থ্রেডটি সিউডোকোড সম্পর্কে। এর সাথে ফর্মালিজমের কোনও সম্পর্ক নেই। তবে আমার মন্তব্যটি ছিল "পাং ইচ্ছাকৃত";)।
আবেল

@ আবেল, বিমূর্ত ভাষাটিও একটি আনুষ্ঠানিকতা (কমপক্ষে যখন কম বা বেশি বৈজ্ঞানিক কাগজে ব্যবহৃত হয়)।
এসকে-লজিক

2

সিউডো কোড কী?

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

কেন এটি তৈরি করা হয়েছিল / এটি ব্যবহার করা হয়?

আপনাকে কোনও প্রোগ্রামিং ভাষা ব্যবহার না করে কোনও প্রক্রিয়া, প্রক্রিয়া বা একটি অ্যালগরিদমের পদক্ষেপগুলি নির্দিষ্ট করতে সহায়তা করার জন্য তৈরি হয়েছিল। একটি সম্ভাব্য বিকল্প হ'ল ফ্লোচার্ট ব্যবহার করা।

এটি কি প্রোগ্রামিং ভাষা হিসাবে বিবেচনা করা হয়?

না, এটি কোনও প্রোগ্রামিং ভাষা নয়, কারণ কোনও আনুষ্ঠানিক নিয়ম নেই।

এটি সাধারণত পরিচিত / ব্যবহৃত হয়?

ব্যক্তিগতভাবে, অ্যালগরিদম বা জটিল পদ্ধতি লেখার সময় আমি সর্বদা সিউডো কোড ব্যবহার করার চেষ্টা করি।


0

সিউডোকোডের আমার ব্যক্তিগত সংজ্ঞা হ'ল কোড ডিজাইনের সময় কাগজের একটি শীটে আমি সরল ইংরেজিতে যে জিনিসটি লিখি "

সিউডোকোড "ডিজাইন" থেকে কোড করার আগে আমি আমার সিউডোকোডকে মন্তব্য হিসাবে যুক্ত করব। তারপরে সেই মন্তব্যে কাজ করে আমি "আসল" কোড যুক্ত করতে পারি যা বর্ণিত টাস্কটি সম্পাদন করে।

কোডিংয়ের এই পদ্ধতির জন্য একটি আনুষ্ঠানিক নাম থাকতে পারে, যা সম্পর্কে আমি অবগত নই এবং আমি কেবল নতুন / জটিল কিছু করার সময় এটি ব্যবহার করি।


-4

যেমনটি আমার প্রোগ্রামিং প্রভাষক বলেছেন:

সিউডোকোড হ'ল যে কোনও প্রোগ্রামিং ভাষার ইংরেজি সংস্করণ।


2
-1 সহায়ক নয়। উদ্ধৃতিটি কেবলমাত্র সিউডোকোডের ব্যাখ্যা (এই উত্তরে অনুপস্থিত) এর মধ্যে অর্থবোধ করে। অন্যথায়, এটি বেশ বিভ্রান্তিকর হতে পারে। একজন নবাগত বিস্মিত হতে পারে: আচ্ছা, সি # এর পদ্ধতিগুলি সমস্ত ইংরেজী ভাষায়, সুতরাং এর অর্থ সি # আমি ব্যবহার করছি সিউডোকোড, তাই না ...? তারা যখন জার্মানিতে সি # ব্যবহার করছেন তখন তারা এটিকে কী বলে?
ডপপেলগ্রিনিয়ার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.