ইন্টিজার হলো পূর্ণসংখ্যা, যেগুলো {..., -2, -1, 0, 1, 2, ...} সেটের অন্তর্গত।
একটি ইন্টিজারের সর্বোচ্চ ও সর্বনিম্ন মান নির্ভর করে PHP যে সিস্টেমে রান করে তার উপর।
সাধারণত আধুনিক বেশিরভাগ সিস্টেমে ইন্টিজার একটি ৬৪-বিট মান, অর্থাৎ এটি -9_223_372_036_854_775_808 থেকে 9_223_372_036_854_775_807 পর্যন্ত মান রাখতে পারে, দুটি প্রান্তের মানসহ।
<?php
$a = 1234;
$a = 1_234_567;
দশ ভিত্তি ছাড়াও একটি বেস প্রিফিক্স ব্যবহার করে আপনি ইন্টিজার লিটারাল লিখতে পারেন:
<?php
$a = 0123; // octal number (equivalent to 83 decimal)
$a = 0o123; // octal number (as of PHP 8.1.0)
$a = 0x1A; // hexadecimal number (equivalent to 26 decimal)
$a = 0b11111111; // binary number (equivalent to 255 decimal)
PHP-এর ডকুমেন্টেশন থেকে নেওয়া।
PHP-তে বাস্তব সংখ্যার একটি উপসেট প্রকাশ করতে ফ্লোটিং পয়েন্ট সংখ্যা ব্যবহার করা হয়। এগুলো এক বা একাধিক অঙ্ক দিয়ে শুরু হয়, আর একটি দশমিক বিভাজক দিয়ে আলাদা করা হয়।
<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
$d = 1_234.567; // as of PHP 7.4.0
সব সংখ্যা ও গাণিতিক অপারেশন ফ্লোটিং পয়েন্ট সংখ্যা দিয়ে করা যায় না। ডলার ও সেন্ট প্রকাশ করতে ফ্লোটিং পয়েন্ট সংখ্যা ব্যবহার করলে রাউন্ডিং এরর হতে পারে।
<?php
$result = 0.1 + 0.2; // => 0.30000000000000004
গাণিতিক অপারেশন চালানোর জন্য PHP বেশ কিছু অপারেটর দেয়। নিজের গাণিতিক অপারেটরগুলোর ক্ষেত্রে PHP গণিতের প্রচলিত অপারেশন-ক্রম অনুসরণ করে। PHP যে অপারেটরগুলো দেয় সেগুলো হলো:
$moles = +'10';
$aLotOfMoles = 6.022 * 10**23 * $moles;
লিলি রান্না করতে ভালোবাসেন। তিনি বন্ধুদের নিয়ে একটি পিৎজা পার্টি করতে চান। উপকরণগুলোর সর্বোচ্চ ব্যবহার করতে হলে, শুরু করার আগে কোন উপকরণ কতটা লাগবে সেটা তার জানা দরকার।
এটি সমাধান করতে লিলি পরিকল্পনার কিছু অংশ স্বয়ংক্রিয় করার জন্য একটি প্রোগ্রামের খসড়া তৈরি করেছেন, তবে সেটি শেষ করতে আপনার সাহায্য দরকার। আপনি কি লিলিকে অনুপাতে নিখুঁত পিৎজা পার্টি করতে সাহায্য করবেন?
লিলি পাতলা ক্রাস্টযুক্ত, পাতলা ও মুচমুচে পিৎজা পছন্দ করেন। মাঝের অংশের জন্য কমপক্ষে ২০০ গ্রাম ময়দা লাগে, তবে প্রতিটি পরিবেশিত ব্যক্তির জন্য আরও ২০ গ্রাম ময়দা লাগে।
grams = pizzas * ((persons * 20) + 200)
লিলির একটি ফাংশন দরকার যা:
উদাহরণস্বরূপ, ৮ জনকে খাওয়ানো যায় এমন ৪টি পিৎজা বানাতে:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateDoughRequirement(4, 8);
// => 1440
লিলি সস লাগাতে খুব সতর্ক, তবে তার পিৎজার আকার সবসময় একই রকম থাকে না। তার অভিজ্ঞতা থেকে তিনি জানেন, প্রতিটি পিৎজায় ১২৫ মিলিলিটার সস লাগে। লিলির একটি ফাংশন দরকার, যা হিসাব করবে কত ক্যান সস কিনতে হবে।
cans of sauce = pizzas * sauce per pizza / sauce can volume
উদাহরণস্বরূপ, লিলিকে যদি ৮টি পিৎজা বানাতে হয় এবং প্রতি ক্যানে ২৫০ মিলিলিটার থাকে:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateSauceRequirement(8, 250);
// => 4
চিজ নিখুঁত ঘনক আকারে পাওয়া যায় এবং আকার অনুযায়ী বিক্রি হয়।
লিলি যে সূত্রটি ব্যবহার করেন সেটি পিৎজার ক্ষেত্রফলের সূত্র নয়, কারণ তিনি চান না যে চিজ পুরো ক্ষেত্রফল ঢেকে ফেলুক।
কোনো বাহুর দৈর্ঘ্যের (cheese_dimension) একটি চিজ ঘনক থেকে কোনো ব্যাসের (diameter) কতটি পিৎজা বানানো যাবে তা নির্ণয় করতে তিনি নিচের সূত্রটি ব্যবহার করার সিদ্ধান্ত নিলেন:
pizzas = (cheese_dimension³) / (thickness * PI * diameter)
এমন একটি ফাংশন তৈরি করুন যা:
উদাহরণস্বরূপ, ২৫x২৫x২৫ সেমি একটি চিজ ঘনক, ০.৫ সেমি পুরু চিজ স্তর এবং ৩০ সেমি ব্যাসের পিৎজা হলে:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateCheeseCubeCoverage(25, 0.5, 30);
// => 331
সবশেষে, লিলি চান তার প্রতিটি পিৎজা ৮ টুকরোয় ভাগ হোক এবং বন্ধুদের মধ্যে সমানভাবে বিতরণ হোক।
এমন একটি ফাংশন তৈরি করুন যা:
উদাহরণস্বরূপ:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateLeftOverSlices(2, 4);
// => 0
$pizza_pi->calculateLeftOverSlices(4, 3);
// => 2
Exercism-এ সাইন আপ করুন, PHP ট্র্যাকের 11টি কনসেপ্ট122টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।