Scilab/C2/Scripts-and-Functions/Bengali

From Script | Spoken-Tutorial
Revision as of 12:30, 29 November 2012 by 10.102.152.95 (Talk)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

নমস্কার বন্ধুগণ|scilab -এর script এবং function -এর ওপর এই স্পোকেন টিউটোরিয়ালটিতে আপনাদের স্বাগত জানাই| প্রথমেই শুরু করা যাক scilab -এ ফাইল ফর্মাট -এর ওপর একটি সংক্ষিপ্ত উপস্থাপনাকে দিয়ে|

যখন কতগুলি কমান্ডসকে একসঙ্গে কার্যকর করতে হয় , তখন সেগুলি বা সেই statements গুলিকে scilab এডিটর -এর সাহায্যে একটি ফাইল -এ লেখা অনেক বেশী সুবিধাজনক|এইগুলিকে স্ক্রিপ্ট ফাইলস বলে| স্ক্রিপ্ট ফাইল -এ লিখিত কমান্ডগুলিকে কার্যকর বা সম্পাদন করতে হলে স্ক্রিপ্ট ফাইল-এর নাম দিয়ে exec ফাংশন ব্যবহার করা যেতে পারে| এই ফাইলগুলির একটি extension থাকে .sce বা .sci |এবং এটি নির্ভর করে ফাইল -এর content বা উপাদানের ওপর| যে ফাইলগুলির extension .sci হয় ,সেইগুলির মধ্যে থাকে scilab -এর ফাংশন ,and /or user defined ফাংশনস বা ব্যবহারকারী নির্দিষ্ট ফাংশন এবং তাদের সম্পাদন বা কার্যকর করলে তা function গুলিকে scilab -এর environment বা পরিবেশে load করে|(কিন্তু সেগুলিকে সম্পাদন বা কার্যকর করে না) আবার অন্যদিকে , যে ফাইলগুলির extension .সকে , সেইগুলি scilab function এবং কার্যকারী statements বা executable statements , দুটিই ধারণ করে| তবে এটি মনে রাখবেন যে extension -এর নামকরণের রীতি ,যেমন .sce এবং .sci , এটি কিন্তু কোনো RULE বা নিয়মের মধ্যে পড়ে না |তবে এটি একটি রীতি যা scilab কমিউনিটির দ্বারা অনুগমন করা হয়|

চলুন এবারে কম্পিউটার -এ scilab খুলি| কমান্ড প্রম্পট -এর ওপর cd টাইপ করে বর্তমান কাজের নির্দেশিকাটি একবার দেখে নিন |

-->cd
ans  =
C:\Documents and Settings\cdeep_lap12   


এবারে scilab কনসল উইন্ডো টাস্ক বার-এ গিয়ে এডিটর option -এ ক্লিক করুন scilab এডিটর খোলবার জন্যে | আমি আগে থেকেই ফাইল-এ কমান্ড টাইপ করে save করেছি helloworld.sce নামে|তাই এখন আমি ফাইলটি খুলবো ফাইল-এর শর্টকাট আইকন open করে| disp("Hello World")

a=1; b=2; c=a+b;
d=a+b+c;
disp(d)
disp("Goodbye World")

আপনি নতুন ফাইল-এ কমান্ডগুলি টাইপ করে , ফাইল মেনুতে গিয়ে ফাইলটিকে বর্তমান কাজের নির্দেশিকাতে save করতে পারেন HelloWorld.sce নামে| এটা মনে রাখবেন যে ফাইল নামের মধ্যে কোনো space থাকবে না| এরপর scilab এডিটর মেনুবার এ execute button -এ যান এবং scilab option -এ load -এ সেলেক্ট করুন| এরফলে ফাইলটি scilab কনসল-এ load হয়ে যাবে| scilab কনসোলে ফাইলটি load হবার পর যে output -টি স্ক্রিপ্ট থেকে পাওয়া যাবে, তা আপনি নিম্নলিখিতটিতে দেখতে পাচ্ছেন---

-->disp("Hello World")
   
 Hello World   
 
--> a=1; b=2; c=a+b;
 
--> d=a+b+c;
 
--> disp(d)
 
    6.  
 
--> disp("Goodbye World")
 
 Goodbye World

তাহলে এটিতে কমান্ডস এবং এক একটি কমান্ডের ফল স্বরূপ যে output , তা উভয়েই আছে| এবারে এডিটর-এ গিয়ে a -এর মূল্য বা value পরিবর্তন করে 5 করুন|ফাইল মেনুতে যান, আবার save সেলেক্ট করুন এবং এটিকে বন্ধ করুন| আমার আবার scilab interpreter থেকে স্ক্রিপ্টকে সরাসরি সম্পাদন বা কার্যকর করতে পারি exec কমান্ডের সাহায্যে|

