ছোটদের প্রোগ্রামিং শেখা এখন আগের চেয়েও সহজ। কারণ দ্বিমিক প্রকাশনী থেকে বের হয়েছে তামিম শাহরিয়ার সুবিন-এর "পাইথন দিয়ে প্রোগ্রামিং শেখা"! বিস্তারিত জানতে এখানে ক্লিক করুন

কোড কাতা - ০১

এখানে ১০টি প্রোগ্রাম দেওয়া আছে। প্রোগ্রামগুলো তোমাদেরকে দেখে দেখে টাইপ করতে হবে। তারপরে কম্পাইল ও রান করবে। তারপরে চিন্তা করে দেখবে যে প্রোগ্রাম ঠিকঠাক বুঝেছ কী না। না বুঝলে কমেন্টে প্রশ্ন করতে পারো, কেউ না কেউ উত্তর দিবে। ফাংশন, লুপ, স্ট্রিং - এসব জিনিস প্রোগ্রামগুলোতে দেখানো হয়েছে।

প্রোগ্রামগুলো কিন্তু বেশ কাছাকাছি। তবে তুমি যদি নিজের কোড নিজেই কপি কর, তাহলে লাভ হবে না। এই কোড কাতা প্র্যাকটিসের জন্য প্রতিটি প্রোগ্রাম (যতই কাছাকাছি হোক না কেন) একেবারে প্রথম লাইন থেকে টাইপ করতে হবে। আগের প্রোগ্রামের কোনোকিছু কপি করা চলবে না। এভাবে প্র্যাকটিস করলে তোমার জড়তা কাটবে।

প্রথম প্রোগ্রামে আমরা দেখবো যে আমাদের কম্পাইলার ঠিকঠাক আছে কী না। নিচের প্রোগ্রামটি কম্পাইল ও রান করো।

 #include <stdio.h>  
   
 int main()  
 {  
      // output: Bangladesh  
      printf("Bangladesh");  
      // output: Bangladesh (followed by newline)  
      printf("Bangladesh\n");  
      // output: Bangladesh, newline, Bangladesh, newline  
      printf("Bangladesh\nBangladesh\n");  
      // output: Bangladesh tab character Bangladesh, why only two Bangladesh?  
      printf("Bangladesh\rBangladesh\tBangladesh\n");  
   
      return 0;  
 }  


দ্বিতীয় প্রোগ্রাম:

 #include <stdio.h>  
   
 int main()  
 {  
      int number1 = 10, number2 = 5;  
   
      // addition  
      printf("%d + %d = %d\n", number1, number2, number1 + number2);  
      // subtraction  
      printf("%d - %d = %d\n", number1, number2, number1 - number2);  
      // multiplication  
      printf("%d x %d = %d\n", number1, number2, number1 * number2);  
      // division  
      printf("%d / %d = %d\n", number1, number2, number1 / number2);  
   
      return 0;  
 }  
   

এখন তৃতীয় প্রোগ্রামটি করবো। আস্তে আস্তে আমাদের প্রোগ্রামগুলো একটু জটিল ও বড় হবে। চিন্তার কিছু নেই। আর আগের প্রোগ্রামের কোড কপি করবে না কিন্তু।

 #include <stdio.h>  
   
 int main()  
 {  
      int number1, number2;  
        
      scanf("%d %d", &number1, &number2);  
   
      // addition  
      printf("%d + %d = %d\n", number1, number2, number1 + number2);  
      // subtraction  
      printf("%d - %d = %d\n", number1, number2, number1 - number2);  
      // multiplication  
      printf("%d x %d = %d\n", number1, number2, number1 * number2);  
      // division  
      printf("%d / %d = %d\n", number1, number2, number1 / number2);  
   
      return 0;  
 }  
   

