Difference between revisions of "PERL/C3/Sample-PERL-program/Bengali"

From Script | Spoken-Tutorial
Jump to: navigation, search
 
Line 14: Line 14:
 
|-
 
|-
 
|00:14
 
|00:14
|এই টিউটোরিয়ালের জন্য ব্যবহার করছি:
+
|এই টিউটোরিয়ালের জন্য ব্যবহার করছি
  
* উবুন্টু লিনাক্স 12.04 অপারেটিং সিস্টেম
+
উবুন্টু লিনাক্স 12.04 অপারেটিং সিস্টেম
* Perl 5.14.2 এবং
+
 
* gedit টেক্সট এডিটর।
+
Perl 5.14.2 এবং
 +
 
 +
gedit টেক্সট এডিটর।
  
 
|-
 
|-
Line 106: Line 108:
 
|-
 
|-
 
|02:37
 
|02:37
|Eসপ্তাহের প্রত্যেক দিনে চারটি কীস থাকে -
+
|Eসপ্তাহের প্রত্যেক দিনে চারটি কীস থাকে
  
* max underscore temp,
+
max underscore temp
* min underscore temp,
+
 
* sunrise,
+
min underscore temp
* sunset.
+
 
 +
sunrise
 +
 
 +
sunset.
  
 
|-
 
|-
Line 252: Line 257:
 
|-
 
|-
 
|06:14
 
|06:14
|ইউসারকে নিম্ন প্রিন্ট করতে একটি বিকল্প লিখতে হবে:
+
|ইউসারকে নিম্ন প্রিন্ট করতে একটি বিকল্প লিখতে হবে
  
* একটি নির্দিষ্ট উইকডের দৈনিক আবহাওয়া রিপোর্ট।
+
একটি নির্দিষ্ট উইকডের দৈনিক আবহাওয়া রিপোর্ট।
* আউটপুট ফাইলে একটি নির্দিষ্ট উইকডের দৈনিক আবহাওয়া রিপোর্ট।
+
 
* সাপ্তাহিক আবহাওয়া রিপোর্ট।
+
আউটপুট ফাইলে একটি নির্দিষ্ট উইকডের দৈনিক আবহাওয়া রিপোর্ট।
 +
 
 +
সাপ্তাহিক আবহাওয়া রিপোর্ট।
 
|-
 
|-
 
|06:27
 
|06:27
Line 271: Line 278:
 
|-
 
|-
 
|06:47
 
|06:47
|এরপর দেখবো যে আমরা দুটি ফাংশন কল করছি -
+
|এরপর দেখবো যে আমরা দুটি ফাংশন কল করছি
 +
 
 +
display_header () এবং
  
* display_header () এবং
+
display_daily_report ().
* display_daily_report ().
+
 
|-
 
|-
 
|06:56
 
|06:56

Latest revision as of 10:40, 27 February 2017

Time
Narration
00:01 Sample PERL program এর টিউটোরিয়ালে আপনাদের স্বাগত।
00:06 এই টিউটোরিয়ালে এখন পর্যন্ত শেখা মুখ্য বিষয়গুলি স্যাম্পল পার্ল প্রোগ্রামে সম্মিলিত করা শিখব।
00:14 এই টিউটোরিয়ালের জন্য ব্যবহার করছি

উবুন্টু লিনাক্স 12.04 অপারেটিং সিস্টেম

Perl 5.14.2 এবং

gedit টেক্সট এডিটর।

