সিউডো কোড এবং অ্যালগরিদমের মধ্যে পার্থক্য?


17

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

অথবা, যদি তারা সমার্থক শব্দ না হয় তবে এগুলি কী তাদের পৃথক করে? কোন প্রসঙ্গে আমরা সিগো কোড বনাম শব্দ অ্যালগরিদম শব্দটি ব্যবহার করার কথা?


4
একটি অ্যালগরিদম হল quicksort। সিউডোকোডটি হ'ল "আমাকে স্যান্ডউইচ বানান, তারপরে এটি তৈরি হয়ে গেলে আমার কাছে এনে দিন।"
নিল

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

3
সংক্ষিপ্ত সংস্করণ: 'সিউডো কোডটি একটি অ্যালগোরিদম উপস্থাপনের অন্যতম উপায়'
গোরান জোভিক

3
@ নীল বা এমনকি সুডো আমাকে একটি স্যান্ডউইচ তৈরি করেছে xkcd.com/149
স্টুপার ইউজার

উত্তর:


37

অ্যালগোরিদমের উইকিপিডিয়া সংজ্ঞা:

গণিত এবং কম্পিউটার বিজ্ঞানে একটি অ্যালগরিদম একটি কার্য পদ্ধতি গণনা করার জন্য সু-সংজ্ঞায়িত নির্দেশের সীমাবদ্ধ তালিকা হিসাবে প্রকাশিত একটি কার্যকর পদ্ধতি। অ্যালগরিদমগুলি গণনা, ডেটা প্রসেসিং এবং স্বয়ংক্রিয় যুক্তির জন্য ব্যবহৃত হয়।

অ্যালগরিদমগুলি সিউডোকোড ছাড়াই বিশুদ্ধ গাণিতিক সূত্র থেকে জটিল গ্রাফ পর্যন্ত বিভিন্নভাবে বর্ণনা করা যায়।

সিউডোকোড বর্ণনা করেছেন যে কীভাবে আপনি সিন্ট্যাক্টিকাল বিশদে না গিয়ে আপনি একটি অ্যালগরিদম বাস্তবায়ন করবেন।

সুতরাং না, তারা আসলে সমার্থক নয়।


8

কোডটি কীভাবে লিখবেন সে সম্পর্কে একটি অ্যালগরিদম একটি ধারণা। সিউডো কোড হ'ল লিখিত পাঠ্য যা আপনার সেই ধারণাটি যোগাযোগের প্রয়োজন।


নিস! সংক্ষিপ্ত এবং সোজা তবে আমি "লিখিত পাঠ্য" চেয়ে "লিখিত পাঠ্য" বলব আপনি কি মনে করেন?
লুসিয়ানো

6

"সিউডোকোড" হ'ল "অ্যালগরিদম" হিসাবে "ইংরাজী" হ'ল "নক-কৌতুক"।

অ্যালগরিদম এমন কোনও কিছুর জন্য একটি আনুষ্ঠানিক কাঠামো যা সিউডোকোডে বা প্রকৃত কোডে প্রকাশিত হতে পারে ।

নকআক-কৌতুক হ'ল ইংরেজিতে বা অন্য কোনও ভাষায় প্রকাশিত কোনও কিছুর জন্য একটি আনুষ্ঠানিক কাঠামো। (অন্যান্য সংস্কৃতিগুলি কী নক-কৌতুক করে? আমি জানি না))


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

3

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

সুতরাং না, আমি পদগুলি আন্তঃবিন্যাসযোগ্যভাবে ব্যবহার করব না।


2

একটি অ্যালগরিদম হ'ল একটি সিস্টেমেটিক লজিকাল পদ্ধতি যা কম্পিউটারে সমস্যাগুলি সমাধান করার জন্য ব্যবহৃত হয় যখন সিউডোকোড সরল ইংরেজিতে বিবৃতি যা পরে কোনও প্রোগ্রামিং ল্যাঙ্গুয়েজে (প্রোগ্রাম) অনুবাদ করা যেতে পারে।


2

একটি অ্যালগরিদম শব্দার্থক যখন সিউডো কোড একটি সমস্যা সমাধান সম্পর্কে যোগাযোগের একটি বাক্য গঠন মাত্র । এর অর্থ এটি হল যে অ্যালগোরিদম একটি সমস্যা সমাধানের আসল উপায় যখন সিউডো কোডটি কেবল সেইভাবে প্রকাশ করার উপায়।

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


1

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

অন্যদিকে অ্যালগরিদম সামগ্রিক যুক্তি বোঝায়। ক্রমাগত পদক্ষেপে সমস্যা সমাধানের জন্য। যদি এটি চিত্রের মতো উপস্থাপিত হয় তবে এটিকে ফ্লো চার্ট বলা হয়।