-->exec("Hello World.sce")

exec কমান্ডটি ব্যবহারের স্ক্রিপ্ট ফাইলটি একই output দিছে---

-->disp("Hello World")

Hello World   
-->a=5; b=2; c=a+b;
-->d=a+b+c;
-->disp(d)
    14.  
-->disp("Goodbye World")
Goodbye World


চলুন এবারে function নিয়ে আলোচনা করি| function -এর ব্যাখ্যা শুরু হয় function দিয়ে এবং শেষ হয় keyword endfunction দিয়ে|

স্সিলাব এডিটর ব্যবহার করে আমি আগে থেকেই function save করেছি function.sci file -এ | function -এর ব্যাখ্যা করা হয়েছে যেমনটি আপনি দেখতে পাচ্ছেন---

function [degrees] = radians2degrees(radians)

  degrees = radians*(180/%pi); 
endfunction

এখানে radians2degrees নামক function -এ degree হল output parameter এবং radians হল input parameter | এবারে Execute মেনু option ব্যবহার করে আমি এই function -টি লাদ করব scilab -এ| এটিকে আবার exec কমান্ড ব্যবহার করেও load করা যায়|

-->exec functions.sci

function -টি এখন scilab কনসোলে load হয়ে গেছে|

-->function [degrees] = radians2degrees(radians)
-->  degrees = radians*(180/%pi); 
-->endfunction


একবার function -টি load হয়ে গেলে scilab -এর অন্যান্য function -এর মত এটিকেও ব্যবহার করা যেতে পারে শর্ত বা arguments গুলিকে ওই function -এ পাঠিয়ে| এখানে % সাইনটি দেখুন এবং এর ব্যবহার মনে করে দেখুন|

চলুন আমরা এবারে radians2degrees(%pi/2) এবং radians2degrees(%pi/4)-এর মূল্য বের করি|


-->radians2degrees(%pi/2)

 ans  =
    90.  
-->radians2degrees(%pi/4)
 ans  =
    45.

scilab -এর একটি আকর্ষনীয় বৈশিষ্ট্য হল যে আপনি যেকোনো function -এর নম্বরকে define বা ব্যাখ্যা করতে পারেন একটি মাত্র বা single .sci ফাইল -এ | এটি করার সময় দিয়া করে মনে রাখবেন যে সমস্ত variables , যা function -এ define বা ব্যাখ্যা করা হয়েছে ,সেইগুলি by default স্থানীয় বা লোকাল|এবং variables গুলির scope বা ব্যাপ্তি একটি নির্দিষ্ট function -এ শেষ হয় function সংঘাথের্র অর্থাৎ definition -এর end function keyword দিয়ে| এই বৈশিষ্ট্যের একটি সুবিধা হল যে আমরা বিভিন্ন function -এ একই variable বা পরিবর্তনশীল নাম দেখতে পাচ্ছি| এই variables -গুলি কখনই একসঙ্গে মিশে যেতে পারে না, যদি না আমরা global option ব্যবহার করি| Global variable সম্পর্কে বিশদে জানতে হলে help global টাইপ করুন এবং সেই সম্পর্কে যাবতীয় তথ্য দেখুন|

এটি মনে রাখবেন যে function -এর মধ্যে যদি কোনো variables কে দেখতে হয়, বা watch বা monitor করতে হয় ,তবে 'disp 'লেখা প্রয়োজনীয়| function ফাইল-এর মধ্যে আপনি নিজেই দেখতে পারেন semicolon (;) ব্যবহারের ফলাফল, অর্থাৎ statement -এর শেষে semicolon (;) দিলে তার ফলাফল কি হয় তা আপনি নিজেই দেখতে পারবেন| এটি কে আবার আপনি disp ("---"statement ) লিখেও দেখতে পারেন|


Inline Functions :--