00:25 আপনি পছন্দের যে কোনো টেক্সট এডিটর ব্যবহার করতে পারেন।
00:29 পূর্ব আবশ্যকতায় Perl প্রোগ্রামিং এর কার্যকর জ্ঞান থাকতে হবে।
00:34 না হলে আমাদের ওয়েবসাইটে প্রাসঙ্গিক পার্ল স্পোকেন টিউটোরিয়াল দেখুন।
00:39 স্যাম্পল পার্ল প্রোগ্রাম একটি অঞ্চলের বিভিন্ন আবহাওয়া পূর্বাভাস রিপোর্টের আউটপুট দেবে।
00:46 Weather dot pm একটি মডিউল ফাইল যা এই প্রোগ্রামের প্রয়োজনীয় ডেটা রাখতে একটি জটিল ডেটা-স্ট্রাকচার রাখে।
00:54 এটি রিপোর্ট বানাতে বিভিন্ন ফাংশনও রাখে।
00:59 Weather underscore report dot pl সেই পার্ল প্রোগ্রাম যা প্রয়োজনীয় আউটপুট দিতে এই মডিউল ফাইল ব্যবহার করে।
01:08 আমাদের ওয়েবসাইটে এই ভিডিও এর নীচে একই কোড ফাইল উপলব্ধ।
01:13 কোড ফাইল লিঙ্কে দেওয়া ফাইল্স ডাউনলোড এবং আনজিপ করুন।
01:18 এখন স্যাম্পল পার্ল প্রোগ্রাম Weather dot pm দেখি।
01:24 এই প্রোগ্রামে কোডের ব্লক namespace Weather এ রয়েছে।
01:29 পার্ল, প্যাকেজ কীওয়ার্ড ব্যবহার করে namespace প্রয়োগ করে।
01:34 BEGIN ব্লক main প্রোগ্রামের আগে কম্পাইল এবং এক্সিকিউট করা হয়।
01:40 Export ইউসারের namespace এ মডিউলের ভ্যারিয়েবল এবং ফাংশন এক্সপোর্ট করার অনুমতি দেয়।
01:48 At the rate EXPORT এবং at the rate EXPORT underscore OK এক্সপোর্ট অপারেশনের দরুণ ব্যবহৃত দুটি মেন ভ্যারিয়েবল।
01:57 At the rate EXPORT, সাবরুটিনের সূচী এবং মডিউলের ভ্যারিয়েবল রাখে।
02:03 এটি namespace কলারে এক্সপোর্ট করা হবে।
02:07 At the rate EXPORT underscore OK আবশ্যকতা অনুযায়ী সিম্বলস এক্সপোর্ট করে।
02:14 এখানে আবহাওয়ার রিপোর্টের আবশ্যক ডেটা রাখার জটিল ডেটা-স্ট্রাকচার বানাতে references ব্যবহার করেছি।
02:24 $weather_report হল হ্যাশ রেফারেন্স। place এবং nstate স্কেলার ভ্যালু রাখে।
02:32 weekly হল হ্যাশ রেফারেন্সের হ্যাশ।
02:37 Eসপ্তাহের প্রত্যেক দিনে চারটি কীস থাকে

max underscore temp

min underscore temp

sunrise

sunset.

02:48 record underscore time দুটি ইনডেক্স ভ্যালুর সাথে একটি array reference.
02:54 বিভিন্ন বিকল্পের আবহাওয়া রিপোর্ট দেখানোর কয়েকটি সাবরুটিন রয়েছে। এগুলি এক এক করে দেখি।
03:01 এই ফাংশন হেডার তথ্য যেমন রিপোর্ট, প্লেস, স্টেট এবং বর্তমান তারিখের হেডার প্রিন্ট করে।
03:10 এখন পরের ফাংশন display underscore daily underscore report দেখি।
03:16 এই ফাংশন উইকডে ইনপুট অনুযায়ী স্ক্রিনে দৈনিক রিপোর্ট প্রিন্ট করে।
03:22 আমরা শিফট ফাংশন ব্যবহার করে সাবরুটিনে পাস করা প্যারামিটার আবার প্রাপ্ত করি।
03:27 আমি প্যারামিটার ভ্যালুর আগের এবং পেছনের স্পেস মুছে ফেলতে trim() ফাংশন ব্যবহার করেছি।
03:34 এটি trim() ফাংশনের জন্য কোড।
03:37 Lc() ফাংশন প্রদত্ত ইনপুটের লোয়ার কেস সংস্করণ রিটার্ন করে।
03:42 এই কেস সেন্সিটিভিটি এড়াতে ব্যবহৃত হয়।
03:45 week day- যা মেন প্রোগ্রাম থেকে প্যারামিটার হিসেবে পাস হয় তা লোকাল ভ্যারিয়েবল dollar week underscore day কে এসাইন করা হয়।
03:55 নিম্ন প্রিন্ট স্টেটমেন্ট নির্দিষ্ট উইকডে থেকে সংশ্লিষ্ট ডেটা প্রিন্ট করবে।
04:01 আমরা $weather underscore report এ একটি ভ্যালু ডি-রেফারেন্স করতে এরো অপারেটর ব্যবহার করছি।
04:09 রেফারেন্সের সাথে কাজ করার সময় সেই ডেটা টাইপ বুঝতে হবে যা ডি-রেফারেন্স করছি।
04:15 এটি একটি হ্যাশ হলে আমাদের কোঁকড়া বন্ধনীতে কী পাস করতে হবে।
04:20 এটি একটি অ্যারে হলে আমাদের ইনডেক্স ভ্যালুর সাথে বর্গাকার বন্ধনী ব্যবহার করতে হবে।
04:26 পার্লের রিটার্ন ফাংশন একটি ভ্যালু রিটার্ন করে।
04:29 এটি মেন প্রোগ্রামে ফাংশনের স্ট্যাটাস যাচাই করতে ব্যবহার করা যেতে পারে।
04:36 পরবর্তী ফাংশন হল write underscore daily underscore report.
04:40 এই ফাংশন ফাইলে রিপোর্ট আউটপুট প্রিন্ট করবে।
04:45 গ্রেটার দেন (>) চিহ্ন এর সাথে ওপেন ফাংশন WRITE মোড সংজ্ঞায়িত করে।
04:50 ফাইল উইকডের নাম এবং dot txt এক্সটেনশন দ্বারা বানানো হয়।
04:56 প্রিন্ট স্টেটমেন্ট ফাইলে একটি নির্দিষ্ট উইকডে থেকে সংশ্লিষ্ট ডেটা প্রিন্ট করবে।
05:02 এটি সাপ্তাহিক রিপোর্ট প্রিন্ট করে।
05:05 হ্যাশ রেফারেন্সের প্রতিটি উইকডে লুপ থ্রু করতে foreach লুপ ঘোষিত করেছি।
05:11 আমি হ্যাশ রেফারেন্স দেখতে কোঁকড়া বন্ধনী এবং ডি-রেফারেন্স করতে অ্যারো অপারেটর ব্যবহার করেছি।
05:18 হ্যাশের কীস লুপ থ্রু করতে কীস বিল্ট ইন ফাংশন ব্যবহার করছি।
05:23 display underscore daily underscore report function হ্যাশের প্রতিটি এলিমেন্ট প্রিন্ট করবে।
05:30 এখন একটি পার্ল প্রোগ্রাম weather underscore report dot pl দেখি যেখানে এই মডিউল ফাইল Weather dot pm ব্যবহার করব।
05:40 এখানে use strict এবং use warnings কম্পাইলার ফ্ল্যাগ রয়েছে যা সাধারণ প্রোগ্রামিং ত্রুটি এড়াতে সাহায্য করে।
05:48 use Weather সেমিকোলন। এখানে Weather একটি মডিউল নাম যা এই প্রোগ্রামে প্রয়োগ করেছি।
05:56 আমরা ইতিমধ্যে দেখেছি যে এই প্রোগ্রামের জন্য প্রয়োজনীয় ফাংশন এই মডিউলে সংরক্ষিত হয়েছে।
06:03 এখানে dot pm ফাইল এক্সটেনশন দেওয়া জরুরী নয়।
06:08 এই প্রোগ্রামে প্রদত্ত বিকল্পের উপর নির্ভর করে বিভিন্ন রিপোর্ট প্রিন্ট করব।
06:14 ইউসারকে নিম্ন প্রিন্ট করতে একটি বিকল্প লিখতে হবে

