read, write, এবং nl এর ব্যবহার

Input এবং Output Handling (ইনপুট এবং আউটপুট হ্যান্ডলিং) - প্রোলগ প্রোগ্রামিং (Prolog Programming) - Computer Programming

288

প্রোলগে read, write, এবং nl হলো স্ট্যান্ডার্ড ইনপুট এবং আউটপুট পরিচালনার জন্য ব্যবহৃত প্রধান ফাংশন। এগুলি প্রোগ্রামকে ব্যবহারকারীর কাছ থেকে ইনপুট নিতে এবং ফলাফল প্রদর্শন করতে সাহায্য করে। চলুন, এগুলোর বিস্তারিত আলোচনা করা যাক।


1. read/1

read/1 হলো প্রোলগের একটি বিল্ট-ইন প্রেডিকেট, যা ব্যবহারকারীর কাছ থেকে ইনপুট নেয় এবং সেই ইনপুটটি একটি প্রোলগের term (টার্ম) হিসেবে পড়ে।

  • ব্যবহার: read(X) ব্যবহার করলে, প্রোলগ ব্যবহারকারীর কাছ থেকে ইনপুট নেবে এবং তা X তে সংরক্ষণ করবে।

উদাহরণ:

?- read(X).

এই কোডটি প্রোলগকে ব্যবহারকারীর কাছ থেকে কোনো ইনপুট নিতে বলে এবং ইনপুটটি X তে সংরক্ষণ করবে। ব্যবহারকারী যদি ইনপুট দেয়, যেমন 5, তাহলে আউটপুট হবে:

X = 5.

আরেকটি উদাহরণ:

?- read(Term).

এখানে, Term একটি যেকোনো Prolog term হতে পারে, যেমন সংখ্যার মান, অ্যাটম, লিস্ট, অথবা একটি ফ্যাক্ট/ক্লজ।

ইনপুট:

hello.

আউটপুট:

Term = hello.

read/1 term-based input নেয়, যা অ্যাটম, নম্বর, অথবা অন্যান্য প্রোলগ term হিসেবে হতে পারে।


2. write/1

write/1 প্রোলগের একটি বিল্ট-ইন প্রেডিকেট, যা কনসোল বা আউটপুট স্ক্রীনে কোনো মান লিখতে ব্যবহৃত হয়।

  • ব্যবহার: write(X) ব্যবহৃত হলে, প্রোলগ X এর মান কনসোলে প্রিন্ট করবে।

উদাহরণ:

?- write('Hello, world!').

আউটপুট:

Hello, world!

এটি শুধু string আউটপুটের জন্য নয়, কোনো ভেরিয়েবল বা term এর মানও লিখতে পারে। যেমন:

?- write(5).

আউটপুট:

5

আরেকটি উদাহরণ:

?- X = 10, write(X).

আউটপুট:

10

এখানে X = 10 এর মান write/1 দ্বারা কনসোলে প্রিন্ট করা হয়েছে।


3. nl/0

nl/0 প্রোলগে একটি প্রেডিকেট যা একটি নতুন লাইন (new line) তৈরি করে, অর্থাৎ আউটপুটের পর একটি নতুন লাইন প্রিন্ট করে। এটি মূলত আউটপুটের ফরম্যাটিং এবং আরও পাঠযোগ্যতা তৈরিতে ব্যবহৃত হয়।

  • ব্যবহার: nl ব্যবহৃত হলে, এটি কনসোলে একটি নতুন লাইন প্রিন্ট করবে।

উদাহরণ:

?- write('Hello'), nl, write('World').

আউটপুট:

Hello
World

এখানে, nl/0 প্রথম write/1 এর আউটপুটের পরে একটি নতুন লাইন তৈরি করেছে, তারপর দ্বিতীয় write/1 দ্বারা World প্রিন্ট করা হয়েছে।

আরেকটি উদাহরণ:

?- write('This is line one'), nl, write('This is line two').

আউটপুট:

This is line one
This is line two

এখানে, nl/0 নতুন লাইন তৈরি করে আউটপুটকে সহজে পাঠযোগ্য করেছে।


একসাথে read, write, এবং nl ব্যবহার

আপনি read/1, write/1, এবং nl/0 একসাথে ব্যবহার করে ইন্টারঅ্যাকটিভ প্রোগ্রাম তৈরি করতে পারেন, যা ব্যবহারকারীর ইনপুট নিয়ে এবং তা প্রদর্শন করে।

উদাহরণ:

?- write('Enter a number: '), nl, read(X), write('You entered: '), write(X), nl.

ইনপুট:

5.

আউটপুট:

Enter a number: 
5
You entered: 5

এখানে, প্রথমে write/1 ব্যবহার করা হয়েছে ব্যবহারকারীর কাছ থেকে ইনপুট নিতে, তারপর read/1 দ্বারা ইনপুট নেওয়া হয়েছে এবং তারপর write/1nl/0 ব্যবহার করে ফলাফল দেখানো হয়েছে।


সারসংক্ষেপ:

  • read/1 ব্যবহার করে প্রোগ্রাম ইনপুট নেয় এবং সেটিকে একটি term হিসেবে পড়ে।
  • write/1 ব্যবহার করে প্রোগ্রাম আউটপুট স্ক্রীনে কোন মান লিখে।
  • nl/0 ব্যবহার করে আউটপুটে একটি নতুন লাইন তৈরি করা হয়, যা আউটপুটকে পরিষ্কার এবং পড়তে সহজ করে।

এই প্রেডিকেটগুলো একসাথে ব্যবহৃত হলে প্রোগ্রামটি আরও ইন্টারঅ্যাকটিভ এবং কার্যকরী হতে পারে।

Content added By
Promotion

Are you sure to start over?

Loading...