Posts

সি প্রোগ্রামিং দিয়ে Date Guesser

Image
প্রথমে নিজেকে একটি দিন এর কথা ভেবে রাখতে হবে। এরপর এই প্রোগ্রাম আপনাকে কয়েকটি ধাপ সম্পন্ন করতে বলবে।এরপর আপনার চিন্তা করা দিন বলে দিবে। প্রোগ্রামটি হলঃ #include <stdio.h> int play2(result) { char ch; printf(“\n\n2 3 6 7n10 11 14 15n18 19 22 23n26 27 30 31\n”); printf(“\nIs Your Birthdate in This List?(y/n)\n”); scanf(” %c”,&ch); if(ch==’y’) { result=result+2; play3(result); } else play3(result); } int play3(int result) { char ch; printf(“\n\n4 5 6 7n12 13 14 15n20 21 22 23n28 29 30 31\n”); printf(“\nIs Your Birthdate in This List?(y/n)\n”); scanf(” %c”,&ch); if(ch==’y’) { result=result+4; play4(result); } else play4(result); } int play4(int result) { char ch; printf(“8 9 10 11n12 13 14 15n24 25 26 27n28 29 30 31\n”); printf(“\nIs Your Birthdate in This List?(y/n)\n”); scanf(” %c”,&ch); if(ch==’y’) { result=result+8; play5(result); } else play5(result); } int play5(int result) { char ch; printf(“16 17 18 19n20 21 22 2...

PHP কি?

Image
PHP হচ্ছে একটি সার্ভার সাইড স্ক্রিপ্টিং ভাষা, যা তৈরী করেন রাসমাস লারডোর্ফ ১৯৯৪ সালে। এটি প্রাথমিক ভাবে মূলত তৈরী করা হয় ওয়েব ডেভেলপমেন্টের কাজের জন্য। বর্তমানে এটিকে জেনারেল পারপাস প্রোগ্রামিং ল্যাঙ্গুয়েজ ও বলা হয়। অর্থাৎ, অন্যান্য প্রোগ্রামিং ভাষা দিয়ে যা যা করা যায়, PHP দিয়েও মোটামুটি তার সবই করা যায়। তবে মূলত, ওয়েব ডেভেলপমেন্টের কাজেই এটি সর্বাধিক ব্যবহৃত হয়। PHP খুবই জনপ্রিয় একটি ভাষা, w3techs এর তথ্য অনুযায়ী পৃথিবীতে যত ওয়েব সাইট আছে তার শতকরা ৮২ ভাগই সার্ভার সাইড স্ক্রিপ্টিংয়ে PHP ব্যবহার করে। PHP শিখতে হলে প্রোগ্রামিংয়ের জগতে একেবারেই নতুন হলে PHP দিয়ে প্রোগ্রামিং শুরু করাটা একটু কঠিন মনে হতে পারে। তবে, চেষ্টা আর আগ্রহ থাকলে সম্ভব। ইন্টারনেটে খুঁজলে PHP এর অনেক গুলো টিউটোরিয়াল পাওয়া যাবে। এখানে কিছু লিস্ট আকারে দিলাম। http://devzone.zend.com/6/php-101-php-for-the-absolute-beg…/ http://www.webmonkey.com/2010/02/php_tutorial_for_beginners/ http://www.phptherightway.com/ টাটসপ্লাস ওয়েবসাইটে এর উপরে বিস্তারিত একটি গাইডলাইন দেওয়া আছে। এটা অনুসরন করলেই ভালোভাবে PHP ...

প্রোগ্রামিং ক্যারিয়ার গড়তে ৫টি টিপস্

