প্রতি বছর প্রোগ্রামিং এর প্রতি আগ্রহ বাড়ে। এবং যদি প্রোগ্রাম লেখার ক্ষেত্রে বিশেষজ্ঞ প্রতিষ্ঠানগুলিতে তারা C ++ এর মতো একটি প্রোগ্রামিং ভাষার উপর নির্ভর করে, তবে স্কুল এবং প্রযুক্তিগত বিদ্যালয়ে শিক্ষার্থীরা "পাস্কাল" এর সাথে পরিচিত হয়। এবং ইতিমধ্যে এই ভাষার ভিত্তিতে, তারা ডেলফি সফ্টওয়্যার ব্যবহারের মাধ্যমে প্রোগ্রামিং বুঝতে শুরু করে। এটি এখনই উল্লেখ করা উচিত যে এই প্রোগ্রামিং ভাষাগুলি তাদের কল্পনার প্রকাশের জন্য একটি বিশাল স্থান সরবরাহ করে। এবং যদি প্যাসকাল ভাষার সাহায্যে আপনি প্রোগ্রামিংয়ের প্রাথমিক ধারণাগুলির সাথে পরিচিত হতে পারেন, তবে ডেলফিতে আপনি ইতিমধ্যে একটি পূর্ণাঙ্গ প্রোগ্রাম লিখতে পারেন। এবং প্রোগ্রাম লেখার ক্ষেত্রে বেশ গুরুত্বপূর্ণ স্থানটি কখনও কখনও "পাসকেল" এর অ্যারেগুলি সমাধান করে দখল করা হয়৷
অনেক সংখ্যক ভিন্ন ভিন্ন ভেরিয়েবলের উপস্থিতি
একটি প্রোগ্রামিং ল্যাঙ্গুয়েজে অনেকগুলি বিভিন্ন ভেরিয়েবল রয়েছে, যেগুলি শুধুমাত্র একটি মানের উপস্থিতি দ্বারা চিহ্নিত করা হয়। তারা একটি নির্দিষ্ট ধরনের আছে যে একটি একক মান সংরক্ষণ করতে সক্ষম হয়. স্ট্রিং ভেরিয়েবল ব্যতিক্রম। তারাএটি সেই ডেটার একটি সংগ্রহ যার জন্য অক্ষরের ধরনটি বৈশিষ্ট্যযুক্ত। কিন্তু এমনকি এই ধরনের ভেরিয়েবলগুলিকে সাধারণত একটি পৃথক মানের অবস্থান থেকে বিবেচনা করা হয়।
এটি কোনও গোপন বিষয় নয় যে একটি কম্পিউটারের সাহায্যে আপনি প্রচুর পরিমাণে ডেটা সম্পর্কিত নির্দিষ্ট কাজ সম্পাদন করার সময় উল্লেখযোগ্যভাবে হ্রাস করতে পারেন। কিন্তু কীভাবে, শুধুমাত্র সেই ভেরিয়েবলগুলি ব্যবহার করার সময় যেগুলির ধরনগুলি মানুষের কাছে পরিচিত, কাজের ফলাফলগুলি মেমরিতে সংরক্ষণ করা এবং সেই সমস্ত ডেটা প্রক্রিয়া করা কি সম্ভব যেখানে প্রচুর সংখ্যক সারি রয়েছে? কার্যকলাপের যেকোনো ক্ষেত্রে এই ধরনের কাজগুলি বেশ সাধারণ৷
অবশ্যই, আপনি সর্বদা আপনার লক্ষ্য অর্জনের জন্য যতগুলি প্রয়োজন ততগুলি পরিবর্তন করতে পারেন৷ আপনি তাদের জন্য কিছু মান সংজ্ঞায়িত করতে পারেন। কিন্তু এর থেকে প্রোগ্রামের কোড বাড়বে। প্রচুর সংখ্যক লাইন রয়েছে এমন কোডটি পড়া কঠিন। বিশেষ করে যখন ত্রুটি খুঁজে বের করা প্রয়োজন।
অনুসারে, প্রোগ্রামাররা এই প্রশ্নটি নিয়ে চিন্তা করেছিলেন। এই কারণেই এখন পর্যন্ত যে ভাষাগুলি তৈরি করা হয়েছে সেগুলিতে এমন ভেরিয়েবল রয়েছে যা নিজের মধ্যে বিপুল পরিমাণ ডেটা সংরক্ষণ করা সম্ভব করে তোলে। "পাসকেল" এর অ্যারে প্রোগ্রামিংয়ের পদ্ধতিতে অনেক পরিবর্তন হয়েছে। অতএব, এটি একটি প্রোগ্রামিং ভাষার একটি গুরুত্বপূর্ণ পরিবর্তনশীল হিসাবে বিবেচিত হয়৷
অ্যারে ব্যবহার করে কোডের আকার মারাত্মকভাবে কমাতে পারে
এই শব্দের অধীনে তথ্যের একটি ক্রমানুসারে লুকানো আছে, যা এক প্রকার দ্বারা চিহ্নিত করা হয়। উপরন্তু, এই সমস্ত ডেটা একই নাম পায়। এটাও উচিতএটা লক্ষ করা উচিত যে বাস্তব জগতের অনেক বস্তু এই সংজ্ঞার সাথে মানিয়ে নিতে পারে: অভিধান, কার্টুন এবং আরও অনেক কিছু। যাইহোক, "পাসকেল" এ একটি অ্যারে উপস্থাপন করার সবচেয়ে সহজ উপায় হল এক ধরনের টেবিলের আকারে। প্রতিটি পৃথক কোষে একটি পরিবর্তনশীল থাকে। স্থানাঙ্ক ব্যবহার করে, আপনি সাধারণ টেবিলে ভেরিয়েবলের অবস্থান নির্ধারণ করতে পারেন যা এটি দখল করবে।
এক-মাত্রিক অ্যারে মানে কি?
সরল টেবিলটি হল লিনিয়ার। এই অ্যারেতে, প্যারামিটারের অবস্থান নির্ধারণ করার জন্য, শুধুমাত্র একটি সংখ্যা নির্দিষ্ট করা যথেষ্ট। তাদের উপর ভিত্তি করে আরও জটিল অ্যারে গঠিত হয়৷
"পাসকেল"-এ এক-মাত্রিক অ্যারে বর্ণনা করতে, শুধু নিম্নলিখিত কোডটি প্রবেশ করান: টাইপ করুন অ্যারে of.
সংখ্যাগুলি হল সেই ভেরিয়েবল যেগুলির একটি অর্ডিনাল টাইপ থাকতে পারে৷ একটি পরিসীমা নির্দিষ্ট করার সময়, এটি বোঝার মূল্য যে প্রাথমিক সংখ্যাটি চূড়ান্ত সংখ্যার চেয়ে বেশি হতে পারে না। অ্যারের উপাদানগুলির ধরনটি একেবারে যেকোনও হতে পারে - হয় মানক বা ইতিমধ্যে পূর্বে বর্ণিত। পছন্দ একটি নির্দিষ্ট সমস্যা সমাধানের প্রয়োজনীয়তার উপর নির্ভর করবে।
একটি লিনিয়ার অ্যারে কীভাবে বর্ণনা করা হয়?
এটা অবিলম্বে "পাসকেল" এ এক-মাত্রিক অ্যারে বর্ণনা করা সম্ভব। এটি একটি বিশেষ বিভাগে করা আবশ্যক, যা এই বিশেষ পদ্ধতির জন্য প্রয়োজনীয়। আপনাকে নিম্নলিখিত কোড লিখতে হবে: Var: Array of.
আপনি কীভাবে প্যাসকেলে একটি অ্যারের বর্ণনা করতে পারেন তা বোঝার জন্য, আপনাকে নিম্নলিখিত কোডটি লিখতে হবে:
- বর্ণ
- S, VV: অ্যারে[5..50] রিয়ালের;
- কে: পূর্ণসংখ্যার অ্যারে [‘C’.. ‘R’];
- Z: শব্দের অ্যারে [-10..10];
- ই: অ্যারে [৩..৩০] রিয়াল।
এই উদাহরণে, ভেরিয়েবল S, VV এবং T হল সেই সংখ্যাগুলির একটি অ্যারে যা বাস্তব। ভেরিয়েবল K অক্ষরের ধরন এবং সেই উপাদানগুলিকে লুকিয়ে রাখে। যেগুলো পূর্ণসংখ্যা। Z অ্যারে নম্বর সঞ্চয় করে যার ধরন Word।
একটি অ্যারের সাথে কাজ করার সময় যে সমস্ত অ্যাকশন ব্যবহার করা যেতে পারে তার মধ্যে অ্যাসাইনমেন্টকে আলাদা করা যেতে পারে। পুরো টেবিল এটির অধীন হতে পারে। উদাহরণস্বরূপ, S:=VV. কিন্তু এটি বোঝা উচিত যে অ্যাসাইনমেন্ট অপারেশনগুলি শুধুমাত্র "পাসকেল"-এর একটি অ্যারের সাপেক্ষে হতে পারে যার একটি নির্দিষ্ট প্রকার রয়েছে৷
এখানে আর কোনো অপারেশন নেই যা একবারে পুরো অ্যারেতে সঞ্চালিত হতে পারে। যাইহোক, আপনি উপাদানগুলির সাথে একইভাবে কাজ করতে পারেন যেমন একটি নির্দিষ্ট প্রকারের অন্যান্য মৌলিক সংখ্যাগুলির সাথে। একটি পৃথক প্যারামিটার উল্লেখ করার জন্য, আপনাকে অবশ্যই অ্যারের নাম উল্লেখ করতে হবে। বর্গাকার বন্ধনী ব্যবহার করে, আপনাকে অবশ্যই সূচকটি নির্ধারণ করতে হবে যা পছন্দসই উপাদানটির বৈশিষ্ট্য। যেমন: K[12]।
অ্যারে এবং অন্যান্য ভেরিয়েবলের মধ্যে প্রধান পার্থক্য
সারণী উপাদান এবং সাধারণ ভেরিয়েবলের মধ্যে মৌলিক পার্থক্য হল যে শুধুমাত্র সূচকের মানই নয়, এমন একটি অভিব্যক্তিও বন্ধনীতে রাখা সম্ভব যা পছন্দসই মান নিয়ে যেতে পারে। পরোক্ষ সম্বোধনের একটি উদাহরণ হতে পারে: V[K]। এই ক্ষেত্রে, K পরিবর্তনশীল একটি নির্দিষ্ট মান গ্রহণ করে। এটা থেকেএটি অনুসরণ করে যে আপনি একটি অ্যারে পূরণ, প্রক্রিয়াকরণ এবং মুদ্রণের সময় একটি লুপ ব্যবহার করতে পারেন৷
সংগঠনের এই ফর্মটি স্ট্রিং ভেরিয়েবলের ক্ষেত্রে ঘটতে পারে যেগুলি তাদের বৈশিষ্ট্যে চার ধরণের অ্যারের সাথে যথেষ্ট কাছাকাছি। কিন্তু পার্থক্যও আছে। সেগুলি নিম্নরূপ:
- স্ট্রিং ভেরিয়েবল সর্বদা কীবোর্ড থেকে প্রবেশ করা যেতে পারে এবং স্ক্রিনে প্রিন্ট করা যেতে পারে।
- স্ট্রিং ভেরিয়েবলের দৈর্ঘ্য সীমিত। আপনি সর্বোচ্চ 255টি অক্ষর লিখতে পারেন। অ্যারের সমালোচনামূলক আকার হল 64 kb৷
স্ক্রীনে অ্যারে ডেটা প্রদর্শন করতে কোন পদ্ধতি ব্যবহার করা যেতে পারে?
অ্যারের বিষয়বস্তু যেভাবে প্রদর্শিত হয় সেদিকে আপনার মনোযোগ দেওয়া উচিত। বেশ কিছু আছে।
- লিখিত (A[1], A[2], A[3])। যেমন একটি উদাহরণ, যদিও আদিম, দেখাতে সক্ষম যে আপনি কীভাবে সরাসরি টেবিলের অন্তর্নিহিত প্রতিটি পৃথক উপাদান অ্যাক্সেস করতে পারেন। যাইহোক, প্যাসকেল অ্যারেতে সহজ ভেরিয়েবলের কিছু সুবিধা এখানে দৃশ্যমান নয়।
-
প্রোগ্রাম A1;
Var B: পূর্ণসংখ্যার অ্যারে [1..10];
K: পূর্ণসংখ্যা;
BeginK এর জন্য:=1 থেকে 10 করুন {এই কমান্ডটি প্যারামিটার সহ লুপ করে }
Readln(A[K]); {এ) শেষ।
অ্যারেগুলির জন্য প্রোগ্রামের একটি অনুরূপ কোড "পাসকেল" প্রদর্শন করে কিভাবে আপনি কীবোর্ড ব্যবহার করে 10টি সংখ্যা লিখতে পারেন, তাদের প্রিন্ট আউট করতে পারেন, মানগুলিকে বিপরীত ক্রমে পুনর্বিন্যাস করে। যদি একই প্রোগ্রাম থেকে পুনরায় লেখা হয়একটি অ্যারের পরিবর্তে একটি বড় সংখ্যক ভেরিয়েবল ব্যবহার করে, তারপর কোড উল্লেখযোগ্যভাবে বৃদ্ধি করা হবে। এবং এটি প্রোগ্রাম পড়ার প্রক্রিয়াটিকে ব্যাপকভাবে জটিল করে তোলে৷
অ্যারে ব্যবহারের মাধ্যমে সম্ভাবনার বৃদ্ধি
এটি উপাদান সূচকের বর্গক্ষেত্রের সমান মান দিয়ে টেবিল পূরণ করাও সম্ভব। "পাসকেল"-এ স্ট্রিংগুলির এমন একটি অ্যারে তৈরি করাও সম্ভব, যা সমস্ত সংখ্যাগুলিকে স্বয়ংক্রিয়ভাবে প্রবেশ করার অনুমতি দেবে। আপনি দেখতে পাচ্ছেন, একটি অ্যারে ব্যবহার করলে প্যাসকেল প্রোগ্রামিং ভাষার ক্ষমতা ব্যাপকভাবে বৃদ্ধি পায়।
বিভিন্ন কাজে লিনিয়ার অ্যারে প্রসেসিং খুবই সাধারণ। অতএব, তারা যে ইনস্টিটিউট এবং স্কুলে অধ্যয়ন করা হয় তাতে অদ্ভুত কিছু নেই। এছাড়াও, অ্যারেগুলি বহন করার সম্ভাবনাগুলি বেশ বিস্তৃত৷
দ্বিমাত্রিক বিন্যাসের নিচে কি লুকানো আছে?
আপনি একটি টেবিল কল্পনা করতে পারেন যেটিতে একবারে একাধিক সারি রয়েছে। প্রতিটি পৃথক সারিতে বেশ কয়েকটি কক্ষ রয়েছে। এই ধরনের পরিস্থিতিতে, কক্ষগুলির অবস্থান সঠিকভাবে নির্ধারণ করার জন্য, রৈখিক অ্যারেগুলির ক্ষেত্রে একটি সূচক নয়, তবে দুটি সংখ্যা চিহ্নিত করা প্রয়োজন যা একটি সারি এবং একটি কলামের বৈশিষ্ট্য। "পাসকেল"-এ দ্বি-মাত্রিক অ্যারেগুলি একটি অনুরূপ উপস্থাপনা দ্বারা চিহ্নিত করা হয়৷
কীভাবে এই ধরণের টেবিল বর্ণনা করবেন?
এই জাতীয় টেবিলের মান সংরক্ষণ করার জন্য প্যাসকেল ভাষায় যে ডেটা কাঠামো পাওয়া যায় তা হলএকটি দ্বিমাত্রিক বিন্যাসের নাম। দুটি পদ্ধতি ব্যবহার করে এই ধরনের অ্যারের বর্ণনা অবিলম্বে সম্ভব।
- Var B: অ্যারে [1..15] অ্যারে [1..30] পূর্ণসংখ্যার;
- Var B: পূর্ণসংখ্যার অ্যারে [1..15, 1..30]।
এই সমস্ত ক্ষেত্রে, একটি দ্বি-মাত্রিক অ্যারে বর্ণনা করা হয়েছে, যার 15টি সারি এবং 30টি কলাম রয়েছে। উপরে দেওয়া হয়েছে যে বর্ণনা একেবারে সমতুল্য. যেকোন একটি উপাদানের সাথে কাজ শুরু করতে, দুটি সূচক বরাদ্দ করা প্রয়োজন। উদাহরণস্বরূপ, A[6][5] বা A[6, 5]।
স্ক্রীনের আউটপুট এক-মাত্রিক অ্যারের ক্ষেত্রে প্রায় একই রকম হবে। আপনি শুধুমাত্র দুটি সূচক নির্দিষ্ট করতে হবে. অন্য সব ক্ষেত্রে, তেমন কোনো পার্থক্য নেই, তাই এটা নিয়ে বেশিক্ষণ কথা বলার দরকার নেই।
বাছাই করার প্রথম উপায়
কখনও কখনও ডেটা সাজানোর প্রয়োজন হয়। এই জন্য, ভাষা সংশ্লিষ্ট আদেশ আছে. দুটি অ্যালগরিদম আছে যার দ্বারা প্যাসকেলে একটি অ্যারে সাজানো যায়। সরাসরি নির্বাচন পদ্ধতির অর্থ এই যে লুপটি নেস্ট করার মাধ্যমে, একেবারে প্রতিটি টেবিল ভেরিয়েবলকে অন্যান্য মানের সাথে তুলনা করা হবে। অন্য কথায়, যদি 15টি সংখ্যার অ্যারে থাকে, তবে প্রথম নম্বর 1টিকে অন্যান্য সংখ্যার সাথে তুলনা করা হবে। এটি ঘটবে যতক্ষণ না, উদাহরণস্বরূপ, প্রথম সংখ্যার চেয়ে বড় উপাদানটি পাওয়া যায়। পরবর্তীকালে, তুলনা ঠিক এই পরিসংখ্যান সঞ্চালিত হবে. বৃহত্তম পাওয়া না হওয়া পর্যন্ত এটি পুনরাবৃত্তি করা হবে।সমস্ত প্রস্তাবিত থেকে উপাদান. এই পদ্ধতিটি সেই সমস্ত প্রোগ্রামারদের জন্য খুবই সহজ যারা সবেমাত্র ভাষায় কাজ শুরু করেছেন৷
দ্বিতীয় অ্যারে সাজানোর পদ্ধতি
দ্বিতীয় উপায় হল বুদবুদ। এই কৌশলটির সারমর্ম এই সত্যের মধ্যে রয়েছে যে প্রতিবেশী উপাদানগুলি জোড়ায় তুলনা করা হয়। উদাহরণস্বরূপ, 1 এবং 2, 2 এবং 3, 3 এবং 4, ইত্যাদি। যদি পাওয়া মানটি সাজানোর শর্তগুলির সাথে সম্পূর্ণরূপে মেনে চলে, এটি সম্পূর্ণ অ্যারের শেষে সরানো হবে, অর্থাৎ এটি একটি হিসাবে পপ আপ হবে "বুদবুদ"। এই অ্যালগরিদম মনে রাখা সবচেয়ে কঠিন। যাইহোক, আপনি এটি পিষে প্রয়োজন নেই. মূল জিনিসটি কোডের পুরো কাঠামোটি বোঝা। এবং শুধুমাত্র এই ক্ষেত্রে কেউ প্রোগ্রামিংয়ে উচ্চতা অর্জনের দাবি করতে পারে৷
উপসংহার
আমরা আশা করি আপনি বুঝতে পেরেছেন যে অ্যারে কী এবং আপনি কীভাবে একটি নির্দিষ্ট মান খুঁজে পেতে বা একটি নির্দিষ্ট লক্ষ্য অর্জন করতে পারেন। আপনি যদি একটি নির্দিষ্ট সমস্যা সমাধানের জন্য "পাসকেল" বেছে নিয়ে থাকেন, যেখানে অ্যারেগুলি একটি গুরুত্বপূর্ণ স্থান দখল করে, তাহলে আপনাকে তাদের অধ্যয়নের পুঙ্খানুপুঙ্খভাবে যোগাযোগ করতে হবে। এটি এমন একটি ফ্যাক্টর দ্বারা প্রভাবিত হয় যেমন একটি পর্যাপ্ত সংখ্যক ভেরিয়েবলের ভাষাতে উপস্থিতি যা নির্দিষ্ট পরিস্থিতিতে সম্পূর্ণরূপে সম্পূর্ণ কোডটিকে সরল করতে ব্যবহৃত হয়। অ্যারেগুলিকে যথাযথভাবে প্রধান পরিমাণ হিসাবে বিবেচনা করা হয়, যার অধ্যয়ন অবশ্যই ব্যর্থ না হয়েই করা উচিত।