কেউ কেউ এটিকে সিউডো কোডটিকে ব্যবসায় সফ্টওয়্যার বিকাশে একটি সাধারণ শব্দ হিসাবে উল্লেখ করতে পারে যেখানে ক্লায়েন্ট-পাশের ব্যবসায়িক অবজেক্ট বিকাশকারীরা প্রয়োজনীয়তার ভিত্তিতে সিউডো কোড লেখেন। এটি প্রয়োগ করার জন্য কোনও প্রোগ্রামার / বিকাশকারীকে দেওয়া হয়।

অ্যালগরিদম আপনি সিস্টেম প্রোগ্রামিং, অনুসন্ধান, বাছাইকরণ, সাধারণত যে কোনও জটিল যুক্তি প্রয়োগ করতে হবে সেখানে প্রোগ্রামিং পরিভাষায় আরও সাধারণ দেখতে পাবেন।


1

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

  • তাদের অবস্থানগুলিতে প্রাথমিক টুকরো রাখুন
  • শো বোর্ড
  • যখন খেলা শেষ হয়নি
    • সরানো এবং প্রদর্শন বোর্ড করুন
    • পদক্ষেপের জন্য প্রম্পট ব্যবহারকারী
    • ব্যবহারকারীদের সরানো

হ্যাঁ, এটি সিউডোকোড, এটি একটি ভাল প্রারম্ভিক পয়েন্ট হিসাবে সহায়ক তবে প্রচুর বিবরণে গ্লোস করে। এটি বাস্তবায়নের অসুবিধা এবং তারতম্যের জন্য অ্যাকাউন্ট করে না, তবে সবচেয়ে বড় সুবিধা হ'ল এটি আপনাকে সমস্ত বিবরণ সমাধান না করেই পুরো পরিস্থিতিটি ধারণাটি রূপান্তর করতে দেয়।

আপনি এটি সংশোধন করতে পারেন, এর মতো আরও একটি স্তর যুক্ত করে:

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

এখন আপনি "কালোদের আইনী পদক্ষেপের একটি তালিকা তৈরি করুন" এর মতো প্রতিটি বড় পদক্ষেপের জন্য সিউডোকোড লিখতে পারেন:

  • প্রতিটি কালো টুকরা জন্য
    • একটি নির্দিষ্ট জায়গায় টুকরা টাইপ জন্য
      • পরবর্তী সম্ভাব্য অবস্থানের একটি তালিকা তৈরি করুন

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

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

উদাহরণস্বরূপ, get_legal_moves(board, color)একটি অ্যালগরিদম ডিজাইনের উপযুক্ত:

get_legal_moves(board, color):
    for i,j in board_dimensions
        if piece_at i,j is of color
            if piece type is KNIGHT
                add the following to the next moves list:
                    location i+1 j+2, i-1 j+2... etc
            if piece type is rook
                add locations:....

আপনি দেখতে পারেন যে অ্যালগরিদমটি কার্যকর হতে খুব সুনির্দিষ্ট হতে হবে।

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


এটি প্রতিটি ধাপে সিউডোকোডে প্রকাশিত শীর্ষ-ডাউন অ্যালগরিদম পচন বলে মনে হয়।
নাথান টগি

0

আমার অভিজ্ঞতা থেকে সিউডো কোড সর্বদা ফাংশনাল পার্সোনেল (প্রক্রিয়াটির মালিক এমন লোকেরা) কোনও প্রক্রিয়া, মডিউল বা উপ-সিস্টেমের ক্ষেত্রে প্রযোজ্য ব্যবসায়ের নিয়মগুলি প্রকাশ করার উপায় হিসাবে লিখেছিলেন written

একটি অ্যালগরিদম যথাসম্ভব নির্দিষ্ট কোনও সমস্যা সমাধানের জন্য যুক্তি-বিবৃতিগুলির একটি পৃথক সেট।


0

অ্যালগরিদম এমন একটি বিষয় যা গাণিতিক দিক থেকে উপস্থাপিত হয়। এর মধ্যে রয়েছে বিশ্লেষণ, বেসিক বাস্তবায়ন (এমনকি এটি সিউডো কোডে প্রকাশিত হয়েছে), জটিলতার বিবেচনায় (সেরা, গড় এবং সবচেয়ে খারাপের বিশ্লেষণ ইত্যাদি) includes

সিউডো কোড একটি প্রোগ্রামের একটি মানব পাঠযোগ্য উপস্থাপনা। এমনকি এটি একটি অ্যালগরিদম বর্ণনা করতে ব্যবহার করা যেতে পারে।


-2

সিউডোর অর্থ সিঙ্গল এবং কোড একটি নির্দেশ হতে পারে .. এখানে সিউডো কোড মানে একটি বিবৃতি যা কম্পিউটার প্রোগ্রামিংয়ের ভাষা সহজেই বোঝার জন্য ব্যবহৃত হয় ... এটি প্রোগ্রামিং কোড বিশ্লেষণে সহায়তা করে .. । যেখানে অ্যালগরিদম হিসাবে একটি সমস্যা সমাধানের জন্য নির্দেশের একটি সীমাবদ্ধ যৌক্তিক পদক্ষেপ।


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