Image
ধরা যাক, তুমি প্রোগ্রামিং ভালোই পারো। তোমার হয়ত কম্পিউটার সায়েন্সের উপর কোনো ডিগ্রী নেই, কিন্তু তুমি প্রোগ্রামিং ক্যারিয়ার গড়তে আগ্রহী। কিংবা ডিগ্রী নিচ্ছ কিন্তু বুঝতে পারছ না যে কিভাবে তুমি তোমার সিভিতে নিজেকে এমনভাবে তুলে ধরতে পারবে যাতে কোম্পানীগুলো বুঝতে পারে যে তুমি আসলেই কাজ জানো। প্রোগ্রামিং ক্যারিয়ারে কাজ করতে পারাটাই আসল, ডিগ্রী না থাকলেও চলে। কিভাবে নিজের দক্ষতা প্রকাশ করবে? ১) প্রোগ্রামিং প্রতিযোগিতায় অংশগ্রহন : তুমি যদি বিশ্ববিদ্যালয় পড়ুয়া শিক্ষার্থী হও, তাহলে প্রোগ্রামিং প্রতিযোগিতাগুলোতে নিয়মিত অংশগ্রহন করতে পারো। এসিএম আইসিপিসি’র ঢাকা রিজিওনাল প্রতিযোগিতায় শীর্ষ দুই বা তিনটি দলের মধ্যে থাকলে তোমার গুগল বা ফেসবুকে ইন্টারভিউ দেওয়ার জোরালো সম্ভাবনা তৈরি হয়। তুমি কম্পিউটার সায়েন্সে পড় নাকি ফিজিক্সে পড়, এটি নিয়ে তাদের মাথাব্যাথা থাকবে না। আরেকটি সুবিধা হবে, দেশের শীর্ষ প্রোগ্রামারদের সাথে তোমার জানাশোনা হবে। ২) প্রোগ্রামিং ব্লগ : তুমি প্রোগ্রামিং বিষয়ক ব্লগ লেখতে পারো। প্রতিদিন প্রোগ্রামিং করতে গিয়ে তুমি যা শেখো, সেগুলো লিখে রাখতে পারো নিজের ভাষায়। কোনো সম...

আসুন জানি ডেসিমেল এবং বাইনারী সংখ্যা পদ্ধতি সম্পর্কে

আমরা যে পদ্ধতি অনুসরণ করে দৈনন্দিন হিসাব নিকাস সম্পাদন করে থাকি, কম্পিউটার তথা ডিজিটাল সিস্টেম সমূহ সেই পদ্ধতিতে করে না। আমরা নিজেরা হিসাবের জন্য ডেসিমেল তথা দশ ভিত্তিক সংখ্যা পদ্ধতি ব্যবহার করলেও কম্পিউটারের গণনার পদ্ধতি হল বাইনারী তথা দুই ভিত্তিক পদ্ধতি। কেন এই দুটি ভিন্ন পদ্ধতি? আমরা এই প্রশ্নের উত্তর খুজব আলোচনার শেষে। ডেসিমেল সংখ্যা পদ্ধতি সম্পর্কে কিছু কথা আমাদের বহুল ব্যবহৃত গণনার পদ্ধতি হচ্ছে ডেসিশেল পদ্ধতি। এই পদ্ধতিতে 0,1,2,3,4,5,6,7,8,9 অর্থাৎ মোট দশটি অংক ব্যবহার করে সকল প্রকার গণনা কার্য পরিচালিত হয়। এই পদ্ধতির ভিত্তি হচ্ছে ১০। আমরা ছোট বেলা থেকেই এই পদ্ধতি শিখে আসছি তাই এ পদ্ধতি সম্পর্কে সামান্য সার সংক্ষেপ তুলে ধরলাম মাত্র। বাইনারী সংখ্যা পদ্ধতি সম্পর্কে কিছু কথা কম্পিউটারের তথা সমগ্র ডিজিটাল সিস্টেমের গণনার ভাষা হল বাইনারী। এ পদ্ধতিতে মাত্র দুইটা অংক 0 এবং 1 ব্যবার করা হয়। প্রত্যেকটা 0 এবং 1 কে বাইনারী সিস্টেমে bit বা binary digit বলা হয়। এই দুইটা অংক ব্যবহার করেই কম্পিউটার সকল তথ্য প্রক্রিয়া করণ করে, গাণিতিক সমস্যা সমাধান করে, তথ্য সঞ্চয়...

কম্পিউটারের মেমোরি

Image
কম্পিউটারের মেমোরির কী দরকার ? প্রসেস করতে পারলেই তো হয়ে যায়। - এরকম চিন্তা তোমরা অনেকেই করো। কিন্তু কম্পিউটার যে প্রসেস করবে , কী প্রসেস করবে ? নিশ্চয়ই ডাটা। আর সেই ডাটা কোথাও তো রাখা দরকার , নইলে কম্পিউটার মহাশয় মনে রাখবে কী করে যে তাকে কোন জিনিসটি প্রসেস করতে হবে ? তোমরা তো ইতিমধ্যেই জেনে গিয়েছ যে কম্পিউটার যে হিসাব - নিকাশ করে , সেগুলো যত বড় বড় হিসেবই হোক না কেন , শেষ পর্যন্ত কম্পিউটার কেবল শূণ্য আর এক ব্যবহার করে হিসেব করে ( এই হিসেব করাটাকেই আমরা প্রসেস করা বলছি মাঝে মাঝে ) । তো এই 0 এবং 1- গুলো রাখার জন্য আমাদের জায়গা দরকার। সেই জায়গাটি দেয় কম্পিউটারের মেমোরি। এই 0 আর 1, এগুলো হচ্ছে একেকটি বিট ( ইংরেজিতে bit) । একটি বিট যে কোনো এক রকমের হবে , হয় শূণ্য (0) না হয় এক (1) । তাহলে একটি বিট দিয়ে দুটি আলাদা জিনিস প্রকাশ করা সম্ভব , যখন বিটটি হবে 0 তখন এক রকম , আবার যখন 1 তখন আরেক রকম। তাহলে পাশাপাশি দুটি বিট দিয়ে কয়টি আলাদা জিনিস রাখা যায় ? তোমরা একটু চিন্তা করো তো। চিন্তা করা শেষ হলে নিচের টেবিলটি দেখো : ১ম বিট ২য় বিট 0 0 0 1 1 0 1 1 ...

