OpenModelica/C2/Functions-and-Types/Tamil

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:01 Functionகள் மற்றும் typeகள் குறித்த ஸ்போகன் டுடோரியலுக்கு நல்வரவு.
00:06 இந்த டுடோரியலில் நாம் கற்கப்போவது: ஒரு functionஐ எப்படி வரையறுப்பது.
00:12 Algorithmஐ எப்படி பயன்படுத்துவது. ஒரு typeஐ எப்படி வரையறுப்பது.
00:17 இந்த டுடோரியலை பதிவு செய்வதற்கு, நான், OpenModelica 1.9.2 மற்றும் Ubuntu Operating system பதிப்பு 14.04ஐ பயன்படுத்துகிறேன்.
00:27 ஆனால், இந்த செயல்முறை , Windows, Mac OS X அல்லதுFOSSEE OSல்,ஒரே மாதிரியாக இருக்கிறது.
00:35 இந்த டுடோரியலை புரிந்து கொள்ள, Modelicaவில், ஒரு classஐ வரையறுக்க உங்களுக்கு தெரிந்து இருக்க வேண்டும்.
00:41 ஏதேனும் programming languageல், functionகள் பற்றி தெரிந்து இருக்க வேண்டும்.
00:46 இதற்கான முன்நிபந்தனை டுடோரியல்கள், எங்கள் வலைதளத்தில் கூறப்பட்டுள்ளன. அவற்றை பார்க்கவும்.
00:52 இப்போது, ஒரு functionஐ விவாதிப்போம்.
00:55 Function, inputஐ எடுத்துக் கொண்டு, outputஐ திருப்பித் தரக்கூடிய ஒரு தனித்திறன் கொண்டclass ஆகும்.
01:01 இது algorithm பிரிவை கொண்டிருக்கிறது.
01:04 ஒரு function, equationகளை கொண்டிருக்க முடியாது, மேலும், அதை simulate செய்ய முடியாது.
01:10 ஒரு functionனின் syntax பின்வருமாறு.
01:15 இப்போது, polynomialEvaluator என்று பெயர் கொண்ட ஒரு functionஐ எழுதுவோம். இது, inputஆக xஐ எடுத்துக் கொண்டு, f(x) = a x (squared) (plus) b x (plus) cஐ outputஆக திருப்பிக் கொடுக்கிறது. இதில், a=1, b=2 மற்றும், c=1.
01:36 PolynomialEvaluator file, எங்களது வலைதளத்தில் உள்ளது.
01:40 Code Files இணைப்பில் இருக்கின்ற எல்லா fileகளையும் download செய்து, சேமிக்கவும்.
01:46 polynomialEvaluator functionஐ விளக்க, OMEditக்கு செல்கிறேன்.
01:52 OMEdit, Welcome perspectiveல், இப்போது திறந்துவிட்டது.
01:56 நான் பெரிதாக்கியுள்ளதால், OMEdit windowன் ஒரு பகுதியை மட்டுமே நீங்கள் காண்கிறீர்கள்.
02:02 தேவையான போதெல்லாம், windowஐ நகர்த்தி, தொடர்புடைய பகுதிகளை நான் உங்களுக்கு காட்டுகிறேன்.
02:09 நீங்கள் தரவிறக்கிய fileகளை திறக்க, Open Model/Library File toolஐ க்ளிக் செய்யவும்.
02:16 நான் எல்லா fileகளையும் ஒரு folderலில் சேமித்துள்ளேன்.
02:19 அவை எல்லாவற்றையும் ஒன்றாக தேர்ந்தெடுத்து, openஐ க்ளிக் செய்கிறேன்.
02:24 இந்த fileகளை, வெவ்வேறு folderகளில் நாம் சேமித்திருந்தால், அவை ஒவ்வொன்றையும் தனித்தனியாக நீங்கள் திறக்கலாம்.
02:31 பின்வரும் classகள் அல்லது folderகள், இப்போது, OMEditல் திறந்திருப்பதை கவனிக்கவும்: bouncingBallWithUserTypes , functionTester ,multipleFunctionTester, multiplePolynomialEvaluator மற்றும்polynomialEvaluator.
02:51 PolynomialEvaluator functionஐ திறந்து, காண, Libraries Browserல் இருக்கின்ற iconஐ ரைட்-க்ளிக் செய்து, View Classஐ தேர்ந்தெடுக்கவும்.
03:02 Function, Text Viewல் திறக்கவில்லையெனில், அதை Text Viewல் திறக்கவும்.
03:08 நாம் முன்பு விவாதித்தது போல், இந்த functionனின் பெயர் polynomialEvaluator ஆகும்.
03:14 x, ஒரு real variable ஆகும்.
03:17 input என்பது, input variableகளை குறிப்பிட பயன்படுத்தப்படும் ஒரு keyword ஆகும்.
03:22 அதே போல், output என்பது, output variableகளை குறிப்பிட பயன்படுத்தப்படும் ஒரு keyword ஆகும்.
03:28 fx, ஒரு real variable ஆகும். இது, f(x)ஐ குறியீட்டுக்காட்டுகிறது.
03:33 inputஉம் ஆக இல்லாமல், outputஉம் ஆக இல்லாமல், இருக்கின்ற எந்த parameter அல்லது variableஉம், protected keywordஐ பயன்படுத்தி குறிப்பிடப்படுகிறது.
03:42 a, 1 மதிப்புடன் கூடிய, ஒரு real parameter ஆகும்.
03:47 a, b மற்றும்cன் மதிப்புகள், ஏற்கனவே slideகளில் விவாதிக்கப்பட்டவையே ஆகும்.
03:53 a, b மற்றும்c, protected parameterகள் என்பதை கவனிக்கவும்.
03:59 Algorithm, ஒரு functionனின், algorithm பகுதியின் தொடக்கத்தை குறியீட்டுக்காட்டுகிறது.
04:05 Algorithm பிரிவு, assignment statementகளை மட்டுமே கொண்டிருக்கலாம்.
04:10 இந்த குறி, assignmentஐ சுட்டிக்காட்டுகிறது.
04:14 ஒரு assignment statementல், வலது பக்கத்தின் மதிப்பு, இடது பக்கத்திற்கு ஒதுக்கப்படுகிறது.
04:20 இடது பக்கம், வழக்கமாக, ஒரு unknown expressionஐ கொண்டிருக்கிறது.
04:25 இந்த caseல், fx, ஒரு unknown variable ஆகும்.
04:29 xன் மதிப்பு தெரிந்தால், வலது பக்க expressionனின் மதிப்பை கணக்கிடலாம்.
04:36 Call செய்யப்படும் போதெல்லாம், வழக்கமாக, x, functionக்கு, ஒரு input argumentஆக கொடுக்கப்படுகிறது.
04:43 இப்போது, functionTester classஐ பயன்படுத்தி, ஒரு functionஐ எப்படிcall செய்வது என்று பார்ப்போம்.
04:49 நான் ஏற்கனவே அதை திறந்துள்ளதால், Libraries Browserல் functionTester iconஐ காண முடியும்.
04:56 இந்த classஐ திறக்க, அதன் iconஐ டபுள்-க்ளிக் செய்யவும்.
05:01 இது, classஐ பார்ப்பதற்கு, ஒரு மாற்று வழியாகும்.
05:05 அதன் icon மீது ரைட்-க்ளிக் செய்தும், View Classஐ நீங்கள் தேர்தெடுக்கலாம்.
05:11 z, ஒருreal variable ஆகும்.
05:14 10 unitகளுடன் கூடிய input argumentஉடன், polynomialEvaluator function call செய்யப்பட்டு, zக்கு சமமாக வைக்கப்படுகிறது.
05:23 polynomialEvaluatorன், input மதிப்பு(variable), அதாவது, x, 10 unitகள் மதிப்பை எடுத்துக் கொள்கிறது.
05:31 இப்போது, இந்த classஐ simulate செய்வோம்.
05:34 இந்த classஐ simulate செய்ய, Libraries Browserல், functionTester iconஐ ரைட்-க்ளிக் செய்து, Simulateஐ நீங்கள் தேர்ந்தெடுக்கலாம்.
05:45 Class, இப்போது simulate செய்துவிட்டது.
05:47 ஒரு classஐ simulate செய்ய, toolbarல் இருக்கின்ற, Simulate பட்டனையும் நீங்கள் பயன்படுத்தலாம்.
05:53 OMEdit windowஐ இடது பக்கம் நகர்த்தி, Plotting perspectiveஐ முழுமையாக இப்போது நான் உங்களுக்கு காட்டுகிறேன்.
06:00 Variables browserல், zஐ தேர்ந்தெடுக்கவும்.
06:04 zன் மதிப்பு, x = 10ல், f(x)ன் மதிப்புக்கு சமமாக இருப்பதை கவனிக்கவும்.
06:12 இப்போது, zஐ de-select செய்து, இந்த முடிவை நீக்குகிறேன்.
06:18 Modeling perspectiveக்கு திரும்பச் செல்கிறேன்.
06:21 மேலிருக்கும், polynomialEvaluator tabஐ க்ளிக் செய்யவும்.
06:25 PolynomialEvaluator function, ஒரு output variableஐ மட்டும் கொண்டிருப்பதை கவனிக்கவும்.
06:31 இப்போது, ஒரு functionஐ பயன்படுத்தி, இரண்டு அல்லது அதற்கும் மேற்பட்ட variableகளை, எப்படி output செய்வது என்று நான் உங்களுக்கு காட்டுகிறேன்.
06:38 multiplePolynomialEvaluator என்று பெயரிடப்பட்ட ஒரு functionஐ நான் உருவாக்கியுள்ளேன். அது இரண்டு output variableகளை கொண்டிருக்கிறது.
06:45 அந்த functionஐ பார்ப்பதற்கு முன்பு, PolynomialEvaluator மற்றும் FunctionTesterனின் tabகளை நான் மூடுகிறேன்.
06:54 Libraries Browser தெரியாததனால், windowஐ வலது பக்கம் நகர்த்துகிறேன்.
07:01 multiplePolynomialEvaluator, multipleFunctionTester மற்றும் bouncingBallWithUserTypesஐ டபுள்-க்ளிக் செய்யவும்.
07:11 Windowஐ மீண்டும் அதன் இடத்திற்கு நகர்த்தவும்.
07:15 MultiplePolynomialEvaluator tabக்கு செல்லவும்.
07:19 ஒரு கூடுதலான output variableஐ தவிர, இந்த function, polynomialEvaluator functionக்கு ஓத்ததேயாகும்.
07:27 ஒரு output variableன் பெயர், gx declare செய்யப்பட்டுள்ளது.
07:32 gxக்கு, a x (squared) (minus) b x (plus) c என்ற மதிப்பு ஓதுக்கப்பட்டுள்ளது.
07:38 Output, அல்லது input variableகள் declare செய்யப்படுகின்ற வரிசைமுறை, முக்கியமானதாகும்.
07:45 multipleFunctionTester classஐ விவாதிக்கும் போது, இதைப் பற்றி மேலும் புரிந்துகொள்வோம்.
07:51 இப்போது, multipleFunctionTester tabக்கு மாறுகிறேன்.
07:56 y மற்றும்z, real variableகளாக declare செய்யப்படுகின்றன.
08:01 10 unitகள் கூடிய, ஒரு input argumentஉடன், multiplePolynomialEvaluator function, call செய்யப்படுகிறது.
08:08 இதன் பொருள், multiplePolynomialEvaluatorன், input variable, 10 unitகள் மதிப்பை எடுத்துக்கொள்கிறது.
08:17 x = 10ல், y மற்றும்z, முறையே, f(x) மற்றும்g(x) மதிப்புகளை எடுத்துக் கொள்கின்றன.
08:26 Functionல், gxனின் declarationக்கு முன், fxனின் declaration வருவதால், y, output variable fxன் மதிப்பை எடுத்துக்கொள்கிறது.
08:37 இப்போது இந்த classஐ simulate செய்கிறேன்.
08:40 Simulate பட்டனை க்ளிக் செய்யவும். Pop up windowஐ மூடவும்.
08:46 Variables browserல், y மற்றும்zஐ தேர்ந்தெடுக்கவும்.
08:51 y மற்றும்zன் மதிப்புகள், x = 10ல், f(x) மற்றும்g(x)கொண்ட மதிப்புகளுக்கு, முறையே, சமமாக இருப்பதை கவனிக்கவும்.
09:01 முடிவை நீக்கி, Modeling Perspectiveக்கு திரும்பச் செல்லவும்.
09:06 இப்போது, y மற்றும் zன் வரிசை முறையை, பரிமாற்றம் செய்கிறேன்.
09:11 (y,z)ஐ நீக்கி, டைப் செய்க: (z,y).
09:17 பின், Ctrl+Sஐ அழுத்தி, இந்த classஐ சேமிக்கவும்.
09:22 இந்த classஐ மீண்டும் simulate செய்யவும். Pop-up windowஐ மூடவும்.
09:28 Variables browserல், மீண்டும், y மற்றும் zஐ தேர்ந்தெடுக்கவும்.
09:33 முந்தைய caseற்கு ஒப்பிடுகையில், y மற்றும் zன் மதிப்புகள், பரிமாற்றப்பட்டுவிட்டன என்பதை கவனிக்கவும்.
09:41 இந்த முடிவை நீக்கி, Modeling Perspectiveக்கு திரும்பச் செல்கிறேன்.
09:47 Slideகளுக்கு திரும்பச் செல்கிறேன்.
09:50 Algorithm, procedural programmingஐ இயலச்செய்வதற்கான, ஒரு Modelica syntax element ஆகும்.
09:56 Algorithm பிரிவில், assignment statementகள் மட்டுமே அனுமதிக்கப்படுகின்றன.
10:01 Assignment statementகள், பின்வரும் குறியை பயன்படுத்துகின்றன.
10:06 Assignment statementகளில், data, வலதிலிருந்து இடப்பக்கம்flow செய்கிறது.
10:10 Modelicaவில் வரையறுக்கப்படுகின்ற functionகளுக்கு, சில குறிப்பிட்ட கட்டுப்பாடுகள் இருக்கின்றன.
10:16 ஒரு functionல், der()ன் பயன்பாடு செல்லுபடியற்றது. time variableன் பயன்பாட்டிற்கு அனுமதி இல்லை.
10:23 ஒரு functionல், when statementகளின் பயன்பாட்டிற்கு அனுமதி இல்லை.
10:28 ஒரு function, ஒன்றுக்கு மேற்பட்ட algorithm பிரிவை கொண்டிருக்க முடியாது, மற்றும், modelகளை, argumentகளாக pass செய்ய முடியாது.
10:36 type, Modelicaவில், custom data-typeகளை வரையறுப்பதற்கு, ஒரு தனித்திறன் கொண்டclass ஆகும்.
10:42 உதாரணத்திற்கு, velocity மற்றும்current போன்ற physical quantityகளை, data-typeகளாக வரையறுக்கலாம்.
10:50 மற்ற variableகளை declare செய்ய, அவற்றை பின்னர் பயன்படுத்தலாம்.
10:54 unit, மற்றும்start போன்ற Modelica data-typeகளின் Attributeகளை, தேவைக்கேற்ப மாற்றலாம்.
11:01 உதாரணத்திற்கு, மேலே உள்ள caseல், velocity, real data typeக்கு ஒத்ததாக வரையறுக்கப்படுகிறது.
11:08 ஆனால், அதன் unit, m/sக்கு மாற்றப்பட்டுள்ளது.
11:12 Type வரையறுப்புகளைsimulate செய்ய, bouncingBallWithUserTypes என்று பெயரிடப்பட்ட ஒரு modelஐ நான் உருவாக்கியுள்ளேன்.
11:19 இந்த modelஐ விளக்க, OMEditக்கு திரும்பச் செல்கிறேன்.
11:24 bouncingBallWithUserTypes tabஐ க்ளிக் செய்யவும்.
11:28 இந்த model, முந்தைய டுடோரியல்களில் விவாதிக்கப்பட்ட bouncingBall modelக்கு ஒத்ததாகும்.
11:35 BouncingBall modelஐ புரிந்துகொள்ள, முன்நிபந்தனை டுடோரியல்களை பார்க்கவும்.
11:41 Unit, mக்கு மாற்றப்பட்டLength, Real datatypeஆக வரையறுக்கப்படுகிறது.
11:47 இவ்வாறே, Unit, m/sக்கு மாற்றப்பட்டvelocity, Realஆக வரையறுக்கப்படுகிறது.
11:54 h, பூமியின் மேற்பரப்பில் இருந்து, பந்து இருக்கின்ற உயரத்தை குறிக்கிறது.
11:58 அது, length datatype என வரையறுக்கப்படுகிறது.
12:02 இதே போல், v, பந்தின் velocityஐ குறியீட்டுக்காட்டுகிறது.
12:05 அது velocity datatypeஆக declare செய்யப்படுகிறது.
12:09 இந்த modelலில், மீதமிருக்கின்ற variable declarationகள் மற்றும் equationகள், bouncingBall modelக்கு ஒத்ததாகும்.
12:18 இப்போது, இதை simulate செய்கிறேன். Pop up windowஐ மூடவும்.
12:24 Variables Browserல், h மற்றும் v, தங்கள் data-typeகளுடன், தங்களுக்குரிய unitகளை கொண்டிருப்பதை கவனிக்கவும்.
12:34 Variables Browserல், hஐ தேர்ந்தெடுக்கிறேன்.
12:38 h versus timeக்கான plot, bouncingBall modelக்கு ஒத்ததாகும்.
12:43 hஐ de-select செய்கிறேன்.
12:46 Slideகளுக்கு திரும்பச் செல்கிறேன்.
12:49 பயிற்சியாக, functionகள் மீதுள்ள கட்டுப்பாடுகளை மீறி, பெறப்படுகின்ற errorகளை கவனிக்கவும்.
12:56 இத்துடன், நாம் இந்த டுடோரியலின் முடிவுக்கு வந்துவிட்டோம்.
12:59 பின்வரும் இணைப்பில் உள்ள வீடியோவை காணவும். http://spoken-tutorial.org/ http://spoken-tutorial.org] /What\_is\_a\_Spoken\_Tutorial. அது, Spoken Tutorial Projectஐ சுருங்க சொல்கிறது.
13:05 ஸ்போகன் டுடோரியல்களை பயன்படுத்தி செய்முறை வகுப்புகள் நடத்துகிறோம்; . எங்களுக்கு மின்னஞ்சல் செய்யவும்.
13:10 இந்த ஸ்போகன் டுடோரியலில் உங்களுக்கு ஏதேனும் கேள்விகள் இருந்தால், வலைத்தளத்தை பார்க்கவும்.
13:15 பிரபலமான புத்தகங்களில் இருந்து, தீர்க்கப்பட்ட உதாரணங்களை code செய்வதை நாங்கள் ஒருங்கிணைக்கிறோம். மேலும் விவரங்களுக்கு, வலைத்தளத்தை பார்க்கவும்.
13:23 Commercial simulator labகளை, OpenModelicaக்கு, இடம் பெயர்க்க நாங்கள் உதவுகிறோம்.
13:29 Spoken Tutorial Projectற்கு ஆதரவு, இந்திய அரசாங்கத்தின், NMEICT, MHRD மூலம் கிடைக்கிறது.
13:36 ஆதரவு அளித்த, OpenModelicaவின் வளர்ச்சிக்கு குழுவிற்கு நாங்கள் நன்றி செலுத்துகிறோம். இந்த டுடோரியலை தமிழாக்கம் செய்தது ஜெயஸ்ரீ..குரல்கொடுத்தது IIT Bombayஇல் இருந்து சண்முகப் பிரியா , நன்றி .

Contributors and Content Editors

Jayashree, Venuspriya