প্রোগ্রামিংয়ের মৌলিক ধারণা/টেক্সট ফাইল থেকে অ্যারে লোড করা
সংক্ষিপ্ত বিবরণ
[সম্পাদনা]একটি টেক্সট ফাইল থেকে একটি অ্যারে লোড করার জন্য বেশ কয়েকটি ধাপ প্রয়োজন, যার মধ্যে রয়েছে: ফাইল খোলা, রেকর্ড পড়া, রেকর্ডগুলিকে ফিল্ডে পার্স করা (বিভক্ত করা), একটি অ্যারেতে ফিল্ড যোগ করা এবং ফাইলটি বন্ধ করা। ফাইলটি একবারে পড়া যেতে পারে এবং তারপর লাইনে পার্স বা প্রক্রিয়া করা যেতে পারে। অ্যারেটি ফাইলের রেকর্ডের সংখ্যার সমান বড় হতে হবে অথবা গতিশীলভাবে তৈরি করতে হবে।
আলোচনা
[সম্পাদনা]একটি ফাইল থেকে একটি অ্যারে লোড করা একটি আকর্ষণীয় দ্বিধা উপস্থাপন করে। সমস্যাটি অ্যারেতে আপনার কতগুলি উপাদানের পরিকল্পনা করা উচিত তা নিয়ে ঘোরে। ধরা যাক 100, কিন্তু যদি ফাইলটিতে 100 এর কম বা বেশি মান থাকে তবে কী হবে। প্রোগ্রামটি কীভাবে এটি সঠিকভাবে পরিচালনা করতে পারে?
সংক্ষিপ্ত বিবরণ
[সম্পাদনা]একটি টেক্সট ফাইল থেকে একটি অ্যারে লোড করার জন্য বেশ কয়েকটি ধাপ প্রয়োজন, যার মধ্যে রয়েছে: ফাইল খোলা, রেকর্ড পড়া, রেকর্ডগুলিকে ফিল্ডে পার্স করা (বিভক্ত করা), একটি অ্যারেতে ফিল্ড যোগ করা এবং ফাইলটি বন্ধ করা। ফাইলটি একবারে পড়া যেতে পারে এবং তারপর লাইনে পার্স করা বা প্রক্রিয়া করা যেতে পারে। অ্যারেটি ফাইলের রেকর্ডের সংখ্যার সমান বড় হতে হবে অথবা গতিশীলভাবে তৈরি করতে হবে।
হয়:
- ফাইলটি পড়ুন এবং রেকর্ডের সংখ্যা গণনা করুন।
- সেই আকারের একটি স্ট্যাটিক অ্যারে তৈরি করুন।
- ফাইলটি আবার পড়ুন এবং অ্যারেতে প্রতিটি রেকর্ড যুক্ত করুন।
অথবা:
- ফাইলটি পড়ুন এবং অ্যারেতে গতিশীলভাবে রেকর্ড যুক্ত করুন।
রেকর্ড প্রক্রিয়াকরণ
[সম্পাদনা]ফাইল প্রক্রিয়াকরণের জন্য দুটি বিকল্প রয়েছে:
- মেমোরিতে সম্পূর্ণ ফাইলটি পড়ুন, রেকর্ডগুলি বিভক্ত করুন এবং তারপরে প্রতিটি রেকর্ড প্রক্রিয়া করুন।
- লাইনে ফাইলটি পড়ুন এবং একবারে একটি রেকর্ড প্রক্রিয়া করুন।
এই পদ্ধতিগুলির মধ্যে কোনটি ভালো তা নির্ভর করবে ফাইলের আকার এবং আপনার প্রোগ্রামিং ভাষা দ্বারা সমর্থিত ফাইল এবং স্ট্রিং প্রক্রিয়াকরণের ধরণের উপর। ছোট ফাইলগুলির জন্য একবারে সম্পূর্ণ ফাইল পড়া দ্রুত হতে পারে। খুব বড় ফাইলগুলিকে লাইন বাই লাইন প্রক্রিয়া করতে হবে।
প্রক্রিয়াকরণ ক্ষেত্র
[সম্পাদনা]প্রক্রিয়াকরণ ক্ষেত্রগুলির জন্য প্রদত্ত ফাইল ফর্ম্যাটের উপর ভিত্তি করে রেকর্ড বিভক্ত করা প্রয়োজন। উদাহরণস্বরূপ, একটি কমা-বিভাজিত-মান ফাইল এইভাবে ফর্ম্যাট করা যেতে পারে: Celsius, Fahrenheit
0.0,32.0 1.0,33.8 2.0,35.6
প্রথম লাইনে কমা দ্বারা পৃথক করা ক্ষেত্রের নাম রয়েছে। নিম্নলিখিত লাইনগুলিতে প্রতিটি ক্ষেত্রের জন্য একটি মান রয়েছে এবং কমা দ্বারা পৃথক করা হয়েছে। মনে রাখবেন যে সমস্ত টেক্সট ফাইল ইনপুট স্ট্রিং। প্রতিটি লাইন ফিল্ড বিভাজক (কমা) এ বিভক্ত করতে হবে এবং তারপর সংখ্যাসূচক ক্ষেত্রগুলিকে প্রক্রিয়াকরণের জন্য একটি পূর্ণসংখ্যা বা ভাসমান-পয়েন্ট মানগুলিতে রূপান্তর করতে হবে।
সিউডোকোড
[সম্পাদনা]স্ট্যাটিক অ্যারে প্রসেসিং
[সম্পাদনা]Declare empty array
Open file
Read Header
While Not End-Of-File
Read line
Split line into field(s)
Convert numeric values to numeric data types
Add field(s) to array or parallel arrays
Close file
মূল শব্দ
[সম্পাদনা]- গতিশীল মেমরি
- স্থানীয় স্কোপের সাথে যুক্ত স্ট্যাক তৈরি মেমরি।
- বিশ্লেষণ
- বিভক্তকরণ
- স্ট্যাটিক মেমোরি
- গ্লোবাল স্কোপের সাথে সম্পর্কিত ডেটা এরিয়া মেমোরি।