একটি নির্দিষ্ট উইকডের দৈনিক আবহাওয়া রিপোর্ট।

আউটপুট ফাইলে একটি নির্দিষ্ট উইকডের দৈনিক আবহাওয়া রিপোর্ট।

সাপ্তাহিক আবহাওয়া রিপোর্ট।

06:27 বিকল্প 1 লেখা হলে এটি ইউসারকে সপ্তাহের একদিন লিখতে বলবে।
06:32 diamond অপারেটর STDIN থেকে পড়বে অর্থাৎ কীবোর্ড থেকে।
06:38 উদাহরণস্বরূপ, ইউসার monday লিখলে এটি একটি ভ্যারিয়েবল dollar dayoption কে এসাইন করা হয় যা একটি লোকাল ভ্যারিয়েবল।
06:47 এরপর দেখবো যে আমরা দুটি ফাংশন কল করছি

display_header () এবং

display_daily_report ().

06:56 আমরা এই ফাইলে use Weather স্টেটমেন্টের সাথে Weather dot pm এ সকল ফাংশন এক্সপোর্ট করেছি।
07:03 colon colon (::) প্যাকেজ কোয়ালিফায়ার ব্যবহার করে একটি প্যাকেজে ফাংশন উল্লিখিত করার প্রয়োজন নেই।
07:10 পরবর্তী বিকল্প দেখি।
07:13 বিকল্প 2 লেখা হলে এটি ইউসারকে সপ্তাহের দিন লিখতে বলবে।
07:19 $dayoption ইনপুট প্যারামিটারের মত write underscore daily underscore report ফাংশনকে পাস করা হয়।
07:27 ফাংশন থেকে return ভ্যালু dollar result ভ্যারিয়েবলে সংরক্ষিত হয়।
07:33 প্রিন্ট স্টেটমেন্ট আউটপুটের জন্য টেক্সট ফাইল যাচাই করতে ইউসারকে জিজ্ঞাসা করে।
07:38 ফাইলের নাম সপ্তাহের দিন dot txt নামে আউটপুট ফাইল হিসাবে বানানো হয়।
07:46 বিকল্প 3 লেখা হলে এটি পুরো সপ্তাহের জন্য আবহাওয়া রিপোর্ট প্রিন্ট করে।
07:51 display underscore weekly underscore report সাপ্তাহিক রিপোর্টের ফাংশনের নাম।
07:57 প্রিন্ট স্টেটমেন্ট সময়ের নির্দিষ্ট সংখ্যার জন্য একটি অনুভূমিক রেখা বানায়।
08:02 এটি শুধুমাত্র রিপোর্টকে একটি ভালো রূপ দিতে হয়।
08:06 অবশেষে বিকল্প 4 হলে এটি প্রোগ্রাম থেকে প্রস্থান করবে।
08:11 যদি প্রদত্ত নির্ধারিত বিকল্প ছাড়া অন্য কোনো বিকল্প দিলে প্রিন্ট স্টেটমেন্ট বলে যে Incorrect option.
08:19 এখানে 0 এর এক্সিট ভ্যালু বলে যে প্রোগ্রাম সফলভাবে রান হয়েছে।
08:25 0 ছাড়া অন্য কোনো এক্সিট ভ্যালুর মানে কোনোরকম এরর এসেছে।
08:31 এখন প্রোগ্রাম এক্সিকিউট করি।
08:34 টার্মিনালে গিয়ে লিখুন perl weather underscore report dot pl এবং এন্টার টিপুন।
08:41 আমরা স্ক্রিনে চারটি বিকল্প দেখতে পারি।
08:45 1 লিখে এন্টার টিপুন।
08:48 আমাদের সপ্তাহের একটি দিন লিখতে বলা হয়. আমি লিখব monday এবং এন্টার টিপব।
08:56 এটি function display underscore header() থেকে নির্মিত হেডার আউটপুট।
09:02 এখন Monday এর আবহাওয়া রিপোর্ট দেখতে পারি।
09:06 অন্য বিকল্প দেখাতে আবার প্রোগ্রাম এক্সিকিউট করব।
09:13 2 লিখে এন্টার টিপুন।
09:17 প্রম্পটে যে কোনো সাপ্তাহিক দিন লিখতে হবে। আমি লিখব wednesday এবং এন্টার টিপব।
09:25 এখানে দেখি: Please check the file wednesday dot txt for report output.
09:32 আউটপুট এই টেক্সট ফাইলে লেখা হয়েছে। এখন সেই ফাইল খুলে বিষয়বস্তু যাচাই করি।
09:38 লিখুন gedit wednesday dot txt এবং এন্টার টিপুন।
09:44 আউটপুট ফাইল প্রবিষ্ট সপ্তাহের দিনের সাথে txt এক্সটেনশন দ্বারা বানানো হয়েছে।
09:51 পরবর্তী বিকল্প যাচাই করি।
09:54 টার্মিনালে গিয়ে লিখুন perl weather underscore report dot pl এবং এন্টার টিপুন।
10:00 3 লিখে এন্টার টিপুন।
10:04 এখন আমরা সাপ্তাহিক আবহাওয়া রিপোর্ট দেখতে পারি।
10:08 হ্যাশ কীস এবং হ্যাশ ভ্যালুস রেন্ডম ক্রমে সংরক্ষণ করা হয়।
10:13 তাই প্রদর্শিত আউটপুট সেই ক্রমের সম্পর্কিত হয় নয় যাতে সেটি জোড়া হয়েছিল।
10:19 এর সাথেই টিউটোরিয়ালের শেষে চলে এসেছি। সারাংশিত করি।
10:24 এই টিউটোরিয়ালে পূর্ববর্তী টিউটোরিয়ালের মুখ্য বিষয় প্রয়োগ করে স্যাম্পল পার্ল প্রোগ্রাম দেখেছি।
10:32 অনুশীলনী হিসেবে কর্মচারীর বেতন, পদবী, বিভাগ, লীভ বেলেন্সের বর্ণন দেখতে অনুরূপ পার্ল প্রোগ্রাম employee underscore report.pl লিখুন।
10:45 ইনপুট হিসাবে Employee ID বা Employee নাম পাস করুন।
10:50 মডিউল Employee dot pm ফাইলে প্রয়োজনীয় ফাংশন লিখুন।
10:56 নিম্ন লিঙ্কে উপলব্ধ ভিডিওটি প্রকল্পকে সারাংশিত করে। ভিডিওটি ডাউনলোড করে দেখুন।
11:03 স্পোকেন টিউটোরিয়াল প্রকল্প দল কর্মশালার আয়োজন করে এবং অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেয়। বিস্তারিত তথ্যের জন্য আমাদের লিখুন।
11:12 স্পোকেন টিউটোরিয়াল প্রজেক্ট ভারত সরকারের MHRD এর NMEICT দ্বারা সমর্থিত। এই বিষয়ে বিস্তারিত তথ্য এই লিঙ্কে প্রাপ্তিসাধ্য।
11:25 আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি। ধন্যবাদ।

Contributors and Content Editors

Kaushik Datta, Satarupadutta