আজকাল প্রায় প্রতিটি স্টোর চেক আউট প্রক্রিয়াটিকে সহজ করার জন্য ইউনিভার্সাল প্রোডাক্ট কোড (ইউপিসি) বারকোড ব্যবহার করে। নামটি যদি আপনার কোনও অর্থ না বোঝায় তবে আপনি অবশ্যই দেখতে পাবেন যে তারা কী দেখাচ্ছে:
বিন্যাস
সর্বাধিক প্রচলিত সিস্টেমটি ইউপিসি-এ, যা প্রতিটি নির্দিষ্ট পণ্যের প্রতিনিধিত্ব করতে 12 ডিজিট ব্যবহার করে। প্রতিটি ডিজিটকে মেশিনগুলিকে কোডটি পড়তে দেয়, সাত বিটের দৈর্ঘ্যে একটি সিরিজ কালো এবং সাদা ফিতে দেয় od মোট 11 টি বিট মূল্যবান নিদর্শন রয়েছে যা বারকোডের শুরু, মাঝারি এবং শেষ নির্দেশ করে। এটি 12 × 7 + 11 = 95 বিটের মোট বারকোড দৈর্ঘ্যে আসে। (এখন থেকে, যখন বাইনারি প্রতিটি বিটের রঙ বোঝাতে ব্যবহৃত হয়, 0
সাদা হয় এবং 1
কালো হয়))
শুরু এবং শেষের উভয়ের একটি প্যাটার্ন রয়েছে 101
। অঙ্কগুলি তখন 6 টির 2 টি গ্রুপে বিভক্ত হয় এবং 01010
বাম এবং ডানদিকের গোষ্ঠীর মধ্যে একটি প্যাটার্ন সহ নীচের চিত্রের মতো এনকোড করা হয় । এই টেবিলটি প্রতিটি সংখ্যার জন্য প্যাটার্ন তালিকাভুক্ত করে। লক্ষ্য করুন যে অঙ্কটি ডান বা বাম দিকে রয়েছে তার উপর নির্ভর করে প্যাটার্নটি আলাদা (এটি বারকোডটিকে উল্টোদিকে স্ক্যান করতে দেয়)। তবে, ডানদিকের প্যাটার্নটি হ'ল বিপরীতে (সাদা রঙের ওপরে কালো এবং তার বিপরীতে) বাম দিকের।
যদি আপনি উপরের চিত্রটি দেখতে না পান তবে এটি প্রতিটি সংখ্যার বাইনারি সমতুল্য।
# Left Right
0 0001101 1110010
1 0011001 1100110
2 0010011 1101100
3 0111101 1000010
4 0100011 1011100
5 0110001 1001110
6 0101111 1010000
7 0111011 1000100
8 0110111 1001000
9 0001011 1110100
উদাহরণ
বলুন আপনার ইউপিসি আছে 022000 125033
। (এগুলি এলোমেলো সংখ্যা নয় their আপনি যদি তাদের তাত্পর্যটি অনুভব করেন তবে একটি মন্তব্য দিন)) আপনি প্রতিটি বারকোডে একই বয়লারপ্লেটটি দিয়ে শুরু করুন:
101xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx01010xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx101
অঙ্কগুলির জন্য, আপনি প্রতিটিকে তার পাশ (বাম বা ডান) এর জন্য সংশ্লিষ্ট এনকোডিং দিয়ে প্রতিস্থাপন করবেন। আপনি যদি এখনও বিভ্রান্ত থাকেন তবে নীচের চিত্রটি দেখুন।
|
পাইপগুলির সাথে অংশগুলি পৃথক করে বাইনারিতে আউটপুট দেওয়া হচ্ছে ।
101|0001101|0010011|0010011|0001101|0001101|0001101|01010|1100110|1101100|1001110|1110010|1000010|1000010|101
চ্যালেঞ্জ
এমন একটি প্রোগ্রাম লিখুন যা ব্যবহারকারীর ইনপুটটির জন্য ইউপিসি-এ বারকোডকে আউটপুট করে। চিত্রটির মাত্রা 95 × 30 পিক্সেল হওয়া উচিত, প্রতিটি "বিট" এক পিক্সেল প্রশস্ত এবং 30 পিক্সেল লম্বা। কালো স্ট্রাইপগুলি রয়েছে rgb(0, 0, 0)
এবং সাদা ফিতেগুলি ধারাবাহিকভাবে স্বচ্ছ বা হয় rgb(255, 255, 255)
।
মন্তব্য
- স্টিডিন বা কমান্ড লাইন থেকে ইনপুট নিন, বা একটি স্ট্রিং বা পূর্ণসংখ্যক লাগে এমন একটি ফাংশন লিখুন (নোট করুন যে ইনপুটটিতে নেতৃস্থানীয় জিরো থাকতে পারে, এবং বেশিরভাগ ভাষা সেগুলি সরিয়ে ফেলতে পারে বা সংখ্যাটিকে অষ্টালে রূপান্তর করবে)।
- নিম্নলিখিত কোনও একটিতে চিত্রটি আউটপুট করুন:
- এটি আপনার পছন্দের নাম এবং ফর্ম্যাট (পিএনজি, পিবিএম, ইত্যাদি) সহ কোনও ফাইলে সংরক্ষণ করুন।
- এটি স্ক্রিনে প্রদর্শন করুন।
- স্টডআউটে এর ফাইল ডেটা আউটপুট করুন।
- আপনি হয়ত লাইব্রেরি বা বিল্টিনগুলি ব্যবহার করতে পারবেন না যা বারকোডগুলি উত্পন্ন করে ( আমি আপনাকে দেখছি, ম্যাথামেটিকা ), যদিও আপনি চিত্র বা গ্রাফিক্স লাইব্রেরি ব্যবহার করতে পারেন।
- কোনও ইউপিসির শেষ সংখ্যাটি সাধারণত একটি চেক ডিজিট হয় তবে এই উদ্দেশ্যে আপনাকে এগুলি নিয়ে চিন্তা করতে হবে না।
উদাহরণ
আপনার কোডটি পরীক্ষা করে দেখার জন্য এখানে আরও কয়েকটি উদাহরণ রয়েছে। বাইনারি আউটপুট এছাড়াও সুবিধার জন্য দেওয়া হয়।
ইনপুট: 012345678910
আউটপুট:
10100011010011001001001101111010100011011000101010101000010001001001000111010011001101110010101
ইনপুট: 777777222222
আউটপুট:
10101110110111011011101101110110111011011101101010110110011011001101100110110011011001101100101
স্কোরিং
এটি কোড গল্ফ , তাই সংক্ষিপ্ততম জমা (বাইট জিততে)। টাইব্রেকার প্রথম পোস্টে যায়।
["777777","222222"]