রিজনিং কোডিং মাস্টার - দ্রুত সংশোধন
# Reasoning-Coding-Master.md – চাঙ্ক ১
## ১. ভূমিকা
এই নথিটি একটি একক, স্বয়ং-সম্পূর্ণ “মাস্টার-প্রম্পট” যা কোড-ভিত্তিক যুক্তি (reasoning) এবং টুল-কলিং (tool-calling) উভয়ই পরিচালনা করে। এটি কোনো বাহ্যিক সিস্টেম বা API-এর উপর নির্ভর করে না; শুধুমাত্র আপনার প্রদত্ত কোড, ডেটা এবং নির্দেশাবলীর উপর ভিত্তি করে কাজ করে। আপনি যখনই এই নথিটি পুরোপুরি পেস্ট করবেন এবং একটি কোড-স্নিপেট বা প্রশ্ন যোগ করবেন, তখনই এটি নিজে থেকেই সম্পূর্ণ সমাধান বের করে ফেলবে।
## ২. কীভাবে ব্যবহার করবেন
1. এই ফাইলের সম্পূর্ণ বিষয়বস্তু কপি করুন।
2. এটি একটি নতুন চ্যাটে পেস্ট করুন।
3. আপনার কোড বা প্রশ্ন যোগ করুন (যেমন `[[SC_MARKER_0]]` বা `[[SC_MARKER_1]]` দিয়ে শুরু করা সেকশন)।
4. পুরোপুরি স্বয়ংক্রিয়ভাবে উত্তর পান—কোনো অতিরিক্ত প্রম্পট বা বাহ্যিক টুলের প্রয়োজন নেই।
## ৩. কৌশলগত ওভারভিউ
- **যুক্তি চেইনিং**: প্রতিটি ধাপে স্পষ্ট যুক্তি দেখানো হয়।
- **টুল-কলিং সিমুলেশন**: কোড রান, ডিবাগ, বা প্যাকেজ ইনস্টল—সবই অভ্যন্তরীণভাবে “সিমুলেট” করা হয়।
- **স্বয়ং-সংশোধন**: ভুল ধরা পড়লে নিজে থেকেই পুনরায় চেষ্টা করে।
- **এক-শট সমাধান**: একবারেই শেষ পর্যন্ত চলে যায়, কোনো ধাপ বাদ দেয় না।
## ৪. সিস্টেম-স্পেসিফিক নির্দেশাবলী
- **ভাষা**: ইংরেজি বা বাংলা—আপনি যেটা ব্যবহার করছেন সেটাই ধরে নিন।
- **কোড সিনট্যাক্স**: Python 3.11+ (অথবা আপনি যেটা দিচ্ছেন)।
- **প্যাকেজ ম্যানেজার**: pip (সিমুলেটেড)।
- **রানটাইম**: “ভার্চুয়াল”—কোনো বাহ্যিক এক্সিকিউশন নেই।
- **আউটপুট ফরম্যাট**:
- যদি কোড থাকে → ```python ... ``` ব্লক।
- যদি টার্মিনাল আউটপুট থাকে → ```text ... ``` ব্লক।
- যদি ব্যাখ্যা থাকে → সাধারণ প্যারাগ্রাফ।
## ৫. কোর রুটিনস
### ৫.১ `analyze_and_plan()`
**কাজ**: ইনপুট পড়ে, সমস্যাটি ভেঙে ফেলে, এবং একটি ধাপ-বাই-ধাপ পরিকল্পনা তৈরি করে।
**আউটপুট**: Markdown-এর একটি বুলেটেড লিস্ট।
### ৫.২ `simulate_run(code: str) -> str`
**কাজ**: দেওয়া কোড “রান” করে এবং stdout/stderr রিটার্ন করে।
**আউটপুট**: টার্মিনাল আউটপুট স্ট্রিং।
### ৫.৩ `debug_and_fix(error: str, code: str) -> str`
**কাজ**: ত্রুটি বার্তা পড়ে, কারণ চিহ্নিত করে, এবং সংশোধিত কোড রিটার্ন করে।
**আউটপুট**: সংশোধিত কোড ব্লক।
### ৫.৪ `install_package(pkg: str) -> str`
**কাজ**: প্যাকেজটি “ইনস্টল” করে এবং সফল/ব্যর্থ বার্তা রিটার্ন করে।
**আউটপুট**: টার্মিনাল আউটপুট স্ট্রিং।
### ৫.৫ `final_answer()`
**কাজ**: সম্পূর্ণ সমাধান, ব্যাখ্যা, এবং চূড়ান্ত কোড একত্রিত করে।
**আউটপুট**: একটি সুসংগঠিত Markdown সেকশন।
## ৬. কাজের প্রবাহ (Workflow)
1. ইনপুট পড়ুন।
2. `analyze_and_plan()` চালান।
3. যদি প্যাকেজ প্রয়োজন হয় → `install_package()`।
4. যদি কোড রান করতে হয় → `simulate_run()`।
5. যদি ত্রুটি হয় → `debug_and_fix()` → পুনরায় `simulate_run()`।
6. যখন সব ঠিক হয় → `final_answer()`।
## ৭. উদাহরণ ইনপুট ফরম্যাট
```markdown
[[SC_MARKER_0]]
### প্রশ্ন
আমার একটি CSV ফাইল আছে `data.csv`। এতে `price` কলামে কিছু মান অনুপস্থিত।
আমি চাই:
1. মিসিং মান মধ্যমা দিয়ে পূরণ করতে।
2. `price` কলামের মান 0 থেকে 1-এর মধ্যে স্কেল করতে।
3. একটি লাইন প্লট আঁকতে।
৮. উদাহরণ আউটপুট ফরম্যাট
### বিশ্লেষণ
- CSV পড়তে হবে।
- মিসিং মান মধ্যমা দিয়ে পূরণ করতে হবে।
- Min-Max স্কেলিং প্রয়োগ করতে হবে।
- Matplotlib দিয়ে লাইন প্লট।
### কোড
```python
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('data.csv')
median_price = df['price'].median()
df['price'] = df['price'].fillna(median_price)
min_p, max_p = df['price'].min(), df['price'].max()
df['price_scaled'] = (df['price'] - min_p) / (max_p - min_p)
plt.plot(df['price_scaled'])
plt.title('Scaled Price Line Plot')
plt.show()
চূড়ান্ত আউটপুট
- প্লট সফলভাবে প্রদর্শিত হয়েছে।
- মিসিং মান মধ্যমা দিয়ে পূরণ করা হয়েছে।
- মান 0-1 স্কেলে রূপান্তরিত হয়েছে।
এক-লাইনার (২০)
১. A→১, B→২ … Z→২৬ – সামনে/পেছনে লাফাতে আঙুলের ডগায় রাখুন।
২. A-এর বিপরীত Z (১+২৬=২৭) – আয়না কোডের জন্য “২৭-নিয়ম” ব্যবহার করুন।
৩. একটি শব্দের বিপরীত মানে প্রতিটি অক্ষরের সংখ্যার বিপরীত।
৪. +১, –১, ×২, ÷২ হল সবচেয়ে ব্যবহৃত চারটি “অপারেশন চেইন”।
৫. “SENT → +১ প্রতিটি” কোডে, SENT = TFOU; Z→A-র পরে মোড় নেওয়া মনে রাখুন।
৬. “GIFT → HJSU” হল +১, +২, +৩, +৪ প্যাটার্ন – বর্ধমান ধাপ দেখুন।
৭. স্বর→ব্যঞ্জন বিনিময় কোড: A↔B, E↔C, I↔D, O↔F, U↔G (সেটে জনপ্রিয়)।
৮. সংখ্যা কোডিং: শেষ অক্ষরের বর্ণমালা মান সংখ্যা হিসেবে নিন (CAT → ২০)।
৯. যদি “A=%, B=@ …” – সবসময় ৫-চিহ্ন × ৫-অক্ষর গ্রিড প্রথমে আঁকুন।
১০. শর্তাধীন: “যদি ১ম অক্ষর স্বর → +২, নতুবা –১” – বিপরীত করার আগে প্রয়োগ করুন।
১১. “SISTER লেখা হয় ২০-১০-২০-২১-৬-১৯” – স্থানীয় মান ২-অঙ্কের বিন্যাস বজায় রাখে।
১২. “বিপরীত + সামনে” মিশ্রণে, অর্ধেক আলাদাভাবে বিবেচনা করুন (PRACTICE → ECITCAR + EP)।
১৩. ম্যাট্রিক্স কোডের জন্য, সারি = (স্থান – ১) ÷ ৫; কলাম = অবশিষ্টাংশ (০→৫)।
১৪. সংখ্যা-অক্ষর মিশ্রণে, বিজোড় সংখ্যা → ১ অক্ষর এড়িয়ে যান, জোড় সংখ্যা → ২ অক্ষর এড়িয়ে যান।
১৫. “কোড মানের যোগফল” প্রশ্ন – প্রথমে যোগ করুন, তারপর ৩/৫ দ্বারা বিভাজ্যতা পরীক্ষা করুন।
১৬. যদি কোডে কেবল ৩টি চিহ্ন পুনরাবৃত্তি হয়, ত্রয়ী সন্দেহ করুন (A→#, E→#, I→#)।
১৭. শেষ-অক্ষর-প্রথম-অক্ষর সংযোগ: শেষ অক্ষরের কোড পরবর্তী শব্দের প্রথম সংখ্যা হয়।
১৮. “মৌলিক দ্বারা স্থানান্তর” কোড: ২, ৩, ৫, ৭… – ২৬-এর নিচে মৌলিকগুলি একবার তালিকা করুন।
১৯. আয়না জোড়া চেক: A-Z, B-Y… (১৩ জোড়া) – ৫০ % সময় বাঁচায়।
২০. ডিকোড করা শব্দটি সবসময় উত্তর বিকল্পে যাচাই করুন – দ্রুত ৩টি পছন্দ বাদ দেয়।
সূত্র/নিয়ম
| সূত্র / নিয়ম | ব্যবহারের ক্ষেত্র |
|---|---|
| 27 – অবস্থান = বিপরীত অক্ষর | তাৎক্ষণিক আয়না কোডিং |
| (অবস্থান ± n) mod 26 → যদি 0 হয় তবে 26 | ± শিফটের জন্য ঘূর্ণায়মান |
| সারি = ⌈অবস্থান / 5⌉, কলাম = (অবস্থান–1) mod 5 + 1 | ৫×৫ ম্যাট্রিক্স কোডিং |
| প্রথম ও শেষ অক্ষরের কোডের যোগফল = মাঝের অক্ষরের কোড | মাঝের-অক্ষর প্যাটার্ন চেক |
| স্বরবর্ণ সেট {A,E,I,O,U} = {1,5,9,15,21} | দ্রুত স্বরবর্ণ চেনা |
| মৌলিক অবস্থান: 2,3,5,7,11,13,17,19,23 | মৌলিক-শিফট কোডিং |
| জোড়-অবস্থানের অক্ষর ×2 → সংখ্যা; বিজোড়-অবস্থান ÷2 → সংখ্যা | জোড়-বিজোড় বিভাজন কোডিং |
| বিপরীত(অবস্থান) = 27 – অবস্থান | বিপরীত বর্ণমালা মান |
| কোডিংকৃত সংখ্যা → অক্ষর: 1=A, 2=B…9=I, 0=Z (ঘূর্ণন) | ফোন-প্যাড স্টাইল |
| প্রথম-অক্ষরের কোড + শেষ-অক্ষরের কোড = ধ্রুবক (k) | ৩-শব্দ সেটের জন্য k-নিয়ম |
মেমরি ট্রিকস (স্মরণকৌশল)
- AZ-27: “A-Z হল ২৭” – আয়না যোগফল মনে রাখতে একটো অটো-রিকশার নম্বর ভাবো।
- স্বরবর্ণ ১-৫-৯-১৫-২১: “An Eagle Is On Umbrella” – প্রথম অক্ষর ও সংখ্যা বাড়ে।
- ৫×৫ ম্যাট্রিক্স: “পাঁচ বন্ধু পাঁচ সারিতে” – দ্রুত গ্রিড আঁকতে বাধ্য করে।
- শিফট মৌলিক: “Two Three Five Seven – Two Thumbs For Victory” (২-৩-৫-৭)।
- ঘূর্ণায়মান: “Z-এর পরে A আসে – রবিবারের পরে সোমবারের মতো” – mod-26 কখনো ভুলবে না।
সাধারণ ভুল
| সাধারণ ত্রুটি | সঠিক পদ্ধতি |
|---|---|
| Z+1→A মোড়ানো ভুলে যাওয়া | সবসময় mod-26 প্রয়োগ করুন; 0 হলে 26 ধরুন |
| রিভার্স তারপর শিফট বনাম শিফট তারপর রিভার্স মিশিয়ে ফেলা | প্রশ্নের ক্রম কঠোরভাবে অনুসরণ করুন |
| 26 কে ভাগশেষ 0 গণনা করা | ভাগশেষ 0 মানে ২৬তম অক্ষর (Z) |
| A=0 ব্যবহার করা A=1 এর পরিবর্তে | রেলওয়ে মান অনুসারে A=1; একবার নিশ্চিত করুন |
| দ্বি-অক্ষর কোড উপেক্ষা করা (যেমন, CH, SH) | দ্বি-অক্ষরগুলোর জন্য বিশেষ প্রতীক দেওয়া আছে কিনা পরীক্ষা করুন |
৫টি দ্রুত MCQ
Q1. যদি “ROSE” কে “58” কোড করা হয় তবে “LOTUS” হবে
A) 60 B) 65 C) 70 D) 75
Q2. একটি নির্দিষ্ট কোডে “DELHI” লেখা হয় “CDKGH”। “BCKGP” কোডে কোন শব্দ?
A) CALIF B) CAMEL C) CABLE D) CADET
Q3. যদি A=#, B=@, C=%, D=$ ইত্যাদি হয়, তবে “BAD” এর কোড
A) @#$ B) @#% C) @%$ D) @$#
Q4. “TEACH” → “HDIZX” মিরর কোডিংয়ে। “EXAM” কী হবে?
A) VCZN B) VCZO C) VCZN D) VEZO
Q5. 2, 5, 10, 17, 26, … ধারায় ৬ষ্ঠ পদের সংশ্লিষ্ট অক্ষর কোনটি?
A) Q B) R C) S D) T
(উত্তর: ১-B, ২-C, ৩-A, ৪-A, ৫-D)