চতুর্থ প্রোগ্রাম:

 #include <stdio.h>  
   
 // this kata is to practice writing user defined function  
   
 void math_operations(int n1, int n2)  
 {  
      // addition  
      printf("%d + %d = %d\n", n1, n2, n1 + n2);  
      // subtraction  
      printf("%d - %d = %d\n", n1, n2, n1 - n2);  
      // multiplication  
      printf("%d x %d = %d\n", n1, n2, n1 * n2);  
      // division  
      printf("%d / %d = %d\n", n1, n2, n1 / n2);  
 }  
   
   
 int main()  
 {  
      int number1, number2;  
        
      scanf("%d %d", &number1, &number2);  
   
      math_operations(number1, number2);  
   
      return 0;  
 }  
   

এবারে পাঁচ নম্বর প্রোগ্রাম। প্রতিবারই তোমরা আগের প্রোগ্রামের সাথে পার্থক্য বুঝতে পারবে যদি কোড ঠিকমতো দেখো, আর প্রোগ্রাম রান করে দেখো।

 #include <stdio.h>  
   
 // this kata is to practice writing user defined function  
   
 void math_operations(int n1, int n2);  
   
 void math_operations(int n1, int n2)  
 {  
      // addition  
      printf("%d + %d = %d\n", n1, n2, n1 + n2);  
      // subtraction  
      printf("%d - %d = %d\n", n1, n2, n1 - n2);  
      // multiplication  
      printf("%d x %d = %d\n", n1, n2, n1 * n2);  
      // division  
      if (n2 == 0) {  
           printf("Can not divide by zero\n");  
           return;  
      }  
      printf("%d / %d = %d\n", n1, n2, n1 / n2);  
 }  
   
   
 int main()  
 {  
      int number1, number2;  
        
      while(1) {  
           scanf("%d %d", &number1, &number2);  
           if (number1 == 0 && number2 == 0) {  
                break;  
           }  
           math_operations(number1, number2);  
      }  
   
      return 0;  
 }  
   

ষষ্ঠ প্রোগ্রাম :

 #include <stdio.h>  
   
   
 void add(int n1, int n2)   
 {  
      printf("%d + %d = %d\n", n1, n2, n1 + n2);  
 }  
   
 void sub(int n1, int n2)  
 {  
      printf("%d - %d = %d\n", n1, n2, n1 - n2);  
 }  
     
 void mul(int n1, int n2)  
 {  
      printf("%d x %d = %d\n", n1, n2, n1 * n2);  
 }  
   
 void div(int n1, int n2)  
 {  
      if (n2 == 0) {  
           printf("Can not divide by zero\n");  
           return;  
      }  
      printf("%d / %d = %d\n", n1, n2, n1 / n2);  
 }   
   
 int main()  
 {  
      int n, number1, number2;  
   
      while(1) {  
           printf("Enter two numbers (or two 0s to exit): ");  
           scanf("%d %d", &number1, &number2);  
           if (number1 == 0 && number2 == 0) {  
                printf("Program Terminated.\n");  
                break;  
           }  
           printf("Enter \n1 for addition\n2 for subtraction\n3 for multiplication\n4 for division\n");  
           scanf("%d", &n);  
           if (n == 1) {  
                add(number1, number2);  
           }   
           else if (n == 2) {  
                sub(number1, number2);  
           }  
           else if (n == 3) {  
                mul(number1, number2);  
           }  
           else if (n == 4) {  
                div(number1, number2);  
           }  
           else {  
                printf("Unknown operation\n");  
           }  
      }  
   
      return 0;  
 }  
   

