OpenModelica/C2/Arrays-in-Modelica/Bengali
From Script | Spoken-Tutorial
Revision as of 15:25, 18 January 2018 by Kaushik Datta (Talk | contribs)
Time | Narration |
00:01 | Arrays এর স্পোকেন টিউটোরিয়ালে আপনাদের স্বাগত। |
00:05 | এখানে আমরা শিখব: Arrays ভ্যারিয়েবল ঘোষিত করা, Arrays বানানো, for এবং while লুপ ব্যবহার করা এবং OMShell এর ব্যবহার। |
00:20 | টিউটোরিয়ালটি রেকর্ড করতে ব্যবহার করছি: OpenModelica 1.9.2 |
00:26 | টিউটোরিয়ালটি অনুশীলন করতে আপনি নিম্ন অপারেটিং সিস্টেমের যে কোনো একটির ব্যবহার করতে পারেন। |
00:32 | টিউটোরিয়ালটি বুঝতে এবং অনুশীলন করতে যে কোনো প্রোগ্রামিং ভাষাতে arrays সম্পর্কে জানতে হবে। |
00:40 | Modelica তে class পরিভাষিত করা সম্পর্কে জানতে হবে। পূর্বাবশ্যক টিউটোরিয়াল আমাদের ওয়েবসাইটে উল্লিখিত। সেগুলি দেখুন। |
00:50 | Vector ওয়ান ডাইমেনশনাল অ্যারে। |
00:53 | এতে একক ইনডেক্স রয়েছে। |
00:55 | ভেক্টর ঘোষণার জন্য Syntax দেখানো হয়েছে। |
00:50 | প্রদর্শিত উদাহরণ ভেক্টর ভ্যারিয়েবল a ঘোষিত করে তার আকার হল 2. |
01:05 | একটি ভেক্টর কোঁকড়া র্বন্ধনীতে এলিমেন্ট অন্তর্ভুক্ত করে বানানো যেতে পারে। |
01:11 | এই উদাহরণ একটি vector প্যারামিটার a সহ 2 এবং 3 কে তার এলিমেন্ট হিসাবে সংজ্ঞায়িত করে। |
01:19 | Vector এর এলিমেন্ট যাক্সেস করতে, indexing বোঝা প্রয়োজন। |
01:25 | vector indexing এর জন্য সিনট্যাক্স দেওয়া হয়েছে। |
01:29 | Vector indexing 1 থেকে শুরু হয় এবং Indices পূর্ণসংখ্যা হতে হবে। |
01:35 | polynomialEvaluatorUsingVectors নামে একটি ফাংশন বানাই। |
01:41 | এই ফাংশন polynomialEvaluator এর একটি এক্সটেনশন যা পূর্বের টিউটোরিয়াললে আলোচনা করা হয়েছিল। |
01:49 | আমরা polynomialEvaluator এর a, b এবং c প্যারামিটার ভেক্টর a দ্বারা পরিবর্তন করব। |
01:58 | আমাদের Code Files লিঙ্কে উপলব্ধ সকল ফাইল ডাউনলোড করে সংরক্ষণ করুন। |
02:05 | আপনার সুবিধা জন্য, polynomialEvaluator ফাংশনও উপলব্ধ। |
02:12 | এখন এই ফাংশন প্রদর্শন করতে OMEdit এ যাই। |
02:17 | OMEdit এখন Welcome Perspective এ খোলে। |
02:21 | আমি সকল প্রয়োজনীয় ফাইল খুলেছি। |
02:25 | লক্ষ্য করুন নিম্ন ক্লাস বা ফাংশন এখন OMEdit এ খোলা: functionTester, matrixAdder, polynomialEvaluator এবং polynomialEvaluatorUsingVectors |
02:42 | এখন, তাদের দেখতে প্রতিটি আইকনে ডবল ক্লিক করুন। |
02:49 | ভাল দৃশ্যতার জন্য OMEdit উইন্ডো বামদিকে সরাই। |
02:56 | polynomialEvaluator ট্যাবে যান। |
03:00 | এটি Text View তে খুলুন। |
03:03 | এই ফাংশন সম্পর্কে আরো জানতে, পূর্ববর্তী টিউটোরিয়াল দেখুন। |
03:09 | আমি polynomialEvaluatorUsingVectors এ যাই। এটি Text View তে খুলুন। |
03:16 | Input এবং output ভ্যারিয়েবল polynomialEvaluator ফাংশনের অনুরূপ। |
03:23 | polynomialEvaluator এর a,b এবং c প্যারামিটার ভেক্টর a দ্বারা বদলানো হয়েছে। |
03:32 | এই ভেক্টরের আকার হল 3. |
03:36 | এই ভেক্টরের এলিমেন্ট কোঁকড়া বন্ধনীতে অন্তর্ভুক্ত যেমনকি দেখাচ্ছে। |
03:42 | এলিমেন্ট comm দ্বারা পৃথক করা হয়েছে। |
03:46 | assignment স্টেটমেন্টে, ভেক্টর a এর এলিমেন্ট তাদের সূচক ব্যবহার করে অ্যাক্সেস করা হয়। |
03:54 | a[1] ভেক্টর a এর প্রথম এলিমেন্ট। |
03:59 | একইভাবে, ভেক্টর a এর দ্বিতীয় এলিমেন্ট এবং তৃতীয় এলিমেন্ট অ্যাক্সেস করা হয়েছে। |
04:08 | এখন, আমি functionTester ট্যাবে যাই। |
04:13 | এটি Text View তে খুলুন। |
04:16 | এই ক্লাস functionTester ক্লাসের অনুরূপ যা আগের টিউটোরিয়ালে আলোচনা করেছি। |
04:24 | Z হল Real ভ্যারিয়েবল। |
04:27 | PolynomialEvaluatorUsingVectors ফাংশনকে 10 ইউনিটের input আর্গুমেন্ট সহ কল করা হয়। |
04:35 | এই ফাংশন দ্বারা প্রদত্ত ভ্যালু z এর সমান। |
04:40 | এখন এই ক্লাসটি সিমুলেট করি। |
04:43 | Simulate বোতামে ক্লিক করুন। |
04:46 | পপ আপ উইন্ডো বন্ধ করুন। |
04:49 | Variables ব্রাউজারে z চয়ন করুন। |
04:53 | লক্ষ্য করুন যে z এর ভ্যালু x = 10 এ f(x) এর সমান। |
05:00 | এই প্লট polynomialEvaluator ফাংশনে দেখানো কেসের অনুরূপ। |
05:07 | এখন z অচয়নিত করে ফলাফল মুছে দিন। |
05:13 | Modeling perspective এ ফিরে যান। |
05:16 | এখন স্লাইডে ফিরে যাই। |
05:19 | for লুপের ব্যবহার স্টেটমেন্ট বার বার পুনরাবৃত্তি করতে করা হয়। |
05:24 | এর ব্যবহার algorithm এবং equation সেকশনে করা যেতে পারে। |
05:29 | for লুপের জন্য সিনট্যাক্স একটি উদাহরণ সহ দেখানো হয়েছে। |
05:34 | for লুপের ব্যবহার কিভাবে করে তা দেখাতে OMEdit এ ফিরে যাই। |
05:40 | polynomialEvaluatorUsingVectors ট্যাবে ক্লিক করুন। |
05:45 | fx এর জন্য assignment স্টেটমেন্টে, আমরা ভেক্টর a এর এলিমেন্ট অ্যাক্সেস করছি। |
05:52 | এটি for লুপ ব্যবহার করেও করা যেতে পারে। |
05:55 | এখন দেখি যে algorithm সেকশনে for লুপ কিভাবে অন্তর্ভুক্ত করে। |
06:01 | প্রথমে, শুরু এবং শেষে ডবল স্ল্যাশ রেখে fx এর জন্য assignment স্টেটমেন্ট কমেন্ট করুন। |
06:10 | Ctrl + S টিপে ফাংশনটি সংরক্ষণ করুন। |
06:15 | প্রবিষ্ট করা for লুপ for-loop.txt নামে টেক্সট ফাইলে দেওয়া হয়েছে। |
06:23 | এটি আমাদের ওয়েবসাইটে উপলব্ধ। আমি gedit ব্যবহার করে এই ফাইলটি খুলেছি। |
06:29 | উইন্ডোজ ইউসার এটি খুলতে notepad বা অন্য কোনো এডিটর ব্যবহার করতে পারে। |
06:35 | আমি gedit এ যাই। |
06:38 | Ctrl + C টিপে সকল স্টেটমেন্ট কপি করুন। |
06:44 | OMEdit এ ফিরে যান। |
06:46 | Enter টিপুন। Ctrl + V টিপে সকল স্টেটমেন্ট পেস্ট করুন। |
06:53 | Ctrl + S টিপে ফাংশনটি সংরক্ষণ করুন। |
06:57 | এখন, আমি এই লুপের প্রতিটি স্টেটমেন্ট ব্যাখ্যা করি। |
07:02 | লুপ শুরু হওয়ার আগে এই স্টেটমেন্ট শূন্যের প্রাথমিক মান fx নির্ধারণ করে। |
07:09 | এখানে, i একটি লুপ কাউন্টার হিসাবে কাজ করে। |
07:12 | i এর ভ্যালু 3 না হওয়া পর্যন্ত লুপ রান হয়। |
07:16 | এটি ব্যবহার করার আগে i ঘোষিত করা আবশ্যক নয়। |
07:21 | আমি একটু নীচে স্ক্রোল করি। |
07:24 | এই স্টেটমেন্ট মৌলিকরূপে polynomial f(x) এর শর্তাবলী যোগ করে। |
07:30 | Polynomial f(x) এর আলোচনা করা হয়েছে যখন polynomialEvaluator ফাংশন নিয়ে আলোচনা হয়েছিল। |
07:37 | এই স্টেটমেন্ট for লুপের সমাপ্তি ইঙ্গিত করে। |
07:41 | এখন, এই ফাংশনটি সম্পূর্ণ। |
07:44 | ফাংশনটি যাচাই করতে আমি functionTester ফাংশন ব্যবহার করি। |
07:49 | আমি এই ফাংশনে class এর জন্য কোনো পরিবর্তন করিনি। |
07:54 | আমি টুলবারে Simulate বোতামে টিপে এই ক্লাস সিমুলেট করি। |
07:49 | variables browser এ z চয়ন করুন। |
08:03 | লক্ষ্য করুন z এর ভ্যালু ফাংশনে পরিবর্তন হওয়ার পরেও একই। |
08:10 | আমি z অচয়নিত করি এবং ফলাফল মুছে ফেলি। |
08:14 | Modeling perspective এ ফিরে যান। |
08:17 | এখন আমি আবার স্লাইডে ফিরে যাই। |
08:21 | while লুপের ব্যবহার স্টেটমেন্ট পুনরাবৃত্তি করতে করা হয় যতক্ষণ কোনো দেওয়া স্থিতি সন্তুষ্ট না হয়। |
08:27 | while লুপের ব্যবহার equation সেকশনে করা যাবে না। |
08:31 | while এর তুলনাতে for লুপ প্রায়ই Modelica তে ব্যবহার করা হয়। |
08:37 | এখন Arrays নিয়ে আলোচনা করি। |
08:40 | Arrays এর ব্যবহার multi-dimensional ডেটা প্রদর্শন করতে করা হয়। |
08:44 | তাদের vector নোটেশন ব্যবহার করে বানানো যেতে পারে। |
08:48 | Array ঘোষিত করতে এবং indexing এর জন্য সিনট্যাক্স দেখানো হয়েছে। |
08:55 | array বানানো এবং indexing সম্পর্কে অধিক জানতে: |
09:00 | আমি matrixAdder নামে ক্লাস লিখি যা mySum দিতে myMatrix এবং adder matrices যোগ করে। myMatrix এবং adder matrices প্রদর্শিত হয়। |
09:14 | এখন, matrixAdder ক্লাস দেখাতে OMEdit এ যান। |
09:19 | এটি ইতিমধ্যেই OMEdit এ খোলা রয়েছে। |
09:23 | matrixAdder ট্যাবে ক্লিক করুন। |
09:26 | এটি Text view তে খুলুন। |
09:29 | myMatrix একটি Real প্যারামিটার অ্যারে। |
09:33 | বর্গাকার বন্ধনীতে সংখ্যা, এই array এর আকার বোঝায়। |
09:39 | প্রথম মাত্রার আকার হল 3. |
09:42 | একইভাবে, দ্বিতীয় মাত্রার আকার হল 2. |
09:46 | MyMatrix অ্যারের নির্মাণ প্রতিটি দুটি এলিমেটের তিনটি ভেক্টর ব্যবহার করে করা হয়। |
09:53 | {1,2} প্রথম ভেক্টর |
09:57 | {3,4} দ্বিতীয় এবং |
10:00 | {5,6} তৃতীয় ভেক্টর বোঝায়। |
10:04 | এই প্রতিটি ভেক্টরের আকার এই array এর দ্বিতীয় মাত্রার আকারের সমান। |
10:11 | তাই, myMatrix এর দ্বিতীয় মাত্রার আকার 2. |
10:16 | ভেক্টরের সংখ্যা প্রথম মাত্রার আকারের সমান। তাই, প্রথম মাত্রার আকার হল 3. |
10:25 | adder ম্যাট্রিক্স এর নির্মাণ একই উপায়ে করা হয়েছে। |
10:29 | এই দুটি arrays বা matrices জুড়তে আমাদের দুই মাত্রার এলিমেন্ট অ্যাক্সেস করতে হবে। |
10:35 | তাই nested for লুপের প্রয়োজন। |
10:40 | এই for লুপ প্রথম মাত্রার মাধ্যমে রান হয়। |
10:44 | একইভাবে এই for লুপ দ্বিতীয় মাত্রার মাধ্যমে রান হয়। |
10:49 | আমি এটি একটু নীচে স্ক্রোল করি। |
10:52 | myMatrix এবং adder matrices এর অনুরূপ এলিমেন্ট mySum এ জোড়া হয়েছে। |
11:00 | এই স্টেটমেন্ট প্রতিটি for লুপের সমাপ্তি প্রদর্শন করে। ক্লাস এখন সম্পূর্ণ। |
11:07 | আমি Simulate বোতামে ক্লিক করে এটি সিমুলেট করি। |
11:11 | এটি প্রদর্শিত হলে পপ আপ উইন্ডো বন্ধ করুন। |
11:15 | এখন variables কলাম বিস্তৃত করি। |
11:18 | adder[1,1], myMatrix[1,1] এবং mySum[1,1] চয়ন করুন। |
11:25 | লক্ষ্য করুন adder[1,1] plus myMatrix[1,1], mySum[1,1] দেয়, যার মানে ফলাফল সঠিক। |
11:35 | আমি তাদের অচয়নিত করে ফলাফল মুছে ফেলি। |
11:40 | স্লাইডে ফিরে যাই। |
11:43 | অনুশীলনী হিসাবে: ভেক্টরের এলিমেন্টের ক্রম উল্টো করতে vectorReversal নামে ফাংশন লিখুন। |
11:51 | একইভাবে matrix এর প্রতিটি সারিতে এলিমেন্টের ক্রম উল্টো করতে matrixReversal নামে ফাংশন লিখুন। |
12:00 | এই দুটি ফাংশন যাচাই করতে FunctionTester ক্লাস লিখুন। |
12:05 | এর সাথেই আমরা টিউটোরিয়ালের শেষে এসেছি। |
12:09 | নিম্ন লিঙ্কে উপলব্ধ ভিডিওটি দেখুন: http://spoken-tutorial.org/ http://spoken-tutorial.org] /What\_is\_a\_Spoken\_Tutorial, এটি প্রকল্পকে সারসংক্ষেপে দেখায়। |
12:15 | আমরা কর্মশালার আয়োজন করে এবং প্রশংসাপত্র দেই। আরো জানতে আমাদের লিখুন। |
12:21 | আপনার এই স্পোকেন টিউটোরিয়ালে কোন প্রশ্ন থাকলে নিম্ন সাইটে যান। |
12:28 | আমরা জনপ্রিয় বইগুলির সমাধানকৃত উদাহরণের কোডিং নির্দেশ করি। |
12:33 | যারা এটি করে আমরা তাদের মানদণ্ড এবং সার্টিফিকেট দেই। আরো জানতে এই সাইটে যান। |
12:39 | আমরা কমার্শিয়াল সিমুলেটর ল্যাবগুলি OpenModelica তে মাইগ্রেট করতে সহায়তা করি। আরো জানতে এই সাইটে যান। |
12:48 | Spoken Tutorial প্রকল্প ভারত সরকারের NMEICT, MHRD দ্বারা সমর্থিত। |
12:55 | আমরা OpenModelica উন্নয়ন দলকে তাদের সমর্থনের জন্য ধন্যবাদ জানাই। |
13:00 | আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি। অংশগ্রহনের জন্যে ধন্যবাদ। |