Sunday, 11 January 2015

ডাটা ইনপুট এবং আউটপুট

আমরা নিশ্চই এখন কিভাবে কোড লিখতে হয় রান করতে হয় এবং এর কিছু ফাঙ্কশন বুঝে গিয়েছি । অনেকের কাছে মনে হতে পারে যে আমরা এই যে কোড লিখতেছি , Hello world, hi, তারপর কিছু ম্যাথ এর সমাধান , এগুলা দিয়ে কি সফটওয়্যার বানানো যাবে? অনেক বোড়িং লাগতে পারে । তাদের বলি যে, প্রথমেই আমরা Apple বানান পড়তে পারিনি এর জন্য আমাদের শিখতে হয়েছে A,B,C,D .. তেমন সি প্রোগ্রামিং ও একই । সি হল বেসিক সরূপ এর ভিত্তি যদি কেউ ঠিকভাবে না গড়তে পারে তাহলে পরবর্তি ধাপে অনেক ভুগতে হবে ।

এখন আমরা শিখব ম্যাথ দিয়ে কিছু সমাধান এবং ডাটা ইনপুট এবং আউটপুট । প্রথমেই একটা কোড লিখে ফেলি, 

#include <stdio.h>

int main()
{

     int a;
     int b;
     int sum;

    a = 4;
    b = 3;

    sum = a+b;

    printf("Sum : " sum);

    return 0;
}

আউটপুটঃ

7

উপরের কোডের int a; int b; এই লাইন দিয়ে ৩ টা ইন্টেজার ভেরিয়েবল নিলাম অর্থাৎ int দ্বারা বুঝালাম ইন্টেজার এবং a এবং b দ্বারা বুঝালাম a এবং b ভেরিয়েবলের ভ্যালু ইন্টেজার সংখ্যা হবে  । এর পরে int sum অর্থাৎ sum টা নিয়েছি এর আউটপুটের জন্য একটা সাহায্যকারী ভেরিয়েবল রুপে এবং এর ভেলুও হবে ইন্টেজার সংখ্যা । এর পর a = 4; এবং b = 3; এখানে a এবং b এর একটা মান বসালাম । আর তারপরের লাইন sum দিয়ে a এবং b যোগ করে দিলাম এবং sum এর ভিতরে ভ্যালু স্টোর করে রাখলাম । এখন তো যোগ করা হল কিন্তু এই যোগফলকে লাইনে প্রিন্ট করতে printf ফাঙ্কশনের দরকার তাই printf("Sum : " sum); দিয়ে লাইন প্রিন্ট করলাম । এখন প্রশ্ন জাগতে পারে এই লাইনের শেষে আমরা আবার sum লিখলাম কেন ? যদি শুধু Sum: লিখলে ইনভার্টেড কমা দিয়ে শেষ করে দেই তাহলে  শুধু Sum লিখা আসবে । তাই sum এর ভিতরে যে ভ্যালু স্টোর করে রেখেছি তা দেখানোর জন্য ইনভার্টেট কমা এর বাইরে এভাবে লিখলাম । এখন আবার প্রশ্ন জাগতে পারে যে, ইনভার্টেট কমা এর ভিতরে যদি লিখি তাহলে কি হবে ? হুম করে দেখ তাহলে নিজেই দেখ কি হবে এবং এই ভুল করা থেকে অনেক কিছু শিখতে পারবে । ইনভার্টেট কমা এর মধ্যে যা ইচ্ছা তাই লিখা যাবে কিন্ত ভ্যালু দেখানোর জন্য লিখতে হবে সেই সেই ভ্যালু এর স্টোর আইটেমটা । আরেকটা কথা অবশ্যই মনে রাখতে হবে যে, int a, int b, int sum অর্থাৎ ভেরিয়েবলটা ছোটো হাতের কিংবা বড় হাতের লিখিনা কেন তা অবশ্যই পরবর্তিতে লিখার সময় ওই হাতের অক্ষরই লিখতে হবে । যেমন আমি sum পুরোটা লিখেছি ছোট হাতের অক্ষরে এবং পরে sum লিখার সময় অর্থাৎ sum = a+b লিখার সময় sum ছোট হাতের অক্ষরে লিখেছি । এবং a এবং b ভেরিয়েবল নেওয়ার সময় ছোট হাতের অক্ষরে লিখেছি বলে পরেও ছোট হাতের অক্ষরে লিখেছি এবং যদি ভেরিয়েবল নেওয়ার সময় বড় হাতের অক্ষরে নিতাম তাহলে পরেও লিখার সময় বড় হাতের লিখতে হবে না হলে কোড রান করবে না । 