function গুলি হল code -এর ছিন্নাংশ বা বিভাগ, যেগুলিতে সুন্দর ভাবে input এবং output ব্যাখ্যা করা আছে আর সেইসঙ্গে স্থানীয় বা লোকাল variables -ও আছে| function কে ব্যাখ্যা করার একটি সহজ উপায় হল 'deff ' কমান্ডটির ব্যবহার| scilab inline function -এর সৃষ্টিতে অনুমতি প্রদান করে এবং সেটি বিশেষ ভাবে ব্যবহারযোগ্য বা useful , যখন function -টির body ছোট হয়| এটি function deff () -এর সাহায্যে করা যেতে পারে| এটি দুই শ্রেনীর parameter -কে গ্রহণ করে |প্রথম শ্রেণীটি function -এর পদ্ধতি বা interface কে ব্যাখ্যা করে , এবং দ্বিতীয় শ্রেণীটি function -এর statement কে ব্যাখ্যা করে| deff কমান্ড scilab -এ function -কে ব্যাখ্যা করে এবং load করে| deff কমান্ডকে ব্যবহার করে ব্যাখ্যা করা function কে execute মেনু option দিয়ে load করবার কোনো প্রয়োজন নেই| চলুন একটি উদাহরণ দেখি এই ধারনাটিকে ব্যাখ্যা করবার জন্যে ----

deff("[radians] = degrees2radians(degrees)","radians = degrees*(%pi/180)")

তাহলে আগে যা উল্লেখ করা হয়েছে , এখানে তা দেখা যাচ্ছে|অর্থাৎ প্রথম শ্রেণীটি function -এর পদ্ধতি বা interface কে ব্যাখ্যা করে, এবং দ্বিতীয় শ্রেণীটি function -এর statement -কে ব্যাখ্যা করে| আমরা এটিকে সরাসরি ব্যবহার করতে পারি degrees2radians(90) এবং degrees2radians(45) -এর value বা মূল্য বের করবার জন্যে|

-->degrees2radians(90)
 ans  =
    1.5707963  
-->degrees2radians(45)
 ans  =
    0.7853982

একটি function কেবলমাত্র নিজের মধ্যেকার অন্যান্য function গুলিকে বর্ণনা করে না, তার সাথে নিজেরও (ITSELF ) বর্ণনা করে | এটি হল "recursive "function -এর বর্ণনা|যখন কোনো function লেখা হয় পূর্ণসংখ্যার factorial গণনার জন্যে, তখন এটির ব্যবহার প্রয়োজনীয়|

চলুন আলোচনাটি সম্প্রসারিত করি scilab -এ ফাইল ফর্মাট পর্যন্ত |

আগেই উল্লেখ করা হয়েছে যে scilab -এ দুধরনের ফাইল ফর্মাট থাকে ---একটি হল SCE ফাইল ফর্মাট এবং অপরটি হল স্কি ফাইল ফর্মাট| যে ফাইল গুলির extension .sce সেইগুলি হল স্ক্রিপ্ট ফাইল , যেগুলি ধারণ করে সেই সব scilab কমান্ডস , যেগুলি ব্যবহার করা হয় interactive scilab session -এর somoy| aeiguli comment line -এর অন্তরভুক্ত হতে পারে যা ব্যবহার করা যায় function -এর উপস্থাপনার ক্ষেত্রে এবং এইগুলি আবার EXEC কমান্ডও ব্যবহার করতে পারে স্ক্রিপ্টকে সম্পাদনা করার জন্যে|

আবার যে ফাইল উলির এক্ষ্তেন্সিওন .sci , সেইগুলি হল সেই function ফাইল যা শুরু হয় function statement দিয়ে |একটি single .sci ফাইল-এ একাধিক function -এর ব্যাখ্যা থাকতে পারে , যেগুলিতে আবার যে কোনো সংখ্যার silab statement থাকতে পারে যা function arguments -এর ওপর অথবা গণনার পরে যে output variables পাওয়া যায় , তার ওপর কার্য করে| তাহলে এর সঙ্গেই আমাদের scilab ও function -এর ওপর এই স্পোকেন টিউটোরিয়ালটি শেষ হল|scilab -এর আরো অনেক functions আছে , যেগুলির সম্পর্কে অন্যান্য স্পোকেন টিউটোরিয়াল-এ আলোচনা করা হয়েছে|এর জন্যে scilab link -এ নজর রাখুন| স্পোকেন টিউটোরিয়ালটি হল Talk to a Teacher project, -এর অংশ বিশেষ যা National Mission on Education through ICT -এর দ্বারা সহায়ক| এই বিষয়ে আরো তথ্য পাওয়া যাবে নিম্নলিখিত link -এ ------

http://spoken-tutorial.org/NMEICT-Intro

আমি নীলাঞ্জনা চৌধুরী মুম্বাই থেকে আপনাদের অসংখ্য ধন্যবাদ জানাই আমাদের সঙ্গে থাকবার জন্যে| নমস্কার|

Contributors and Content Editors

Kaushik Datta