এখন সাত নম্বর প্রোগ্রাম করবো। আমি এখানে কোনো প্রোগ্রামের বর্ণনা লিখছি না, নিজেরা বুঝে নেবে। আর শেষে একটা ভিডিওর লিঙ্ক দিয়ে দিবো।

 #include <stdio.h>  
   
   
 int add(int n1, int n2)   
 {  
      return n1 + n2;  
 }  
   
 int sub(int n1, int n2)  
 {  
      return n1 - n2;  
 }  
   
 int mul(int n1, int n2)  
 {  
      return n1 * n2;  
 }  
   
 int div(int n1, int n2)  
 {  
      return n1 / n2;  
 }   
   
 int main()  
 {  
      int n, number1, number2, result;  
   
      while(1) {  
           printf("Enter two numbers (or two 0s to exit): ");  
           scanf("%d %d", &number1, &number2);  
           if (number1 == 0 && number2 == 0) {  
                printf("Program Terminated.\n");  
                break;  
           }  
           printf("Enter \n\t1 for addition\n\t2 for subtraction\n\t3 for multiplication\n\t4 for division\n: ");  
           scanf("%d", &n);  
           if (n == 1) {  
                result = add(number1, number2);  
           }   
           else if (n == 2) {  
                result = sub(number1, number2);  
           }  
           else if (n == 3) {  
                result = mul(number1, number2);  
           }  
           else if (n == 4) {  
                if (number2 == 0) {  
                     printf("Can not divide by zero\n");  
                     continue;  
                }  
                result = div(number1, number2);  
           }  
           else {  
                printf("Unknown operation\n");  
                continue;  
           }  
           printf("Result : %d\n", result);  
      }  
   
      return 0;  
 }  
   

অষ্টম প্রোগ্রাম :

 #include <stdio.h>  
 #include <string.h>  
   
   
 int add(int n1, int n2)   
 {  
      return n1 + n2;  
 }  
   
 int sub(int n1, int n2)  
 {  
      return n1 - n2;  
 }  
    
 int mul(int n1, int n2)  
 {  
      return n1 * n2;  
 }  
   
 int div(int n1, int n2)  
 {  
      return n1 / n2;  
 }   
   
 int main()  
 {  
      int number1, number2, result;  
      char operation[10];  
   
      while(1) {  
           printf("Enter two numbers (or two 0s to exit): ");  
           scanf("%d %d", &number1, &number2);  
           if (number1 == 0 && number2 == 0) {  
                printf("Program Terminated.\n");  
                break;  
           }  
           printf("Enter any of the following command\n");  
           printf("\tadd for addition\n\tsub for subtraction\n\tmul for multiplication\n\tdiv for division\n: ");  
           scanf("%s", operation);  
           if (!strcmp(operation, "add")) {  
                result = add(number1, number2);  
           }   
           else if (!strcmp(operation, "sub")) {  
                result = sub(number1, number2);  
           }  
           else if (!strcmp(operation, "mul")) {  
                result = mul(number1, number2);  
           }  
           else if (!strcmp(operation, "div")) {  
                if (number2 == 0) {  
                     printf("Can not divide by zero\n");  
                     continue;  
                }  
                result = div(number1, number2);  
           }  
           else {  
                printf("Unknown command\n");  
                continue;  
           }  
           printf("Result : %d\n", result);  
      }  
   
      return 0;  
 }  
   

নবম প্রোগ্রাম :

 #include <stdio.h>  
 #include <string.h>  
   
   
 float add(float n1, float n2)   
 {  
      return n1 + n2;  
 }  
   
 float sub(float n1, float n2)  
 {  
      return n1 - n2;  
 }  
   
 float mul(float n1, float n2)  
 {  
      return n1 * n2;  
 }  
   
 float div(float n1, float n2)  
 {  
      return n1 / n2;  
 }   
   
 int main()  
 {  
      float number1, number2, result;  
      char operation[10];  
   
      while(1) {  
           printf("Enter two numbers (or two 0s to exit): ");  
           scanf("%f %f", &number1, &number2);  
           if (number1 == 0.0 && number2 == 0.0) {  
                printf("Program Terminated.\n");  
                break;  
           }  
           printf("Enter any of the following command\n");  
           printf("\tadd for addition\n\tsub for subtraction\n\tmul for multiplication\n\tdiv for division\n: ");  
           scanf("%s", operation);  
           if (!strcmp(operation, "add")) {  
                result = add(number1, number2);  
           }   
           else if (!strcmp(operation, "sub")) {  
                result = sub(number1, number2);  
           }  
           else if (!strcmp(operation, "mul")) {  
                result = mul(number1, number2);  
           }  
           else if (!strcmp(operation, "div")) {  
                if (number2 == 0.0) {  
                     printf("Can not divide by zero\n");  
                     continue;  
                }  
                result = div(number1, number2);  
           }  
           else {  
                printf("Unknown command\n");  
                continue;  
           }  
           printf("Result : %0.2f\n", result);  
      }  
   
      return 0;  
 }  
   