সি প্রোগ্রামিং – লেকচার ৫: if স্টেটমেন্ট

if স্টেটমেন্ট আমরা দেখেছি কম্পিউটার একটার পর একটা কাজ ধারাবাহিকভাবে করে যায়। একটার পর একটা স্টেটমেন্ট এক্সিকিউট করা আমাদের সবসময় দরকার হবে। তেমনি ভাবে আমরা কোন একটি শর্তপূরণ স্বাপেক্ষে যদি এক বা একাধিক স্টেটমেন্ট এক্সিকিউট করাতে চাই তাহরে আমরা if স্টেটমেন্ট ব্যবহার করব। if স্টেটমেন্ট আমরা এভাবে লিখি if ([Boolean expression]) { [Code Block] } উদাহরণ এবার একটা উদাহরণ দেখি। আমরা একটা ছোট প্রোগ্রাম লিখতে চাই যেখানে একটা ভেরিয়েবল score এর মধ্যে একটা সংখ্যা রাখব। এরপর এই ভেরিয়েবলের মান যদি ৩০ এর চেয়ে বেশি হয় তাহলে আমরা PASS শব্দটি লিখব। আর ৩০ এর চেয়ে যদি বেশি না হয় তাহরে কিছু করবে না। int score; score=35; if(score>30) { printf("PASS"); } এখানে [Code Block] এ আমরা একটা printf স্টেটমেন্ট লিখেছি। এই স্টেটমেন্টটি কাজ করবে যদি আমাদের এক্সপ্রেশন score>30 এর মান True হয়। এক্সপ্রেশন এর মান False হলে স্টেটমেন্টটি কাজ করবে না। কুইজ ১ বলতে হবে এই প্রোগ্রামটা রান করলে কনসোলে কোন কিছু প্রিন্ট হবে কিনা আর প্রিন্ট হরে কি প্রিন্ট হবেঃ int number; number =...

সি প্রোগ্রামিং – লেকচার ৪: ইনপুট, অ্যারে এবং বুলিয়ান এক্সপ্রেশন

ইনপুট ইউজারের থেকে ইনপুট নেয়ার জন্য আমরা scanf ফাংশনটা ব্যবহার করি। scanf ফাংশনে কমপক্ষে ২ টা প‌্যারামিটার দিতে হয়। একটা স্ট্রিং এবং একটা অন্য যে কোন ভেরিয়েবলের অ্যাড্রেস। ধরা যাক আমরা একটা প‌ূর্ণসংখ্যা ইনপুট নিতে চাই- int num; scanf("%d",&num); এখানে “%d” আমরা বোঝাচ্ছি একটা integer ইনপুট নিতে চাই। এবং পরে কমা দিয়ে আমরা num ভেরিয়েবলের অ্যাড্রেস &num লিখেছি। এখন প্রোগ্রাম রান হওয়ার সময়ে এই লাইনটায় আসলে প্রোগ্রাম একটা প‌ূর্ণসংখ্যার জন্য অপেক্ষা করবে। কিবোর্ড থেকে ধরা যাক একটা সংখ্যা 123 দিয়ে এন্টার দেয়া হল। তাহলে প্রোগ্রামটা 123 সংখ্যাটা num ভেরিয়েবলের মধ্যে রেখে দিবে। এভাবে আমরা একটা দশমিক সংখ্যাও ইনপুট নিতে পারি। সেক্ষেত্রে আমাদের %f ব্যবহার করতে হবে এবং একটা float টাইপ ভেরিয়েবল প‌্যারামিটার হিসাবে দিতে হবে। float price; scanf("%f", &price); আমরা যদি একবারে দুইটা মান নিতে চাই তাহলে এভাবে লিখতে পারি- int num; float price; scanf("%d%f", &num, &price); প্রথমে আমরা %d দিয়েছি সুতরাং প্রথমে একটা int ভেরিয়েবলের অ্যাড্রেস ...