১. উদ্দীপক
উদ্দীপকে উফশী ধান আবিষ্কারে ব্যবহৃত প্রযুক্তিটি হলো জেনেটিক ইঞ্জিনিয়ারিং। জীবদেহে জীনোমকে প্রয়োজন অনুযায়ী সাজিয়ে কিংবা - একাধিক জীবের জীনোমকে জোড়া লাগিয়ে নতুন জীবকোষ সৃষ্টির কৌশলই হলো জেনেটিক ইঞ্জিনিয়ারিং। একটি উদ্ভিদ বা প্রাণীর বৈশিষ্ট্যের বাহক হচ্ছে জিন। অন্যদিকে জিনোম হলো জীবের বৈশিষ্ট্যের নকশা বা বিন্যাস। কোনো উদ্ভিদের বৈশিষ্ট্যের পরিবর্তন করতে চাইলে উক্ত উদ্ভিদের জিনোমের কোনো একটি জিনকে পরিবর্তন করে দিতে হয়। যেহেতু জিনগুলো আসলে ডিএনএ'র একটি অংশ, তাই একটা জিনকে পরিবর্তন করতে হলে ল্যাবরেটরিতে ডিএনএ'র সেই অংশটুকু কেটে আলাদা করে অন্য কোনো উদ্ভিদ বা ব্যাকটেরিয়া থেকে আরেকটি জিন কেটে এনে সেখানে লাগিয়ে দিতে হয়। এর ফলে একটি নতুন বৈশিষ্ট্যসম্পন্ন কাঙ্ক্ষিত উদ্ভিদের সৃষ্টি হয়।
উদ্দীপকে বর্ণিত ঘটনায় মি: রফিক পার্পল কালার (বেগুনি রঙের) উফশী ধানের বীজ আবিষ্কারের জন্য উপরের বর্ণিত পদ্ধতি অনুসরণ করেছেন। অর্থাৎ তিনি নির্দিষ্ট উদ্ভিদের ডিএনএ'র নির্দিষ্ট জিনকে কেটে আলাদা করে সেখানে সুনির্দিষ্ট জিনকে জোড়া লাগিয়ে নতুন প্রজাতির উফশী ধানের বীজ আবিষ্কার করেন।
কৃষিক্ষেত্রে জেনেটিক ইঞ্জিনিয়ারিং এর অবদান নিচে উল্লেখ করা হলো:
বর্তমানে জেনেটিক ইঞ্জিনিয়ারিং প্রযুক্তি প্রয়োগ করে খাদ্যশস্য বহুগুণে উৎপাদন সম্ভব হচ্ছে। জেনেটিক ইঞ্জিনিয়ারিং ও hybrid breeding পৃথক পদ্ধতি; সব হাইব্রিড জাত genetic modification দিয়ে তৈরি নয়। জেনেটিক ইঞ্জিনিয়ারিং প্রযুক্তি ব্যবহার করে অনেক উচ্চ ফলনশীল জাতের শস্যবীজ উৎপাদন সম্ভব হয়েছে। এসব বীজ ব্যবহার করে শস্যও কয়েকগুণ হারে উৎপাদন সম্ভব হচ্ছে। খাদ্যশস্য যেমন- ভুট্টা, ধান, তুলা, টমেটো, পেঁপেসহ অসংখ্য ফসলের উৎপাদন বৃদ্ধি পেয়েছে, ফলের রোগ প্রতিরোধক ক্ষমতা বাড়ানো, আগাছা সহিষ্ণু, পোকামাকড় প্রতিরোধী জাত উদ্ভাবন হচ্ছে। বিভিন্ন জাতের মৎস্য সম্পদ (বিশেষত মাগুর, কার্প, তেলাপিয়া ইত্যাদি) বৃদ্ধির জন্য জিন প্রকৌশলকে কাজে লাগানো হচ্ছে। প্রাণীর আকার ও মাংস বৃদ্ধি, দুধে আমিষের পরিমাণ বাড়ানো, ভেড়ার পশম বাড়ানোর কাজে জিন - প্রকৌশলকে কাজে লাগানো সম্ভব হচ্ছে।
২. উদ্দীপক
উদ্দীপক অনুযায়ী, জনাব মামুন যে প্রজন্মের মোবাইল ফোন ব্যবহার করেন তা হলো চতুর্থ প্রজন্মের বা $\text{4G}$ মোবাইল ফোন। কারণ উদ্দীপকে উল্লিখিত $\text{LTE}$ $(\text{Long \ Term \ Evolution})$ হলো $\text{4G}$ প্রজন্মের একটি জনপ্রিয় স্ট্যান্ডার্ড।
নিচে $\text{4G}$ প্রযুক্তির প্রধান বৈশিষ্ট্যগুলো বর্ণনা করা হলো:
১. এর ডেটা ট্রান্সফার রেট অত্যন্ত বেশি; গতি সর্বোচ্চ প্রায় $\text{1 \ Gbps}$ পর্যন্ত হতে পারে।
২. এটি পুরোপুরি ইন্টারনেট প্রোটোকল $(\text{IP})$ বা প্যাকেট সুইচড নেটওয়ার্কভিত্তিক প্রযুক্তি।
৩. এই প্রজন্মের মোবাইলে হাই-ডেফিনিশন $(\text{HD})$ মোবাইল টিভি এবং ত্রিমাত্রিক $(\text{3D})$ ছবি প্রদর্শনের ব্যবস্থা রয়েছে।
৪. এটি সাধারণভাবে আগের প্রজন্মের তুলনায় বেশি broadband capacity দেয়; নির্দিষ্ট 50 গুণ অনুপাত সব নেটওয়ার্কে প্রযোজ্য নয়।
৫. উচ্চ গতির ফ্রিকোয়েন্সি ব্যবহার করে দ্রুতগতিতে ডেটা, ভয়েস ও মাল্টিমিডিয়া আদান-প্রদান করা যায়।
৬. উন্নতমানের গেমিং সেবা এবং ভিডিও স্ট্রিমিংয়ের জন্য এটি বিশেষভাবে উপযোগী।
৩. উদ্দীপক
$6 + 5 + 3 = 1110$- এটি মূলত দশমিক সংখ্যার যোগফলের বাইনারি রূপ। নিচে তা ব্যাখ্যা করা হলো:
সাধারণ দশমিক বা ডেসিমাল সংখ্যা পদ্ধতিতে ৬, ৫ এবং ৩-এর যোগফল হলো ১৪।
অর্থাৎ, $6 + 5 + 3 = 14$, যা একটি দশমিক সংখ্যা।
এখন, দশমিক সংখ্যা $(14)_{10}$-কে বাইনারি সংখ্যায় রূপান্তর করলে পাওয়া যায়:
$14 \div 2 = 7$, ভাগশেষ $0$ $(\text{LSB})$
$7 \div 2 = 3$, ভাগশেষ $1$
$3 \div 2 = 1$, ভাগশেষ $1$
$1 \div 2 = 0$, ভাগশেষ $1$ $(\text{MSB})$
সুতরাং, $(14)_{10} = (1110)_2$
যেহেতু দশমিক পদ্ধতিতে $6 + 5 + 3 = 14$ এবং $(14)_{10}$-এর বাইনারি মান $(1110)_2$, তাই বলা যায় $6 + 5 + 3 = 1110$।
উদ্দীপক হতে পাই, $A = (52)_{10}$
প্রশ্নমতে, $A = (34)_n$
সুতরাং, $(34)_n = (52)_{10}$
যেকোনো ভিত্তির $(\text{Base})$ সংখ্যাকে ডেসিমালে রূপান্তরের নিয়ম অনুযায়ী বামপক্ষকে সাজিয়ে পাই:
বা, $3 \times n^1 + 4 \times n^0 = 52$
বা, $3n + 4 \times 1 = 52$
বা, $3n + 4 = 52$
বা, $3n = 52 - 4$
বা, $3n = 48$
বা, $n = \frac{48}{3}$
$\therefore n = 16$
অর্থাৎ, $A$-এর মান $(34)_n$ হলে, ভিত্তি $n$-এর মান হবে $16$।
যোগের সাহায্যে পার্থক্য নির্ণয় বলতে মূলত ২-এর পরিপূরক $(\text{2's Complement})$ পদ্ধতিকে বোঝানো হয়। নিচে এই পদ্ধতিতে $A$ ও $B$-এর পার্থক্য $(S)$ নির্ণয় করা হলো:
উদ্দীপক হতে পাই,
$\text{A} = (52)_{10}$
$\text{B} = (103)_8$
প্রথমে $\text{B}$-এর মানকে ডেসিমালে রূপান্তর করি:
$\text{B} = (103)_8 = 1 \times 8^2 + 0 \times 8^1 + 3 \times 8^0$
$= 1 \times 64 + 0 \times 8 + 3 \times 1$
$= 64 + 0 + 3$
$= (67)_{10}$
যেহেতু $\text{B > A}$, তাই পার্থক্য $\text{S = B - A}$ অর্থাৎ, $\text{B + (-A)}$ নির্ণয় করতে হবে।
৮-বিট রেজিস্টারের জন্য $\text{A}$ ও $\text{B}$-এর বাইনারি মান:
$(67)_{10} = (01000011)_2$
$(52)_{10} = (00110100)_2$
এখন $A$ বা $(52)_{10}$-এর ২-এর পরিপূরক নির্ণয় করি: $(52)_{10}$-এর প্রকৃত মান $= (00110100)_2$ ১-এর পরিপূরক মান $= (11001011)_2$ [বিটগুলো উল্টিয়ে] যোগ $1$ $= (00000001)_2$
$(-52)_{10}$ বা ২-এর পরিপূরক $= (11001100)_2$
এখন, $\text{B}$ এবং $\text{(-A)}$ যোগ করি: $\text{B} = (67)_{10} = (01000011)_2$ $-\text{A} = (-52)_{10} = (11001100)_2$ [২-এর পরিপূরক মান]
যোগফল $\text{S} = (15)_{10} = (100001111)_2$
এখানে সর্ববামের নবম বিটটি হলো ক্যারি বিট $(\text{Carry Bit})$ '১', যা নির্বাচিত৮-বিটের বাইরের carry হিসেবে বাদ যাবে এবং এটি বাদ দেওয়া হয়।
সুতরাং, নির্ণেয় পার্থক্য, $\text{S} = (00001111)_2$ বা $(1111)_2$।
$\text{S}$ ও $\text{C}$-এর যোগফল বাইনারিতে নির্ণয়:
উদ্দীপক হতে পাই, $\text{C} = (\text{A}25.6\text{C})_{16}$
$\text{C}$-এর মানকে বাইনারিতে রূপান্তর করি:
$\text{A} \rightarrow 1010$
$2 \rightarrow 0010$
$5 \rightarrow 0101$
$. \rightarrow .$
$6 \rightarrow 0110$
$\text{C} \rightarrow 1100$
অর্থাৎ, $\text{C} = (101000100101.01101100)_2$
প্রথম অংশ হতে পাই, $\text{S} = (1111)_2$ এখন $\text{S}$ ও $\text{C}$-এর যোগফল নির্ণয় করি (যোগের সুবিধার্থে $\text{S}$-এর মানকে সাজিয়ে লিখে): $\text{C} = 101000100101.01101100$ $\text{S} = 000000001111.00000000$
যোগফল $= 101000110100.01101100$
অতএব, $\text{S}$ ও $\text{C}$-এর যোগফল বাইনারিতে হলো $(101000110100.01101100)_2$।
৪. উদ্দীপক
চিত্র-১ এর P চিহ্নিত লজিক গেইটটি হলো $NAND$ গেইট। $NAND$ গেইট একটি সর্বজনীন গেইট কারণ এ গেইট দ্বারা সকল মৌলিক গেইট $(OR, AND, NOT)$ বাস্তবায়ন করা যায়। নিচে তা প্রমাণ করে দেখানো হলো-
$(i) NOT$ গেইট বাস্তবায়ন: চিত্রের দুটি ইনপুট $A$ সমান।
চিত্রের গেইট ও সংযোগ:
| ধাপ/গেইট | ইনপুট → আউটপুট |
|---|---|
| NAND₁ | দুই ইনপুটে একই A; আউটপুট $\overline{AA}=\overline A$ |
অর্থাৎ $NAND$ গেইটটি একটি $NOT$ গেইট হিসেবে কাজ করে।
$(ii) AND$ গেইট বাস্তবায়ন: দুটি $NAND$ গেইট সংযোগে একটি $AND$ গেইট তৈরি হয়।
চিত্রের গেইট ও সংযোগ:
| ধাপ/গেইট | ইনপুট → আউটপুট |
|---|---|
| NAND₁ | A,B → $T=\overline{AB}$ |
| NAND₂ | T,T → $Y=\overline{TT}=AB$ |
চিত্রের সার্কিটটি একটি $AND$ গেইট হিসেবে কাজ করে।
$(iii) OR$ গেইট বাস্তবায়ন: দুটি $NAND$ গেইটের আউটপুটকে পুনরায় $NAND$ গেইট দিয়ে প্রবাহিত করলে $OR$ গেইট হিসেবে কাজ করে।
চিত্রের গেইট ও সংযোগ:
| ধাপ/গেইট | ইনপুট → আউটপুট |
|---|---|
| NAND₁ | A,A → $U=\overline A$ |
| NAND₂ | B,B → $V=\overline B$ |
| NAND₃ | U,V → $Y=\overline{UV}=A+B$ |
চিত্রের সার্কিটটি একটি $OR$ গেইট হিসেবে কাজ করে।
চিত্র-১ এ $F$ এর সরলীকৃত মান নিচে নির্ণয় করে দেখানো হলো-
চিত্রের গেইট ও সংযোগ:
| ধাপ/গেইট | ইনপুট → আউটপুট |
|---|---|
| NOT | $B$ → $\overline B$ |
| OR | $\overline B,C$ → $T=\overline B+C$ |
| NAND | $B,T$ → $U=\overline{B(\overline B+C)}$ |
| OR | $A,U$ → $V=A+U$ |
| NOR | $V,U$ → $F=\overline{V+U}$ |
অর্থাৎ, $F=\overline{A+(\overline{B \cdot(\bar{B}+C}))+(\overline{B \cdot(\bar{B}+C)})}$
$=\overline{A+(\overline{B \cdot \bar{B}+B C})+(\overline{B \cdot \bar{B}+B C})}$
$\begin{aligned} & =\overline{A+(\overline{0+B C})+(\overline{0+B C})} \\ & =\overline{A+\overline{B C}+\overline{B C}} \\ & =\overline{A+\overline{B C}} \\ & =\bar{A} \cdot \overline{\overline{B C}} \\ & =\bar{A} B C\end{aligned}$
চিত্র-১ এর $\mathrm{Q}$ চিহ্নিত লজিক গেইটটি হলো $\mathrm{NOR}$ গেইট। চিত্র-২ হলো ফুল অ্যাডারের ব্লক ডায়াগ্রাম। $\mathrm{NOR}$ গেইটের সাহায্যে ফুল অ্যাডার বাস্তবায়ন করা যায়। নিচে তা দেখানো হলো-
আমরা জানি, ফুল অ্যাডারের ক্ষেত্রে,
উৎসের NOR-গেইটভিত্তিক ফুল অ্যাডার:
| ধাপ/গেইট | ইনপুট → আউটপুট |
|---|---|
| প্রথম তিন NOR | একই ইনপুট দিয়ে A,B,$C_i$-এর পরিপূরক তৈরি |
| S-এর চার minterm | $\overline A\overline B C_i$, $\overline A B\overline{C_i}$, $A\overline B\overline{C_i}$, $ABC_i$ |
| $C_o$-এর চার minterm | $\overline A BC_i$, $A\overline B C_i$, $AB\overline{C_i}$, $ABC_i$ |
| NOR-ভিত্তিক বাস্তবায়ন | De Morgan প্রয়োগে প্রতিটি minterm-এর পূরক NOR-এ তৈরি; চারটি পূরকের NOR-এ OR-sum পাওয়া যায় (S ও $C_o$-এর পৃথক পথ)। |
৫. উদ্দীপক
চিত্র-১: 1 ↔ 2 ↔ 3—শুধু পাশাপাশি পেইজগুলোর দ্বিমুখী লিংক।
চিত্র-২: Home → 1, Home → 2; 1 → 3, 1 → 4; 2 → 5, 2 → 6। উৎসের তীরগুলো উপর থেকে নিচে একমুখী।
$\text{e. Car}$
$\text{f. Plane}$
$\text{5. Fighter plane}$
$6.\underline{\text{Commercial plane}}$
$\text{7. Private plane}$
$\text{g. Bike}$
$\quad$ O $\text{Super Bike}$
$\quad$ O $\text{Electric Bike}$
$\quad\quad\quad$চিত্র-৩
<html>, <HTML> ইত্যাদি একই element বোঝায়। তবে attribute-value, file-name, URL-path, script বা CSS-এর সবকিছু case-insensitive নয়। যেমন image-file-এর বড়/ছোট অক্ষর server-এর filesystem অনুযায়ী গুরুত্বপূর্ণ হতে পারে। পাঠযোগ্যতার জন্য ছোট হাতের tag ব্যবহার প্রচলিত।
উদ্দীপকের চিত্র-৩-এ প্রদর্শিত আউটপুটটি মূলত নেস্টেড লিস্ট $(\text{Nested List})$-এর একটি উদাহরণ। এখানে অর্ডারড লিস্ট $(\text{Ordered List})$ এবং আনঅর্ডারড লিস্ট $(\text{Unordered List})$ উভয়েরই ব্যবহার রয়েছে। এটি প্রদর্শনের জন্য সঠিক $\text{HTML}$ কোড নিচে দেওয়া হলো:
<!DOCTYPE html>
<html>
<head>
<title> Nested List </title>
</head>
<body>
<ol type = "a"start ="5">
<li> Car </li>
<li> Plane
<ol type = "1"start ="5">
<li> Fighter plane </li>
<li> <u> Commercial plane </u> </li>
<li> Private plane </li>
</ol>
</li>
<li>Bike
<ul type = "circle">
<li> Super Bike </li>
<li> Electric Bike </li>
</ul>
</li>
</ol>
</body>
</html>
উদ্দীপকের চিত্র-১ হলো সিকোয়েন্স বা লিনিয়ার কাঠামো $(\text{Linear Structure})$ এবং চিত্র-২ হলো ট্রি বা হায়ারার্কিক্যাল কাঠামো $(\text{Tree or Hierarchical Structure})$। একটি কুইজ প্রতিযোগিতা পরিচালনার জন্য এই দুটি কাঠামোর মধ্যে লিনিয়ার কাঠামো $(\text{Linear Structure})$ অধিক সুবিধাজনক। নিচে এর সপক্ষে যুক্তি বিশ্লেষণ করা হলো:
যে ওয়েবসাইট কাঠামোতে পেইজগুলো একটি নির্দিষ্ট ক্রমানুসারে (একের পর এক) সাজানো থাকে, তাকে লিনিয়ার কাঠামো বলে। কুইজ প্রতিযোগিতার ক্ষেত্রে সাধারণত প্রশ্নগুলো একটি নির্দিষ্ট ধারায় সাজানো থাকে, যেখানে প্রতিযোগীকে ধাপে ধাপে একটি প্রশ্নের উত্তর দেওয়ার পর পরবর্তী প্রশ্নে যেতে হয়। লিনিয়ার কাঠামোতে ব্রাউজার বা ব্যবহারকারী $\text{Next}$, $\text{Previous}$ লিংকের মাধ্যমে খুব সহজেই এক পেইজ থেকে অন্য পেইজে ক্রমানুসারে যেতে পারে, যা কুইজ পরিচালনার ধারাবাহিক প্রক্রিয়ার সাথে সম্পূর্ণ সামঞ্জস্যপূর্ণ। এটি প্রতিযোগীর অগ্রগতি ট্র্যাক $(\text{Track})$ করাকেও সহজ করে।
অন্যদিকে, চিত্র-২ এর ট্রি কাঠামোতে $(\text{Tree Structure})$ তথ্যগুলো বিভিন্ন শাখা-প্রশাখায় বা স্তরে (হোমপেইজ, মেইন মেনু, সাব-মেনু) বিভক্ত থাকে। ব্যবহারকারীকে প্রথমে বিভাগ নির্বাচন করে তারপর নির্দিষ্ট তথ্যে পৌঁছাতে হয়। কুইজের মতো একমুখী বা ধারাবাহিক প্রক্রিয়ায় এটি ব্যবহার করলে প্রতিযোগীদের বারবার মেনুতে ফিরে যেতে হতে পারে, যা সময়সাপেক্ষ এবং বিভ্রান্তিকর $(\text{Confusing})$ হতে পারে।
সুতরাং উপরোক্ত আলোচনা থেকে স্পষ্টভাবে বলা যায় যে, কুইজ প্রতিযোগিতার মতো ধাপভিত্তিক বা পর্যায়ক্রমিক কাজের জন্য জটিল ট্রি কাঠামোর চেয়ে সহজবোধ্য এবং ব্যবহারকারীবান্ধব লিনিয়ার কাঠামোই $(\text{Linear Structure})$ অধিক কার্যকর ও সুবিধাজনক।
৬. উদ্দীপক
দৃশ্যকল্প-১: প্রধান তালিকায় ভরাট বৃত্তচিহ্নে River, Flower। River-এর উপতালিকায় ফাঁপা বৃত্তচিহ্নে Padma, Jamuna, Meghna; Flower-এর উপতালিকায় ফাঁপা বর্গচিহ্নে Adenium, Rose, Lily।
দৃশ্যকল্প-২-এর অসম্পূর্ণ কোড:
<html>
<body>
<table>
<tr>
<td>....</td>
</tr>
</table>
</body>
</html>
দৃশ্যকল্প-৩: ২ কলামের টেবিলে বাঁ কলামের River ঘরটি Padma, Jamuna, Meghna-এর ৩ সারি জুড়ে; Flower ঘরটি Adenium, Rose, Lily-এর ৩ সারি জুড়ে।
<br> একটি void বা empty element: এর closing-tag বা ভেতরের content নেই; এটি line-break তৈরি করে। Empty বলার কারণ একবারই ব্যবহার করা যায় এমন নয়—প্রয়োজনে একই document-এ বহুবার <br> লেখা যায়।
<!DOCTYPE html>
<html><body>
<ul>
<li>River
<ul style="list-style-type:circle">
<li>Padma</li><li>Jamuna</li>
<li>Meghna</li>
</ul>
</li>
<li>Flower
<ul style="list-style-type:square">
<li>Adenium</li><li>Rose</li>
<li>Lily</li>
</ul>
</li>
</ul>
</body></html>
<!DOCTYPE html>
<html><body>
<table border="1" cellspacing="0">
<tr><td rowspan="3">River</td>
<td>Padma</td></tr>
<tr><td>Jamuna</td></tr>
<tr><td>Meghna</td></tr>
<tr><td rowspan="3">Flower</td>
<td>Adenium</td></tr>
<tr><td>Rose</td></tr>
<tr><td>Lily</td></tr>
</table>
</body></html>
৭. উদ্দীপক
_ ব্যবহার করা যায়; প্রথম অক্ষর অঙ্ক হতে পারে না, keyword ব্যবহার করা যায় না এবং ফাঁকা স্থান চলে না। একই scope-এ একই নামে দ্বন্দ্বপূর্ণ ঘোষণা করা যায় না; ভিন্ন scope-এ নিয়মসাপেক্ষে একই নাম থাকতে পারে।
ধাপ১: শুরু। ধাপ২: y=1990 নাও। ধাপ৩: (y%400==0)||((y%4==0)&&(y%100!=0)) সত্য হলে “Leap Year”, নইলে “Not Leap Year” ছাপাও। ধাপ৪: শেষ।
1990 চারদ্বারা বিভাজ্য নয়; তাই জন্মসাল অধিবর্ষ নয়।
#include <stdio.h>
int main(void) {
int age = 34;
if (age >= 18 && age <= 32)
puts("Sourob is eligible.");
else
puts("Sourob is not eligible.");
return 0;
}
উদ্দীপকের দেওয়া 18–32 বছরের নিয়ম অনুসারে 34 বছর বয়সী সৌরভ যোগ্য নয়। এটি উৎস-প্রশ্নের শর্ত; বর্তমান চাকরির আইন যাচাইয়ের দাবি নয়।
৮. উদ্দীপক
\0 থাকে।
সি $(\text{C})$ প্রোগ্রামিংয়ে $(\text{Variable++})$ এবং $(\text{++variable})$ হলো যথাক্রমে পোস্ট-ইনক্রিমেন্ট $(\text{Post-increment})$ এবং প্রি-ইনক্রিমেন্ট $(\text{Pre-increment})$ অপারেটর। এদের কাজের ধরনে পার্থক্য রয়েছে:
$(\text{Variable++})$ বা পোস্ট-ইনক্রিমেন্ট: এর ক্ষেত্রে প্রোগ্রামে প্রথমে ভেরিয়েবলের বর্তমান বা পুরোনো মানটি এক্সপ্রেশনে ব্যবহৃত হয়, এরপর ভেরিয়েবলের মান $1$ বৃদ্ধি পায়।
$(\text{++variable})$ বা প্রি-ইনক্রিমেন্ট: এর ক্ষেত্রে প্রথমে ভেরিয়েবলের মান $1$ বৃদ্ধি পায়, এরপর সেই বর্ধিত নতুন মানটি প্রোগ্রামের এক্সপ্রেশনে ব্যবহৃত হয়।
উদ্দীপকের ধারাটির যোগফল নির্ণয়ের ফ্লোচার্ট নিচে দেওয়া হলো-
প্রবাহচিত্রের সব ধাপ ও শাখা (একই ক্রম ও প্রত্যাবর্তনসহ):
- Start → Input n।
- S=0 এবং a=2।
- a>n হলে Print S → End।
- না হলে S=S+a*a; তারপর a=a+3।
- পুনরায় ধাপ ৩-এর a>n পরীক্ষায় ফেরত যাও।
সাধারণত লুপ $(\text{Loop})$ তৈরির জন্য $(\text{for})$, $(\text{while})$ বা $(\text{do-while})$ ব্যবহার করা হয়। তবে প্রশ্নে শুধুমাত্র $(\text{if})$ স্টেটমেন্ট ব্যবহার করতে বলা হয়েছে। তাই $(\text{if})$ শর্তের সাথে $(\text{goto})$ স্টেটমেন্ট ব্যবহার করে ধারাটির প্রথম $40$টি পদের যোগফল নির্ণয়ের সি $(\text{C})$ প্রোগ্রাম নিচে লেখা হলো:
#include <stdio.h>
int main() {
int a = 2, i = 1, sum = 0;
// label for goto statement
loop:
if (i <= 40) {
sum = sum + (a * a);
a = a + 3;
i++;
goto loop;
}
printf("Sum of the first 40 terms is: %d\n", sum);
return 0;
}