এখানে ১০টি প্রোগ্রাম দেওয়া আছে। প্রোগ্রামগুলো তোমাদেরকে দেখে দেখে টাইপ করতে হবে। তারপরে কম্পাইল ও রান করবে। তারপরে চিন্তা করে দেখবে যে প্রোগ্রাম ঠিকঠাক বুঝেছ কী না। না বুঝলে কমেন্টে প্রশ্ন করতে পারো, কেউ না কেউ উত্তর দিবে। ফাংশন, লুপ, স্ট্রিং - এসব জিনিস প্রোগ্রামগুলোতে দেখানো হয়েছে।
প্রোগ্রামগুলো কিন্তু বেশ কাছাকাছি। তবে তুমি যদি নিজের কোড নিজেই কপি কর, তাহলে লাভ হবে না। এই কোড কাতা প্র্যাকটিসের জন্য প্রতিটি প্রোগ্রাম (যতই কাছাকাছি হোক না কেন) একেবারে প্রথম লাইন থেকে টাইপ করতে হবে। আগের প্রোগ্রামের কোনোকিছু কপি করা চলবে না। এভাবে প্র্যাকটিস করলে তোমার জড়তা কাটবে।
প্রথম প্রোগ্রামে আমরা দেখবো যে আমাদের কম্পাইলার ঠিকঠাক আছে কী না। নিচের প্রোগ্রামটি কম্পাইল ও রান করো।
দ্বিতীয় প্রোগ্রাম:
এখন তৃতীয় প্রোগ্রামটি করবো। আস্তে আস্তে আমাদের প্রোগ্রামগুলো একটু জটিল ও বড় হবে। চিন্তার কিছু নেই। আর আগের প্রোগ্রামের কোড কপি করবে না কিন্তু।
চতুর্থ প্রোগ্রাম:
এবারে পাঁচ নম্বর প্রোগ্রাম। প্রতিবারই তোমরা আগের প্রোগ্রামের সাথে পার্থক্য বুঝতে পারবে যদি কোড ঠিকমতো দেখো, আর প্রোগ্রাম রান করে দেখো।
ষষ্ঠ প্রোগ্রাম :
এখন সাত নম্বর প্রোগ্রাম করবো। আমি এখানে কোনো প্রোগ্রামের বর্ণনা লিখছি না, নিজেরা বুঝে নেবে। আর শেষে একটা ভিডিওর লিঙ্ক দিয়ে দিবো।
অষ্টম প্রোগ্রাম :
নবম প্রোগ্রাম :
দশম ও শেষ প্রোগ্রাম :
এখন তোমার কাজ হবে একটু বিশ্রাম নেওয়া। তারপরে ওপরের দশটা প্রোগ্রাম আবার করো। আউটপুট দেখে কোড নিজে করার চেষ্টা করো। নিজে করতে না পারলে কোড দেখে দেখে করবে, তবে মুখস্ত করার চেষ্টা করবে না। ব্যাপারটা অনেকটা মার্শাল আর্ট প্র্যাকটিসের মতো আর কী।
কোড কাতার ভিডিও :
ফেসবুক গ্রুপের লিঙ্কঃ https://www.facebook.com/groups/programming.school/
প্রোগ্রামিং প্রশ্নোত্তরের ওয়েবসাইটঃ http://programabad.com
প্রোগ্রামগুলো কিন্তু বেশ কাছাকাছি। তবে তুমি যদি নিজের কোড নিজেই কপি কর, তাহলে লাভ হবে না। এই কোড কাতা প্র্যাকটিসের জন্য প্রতিটি প্রোগ্রাম (যতই কাছাকাছি হোক না কেন) একেবারে প্রথম লাইন থেকে টাইপ করতে হবে। আগের প্রোগ্রামের কোনোকিছু কপি করা চলবে না। এভাবে প্র্যাকটিস করলে তোমার জড়তা কাটবে।
প্রথম প্রোগ্রামে আমরা দেখবো যে আমাদের কম্পাইলার ঠিকঠাক আছে কী না। নিচের প্রোগ্রামটি কম্পাইল ও রান করো।
#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
চট্টগ্রামে কিভাবে আমি প্রোগ্রামিং শিখতে পারি??
উত্তরমুছুনkata 5 এ if এর ভেতর return এর কাজটা বুঝলাম না। আমি return ছাড়া প্রোগ্রাম রান করতে চাইলে একটা window আসে লেখা kata005.exe stopped working :/
উত্তরমুছুন