দশম ও শেষ প্রোগ্রাম :

 #include <stdio.h>  
 #include <string.h>  
   
   
 float add(float n1, float n2)   
 {  
      return n1 + n2;  
 }  
   
 float sub(float n1, float n2)  
 {  
      return n1 - n2;  
 }   
   
 float mul(float n1, float n2)  
 {  
      return n1 * n2;  
 }  
   
 float div(float n1, float n2)  
 {  
      return n1 / n2;  
 }   
   
 int main()  
 {  
      float number1, number2, result;  
      char input[20];  
      char operation[10];  
   
      while(1) {  
           printf("Enter two numbers (or type exit): ");  
           scanf(" %[^\n]", input);  
           if (!strcmp(input, "exit")) {  
                printf("Program Terminated.\n");  
                break;  
           }  
           sscanf(input, "%f %f", &number1, &number2);  
             
           printf("Enter any of the following command\n");  
           printf("\tadd for addition\n\tsub for subtraction\n\tmul for multiplication\n\tdiv for division\n: ");  
           scanf("%s", operation);  
           if (!strcmp(operation, "add")) {  
                result = add(number1, number2);  
           }   
           else if (!strcmp(operation, "sub")) {  
                result = sub(number1, number2);  
           }  
           else if (!strcmp(operation, "mul")) {  
                result = mul(number1, number2);  
           }  
           else if (!strcmp(operation, "div")) {  
                if (number2 == 0.0) {  
                     printf("Can not divide by zero\n");  
                     continue;  
                }  
                result = div(number1, number2);  
           }  
           else {  
                printf("Unknown command\n");  
                continue;  
           }  
           printf("Result : %0.2f\n", result);  
      }  
   
      return 0;  
 }  
   

এখন তোমার কাজ হবে একটু বিশ্রাম নেওয়া। তারপরে ওপরের দশটা প্রোগ্রাম আবার করো। আউটপুট দেখে কোড নিজে করার চেষ্টা করো। নিজে করতে না পারলে কোড দেখে দেখে করবে, তবে মুখস্ত করার চেষ্টা করবে না। ব্যাপারটা অনেকটা মার্শাল আর্ট প্র্যাকটিসের মতো আর কী।

কোড কাতার ভিডিও :



ফেসবুক গ্রুপের লিঙ্কঃ https://www.facebook.com/groups/programming.school/

প্রোগ্রামিং প্রশ্নোত্তরের ওয়েবসাইটঃ http://programabad.com

২টি মন্তব্য:

  1. চট্টগ্রামে কিভাবে আমি প্রোগ্রামিং শিখতে পারি??

    উত্তরমুছুন
  2. kata 5 এ if এর ভেতর return এর কাজটা বুঝলাম না। আমি return ছাড়া প্রোগ্রাম রান করতে চাইলে একটা window আসে লেখা kata005.exe stopped working :/

    উত্তরমুছুন

এখানে বিষয়সংশ্লিষ্ট মন্তব্য কিংবা প্রশ্ন করা যাবে। বাংলায় মন্তব্য করার সময় বাংলা হরফে লিখতে হবে। আর রোমান হরফে লিখলে ইংরেজিতে লিখতে হবে। নতুবা মন্তব্য প্রকাশ করা হবে না। ধন্যবাদ।