উপরের কোডটা আমি বুঝানোর জন্য বড় করে লিখেছি এই কোডটাকে সাধারনত প্রোগ্রামাররা ছোট করে লিখে তা না হলে সময় নষ্ট হবে । কোডটাকে ছোট করার জন্য কিছু বিকল্প পদ্ধতি নিচে দিয়ে দিচ্ছি, কোড করলে আপনি নিজেই বুঝতে পারবেন কোড কোন দিকে ছোট হল যদি এই ওয়েবসাইটের আগের কথাগুলো ভালোভাবে বুঝে থাকেন

বিকপ্ল পদ্ধতি ০১ঃ

#include <stdio.h>

void main()
{

     int a;
     int b;
     int sum;

    a = 4;
    b = 3;

    sum = a+b;

    printf("Sum : " sum);

}

বিকপ্ল পদ্ধতি ০২ঃ

#include <stdio.h>

void main()
{

     int a, b, sum;

    a = 4;
    b = 3;

    sum = a+b;

    printf("Sum : " sum);

}

বিকপ্ল পদ্ধতি ০৩ঃ

#include <stdio.h>

void main()
{

     int a = 4, b = 5, sum;

    sum = a+b;

    printf("Sum : " sum);

}

বিকপ্ল পদ্ধতি ০৪ঃ

#include <stdio.h>

void main()
{

     int a = 4, b = 5,;

    printf("Sum : " a+b);

}

ফ্লোট এবং ডাবল

এখন উপরে কোডকে দশমিকে প্রকাশ করতে চাই তাই এর জন্য আমাদের ফ্লোট ভেরিয়েবল নিতে হবে । নিচের উদাহরন থেকে বিষয়টা বুঝা যাবে ।

#include <stdio.h>

void main()
{

     float a = 15.6, b = 9.7, devide;

    devide = a/b;

    printf("Devide : " devide);

}

রান করে দেখ এর আউটপুট হবে দশমিক সংখ্যা । এবং আউটপুট হবে ১.৬০৮২৪৭ । কিন্তু আমরা টাকার হিসাব করতে তো এত বড় সংখ্যার দরকার নেই তাই এই এত বড় সংখ্যাকে ছোট করার জন্য নিচের পদ্ধতি অবলম্বন করতে হবে 

#include <stdio.h>

void main()
{

    float a = 15.6, b = 9.7, devide;

    devide = a/b;

    printf("Devide : %.2f ", devide);

}

তাহলে আউটপুট সংক্ষিপ্ত হয়ে যাবে । অর্থাৎ printf এর ভিতরে এবং ইনভার্টেট কমা এর ভিতরে %.2f লিখতে হবে ।

এখন দেখব ইন্টেজার সংখ্যা নিয়ে ফ্লোট সংখ্যায় ভাগ । 

#include <stdio.h>

void main()
{

    int a = 15, b = 9;
    float devide;
    float devide = a/b;

    printf("Devide : %.2f ", devide);

}

কোনো ফ্লোট সংখ্যাকে ইন্টেজার সংখ্যায় প্রিন্ট করার নিয়ম

#include <stdio.h>

void main()
{

    float a = 15.6, b = 9.7;
    int devide;
    devide = a/b;

    printf("Devide : ", devide);

}


0 comments:

Post a Comment