OpenModelica/C2/Control-flow-and-Event-handling/Tamil

From Script | Spoken-Tutorial
Revision as of 10:17, 22 December 2017 by Jayashree (Talk | contribs)

Jump to: navigation, search
Time Narration
00:01 Control flow மற்றும்eventஐ கையாள்வது குறித்த ஸ்போகன் டுடோரியலுக்கு நல்வரவு.
00:07 இந்த டுடோரியலில் நாம் கற்கப்போவது: if-else statementஐ எப்படி பயன்படுத்துவது, time மற்றும்state eventகளை எப்படி கையாள்வது, when statementஎப்படி பயன்படுத்துவது.
00:19 இந்த டுடோரியலை பதிவு செய்வதற்கு, நான், OpenModelica 1.9.2 மற்றும் Ubuntu Operating system பதிப்பு 14.04ஐ பயன்படுத்துகிறேன்.
00:30 ஆனால், இந்த செயல்முறை , Windows ,  Mac OS X அல்லது ARM மீதான FOSSEE OS , போன்ற மற்ற OSயிலும் இவ்வாறே இருக்கிறது.


00:38 இந்த டுடோரியலை புரிந்து கொள்ள, மற்றும் பயிற்சியை செய்ய, பின்வருவானவை உங்களுக்கு தெரிந்து இருக்க வேண்டும்: physical systemகளின், equationஐ அடிப்படையாகக் கொண்டmodeling,
00:47 எந்த programming languageயிலும் உள்ள branching, Modelicaவில், classன் வரையறுப்பு
00:53 இதற்கான முன்நிபந்தனை டுடோரியல்கள், Spoken Tutorial வலைதளத்தில் கூறப்பட்டுள்ளன. அவற்றை பார்க்கவும்.
01:00 முந்தைய டுட்டோரியல்களில், freeFall class, ஏற்கனவே விவாதிக்கப்பட்டுவிட்டது.
01:05 இப்போது, அதற்கு ஒரு constraintஐ சேர்ப்போம்.
01:08 t = 0.5 நொடிகள் வரை, பந்து, ஓய்வு நிலையில் இருக்கிறது. Gravityஉடன் கூடிய free fall, t = 0.5 நொடிகளில் தொடங்குகிறது.
01:19 இந்த conditionஐ simulate செய்கின்ற, timeEventExample என்ற பெயருடைய, ஒரு modelஐ நான் உருவாக்கியுள்ளேன்.
01:25 timeEventExample file, spoken tutorial வலைதளத்தில், Code Files இணைப்பில் உள்ளது.
01:32 Code Files இணைப்பில் இருக்கின்ற எல்லா fileகளையும் download செய்து, சேமிக்கவும்.
01:38 உங்கள் வசதிக்காக, freeFall classஉம் கிடைக்குமாறு செய்யப்பட்டுள்ளது.
01:43 இப்போது, OMEditக்கு செல்கிறேன்.
01:45 நான் எனது கணிணியில் ஏற்கனவே அதை நிறுவிவிட்டேன்.
01:49 Ubuntu Operating Systemல், OMEditஐ திறக்க, மேல் இடது மூலையில் இருக்கின்ற, Dash Home iconஐ க்ளிக் செய்யவும்.
01:58 Search barல் டைப் செய்க: OMEdit, பின், OMEdit iconஐ க்ளிக் செய்யவும். நான் திரும்பச் செல்கிறேன்.
02:06 குறிப்பு: Windowsஐ பயன்படுத்துவார்கள், OMEditஐ , Start menuவில், இவ்வாறே தேடி, பின், திறக்கலாம்.
02:13 TimeEventExample fileஐ திறக்க, Open Model/Library File என்று பெயரிடப்பட்ட tool ஐ க்ளிக் செய்யவும்.
02:21 உங்கள் கணிணியில், timeEventExample fileஐ கண்டுபிடித்து, Openஐ க்ளிக் செய்யவும்.
02:28 இந்த fileஐ திறக்க, மாறாக, நீங்கள் File menuஐ பயன்படுத்தலாம்.
02:34 timeEventExample, Libraries browserல் தோன்றிவிட்டதை கவனிக்கவும்.
02:39 இந்த iconஐ ரைட்-க்ளிக் செய்து, View classஐ தேர்ந்தெடுக்கவும்.
02:44 Model இப்போது, Diagram viewல் திறந்துவிட்டது.
02:47 மூன்றாவது பாட்டனான, Text Viewஐ க்ளிக் செய்யவும்.
02:51 Modelicaவில், model மற்றும்class, ஒரே பொருள் கொண்டதாகப் பிரயோகப்படுத்தப்படுகிறது என்பதை நாம் ஏற்கனவே விவாதித்துவிட்டோம்.
02:58 இந்த modelன் பெயர், timeEventExample ஆகும்.
03:02 இவை போன்ற Commentகள், ஒரு model அல்லது classன் , முதல் வரியில் எழுதப்படலாம்.
03:08 FreeFall classல் இருப்பது போல், h, v மற்றும்g, அதே quantityகளை குறியீட்டுக் காட்டுகிறது.
03:16 Initial equation பகுதி, initial conditionகளை கொண்டிருக்கிறது.
03:21 நேரம்t = 0ல், hன் மதிப்பு, 30m ஆகும்.
03:26 நேரம்t = 0ல், vன் மதிப்பு, 0 ஆகும்.
03:31 இந்த modelன், equation பகுதியின் தொடக்கத்தை, Equation குறிக்கிறது.
03:36 இப்போது, slideகளில் விளக்கப்பட்டுள்ள, constraintஐ எப்படி சேர்ப்பது என்று பார்ப்போம்.
03:43 கட்டப்பட்டுள்ளபடி, equation பிரிவில், ஒரு if-else block இருப்பதை கவனிக்கவும்.
03:48 இந்த if-else blockன், ஒவ்வொரு statementஐயும் புரிந்துகொள்ள முயற்சிப்போம்.
03:53 if statement, time variableன் மீது, ஒரு constraintஐ வைக்கிறது.
03:58 Time, Modelicaவில் உள்ள ஒரு built-in variable ஆகும்.
04:01 அதை, ஒரு class அல்லது modelலில், வெளிப்படையாக, declare செய்ய வேண்டாம்.
04:06 0.5 நொடிகளுக்குப் பிறகு, பந்து, ஒரு free fallஐ அனுபவிக்கிறது.
04:12 அதனால், இந்த இரண்டு equationகளும், freeFall classல் உள்ள அதே equationகளை வர்ணிக்கிறது.
04:19 நேரம், 0.5 நொடிகளுக்கும் குறைவாக இருக்கும் போது, தான் கொண்டிருக்கின்ற equationகளை, else branch, செயல்படுத்துகிறது.
04:27 நேரம், 0.5 நொடிகளுக்கும் குறைவாக இருக்கும் போது, பந்து, ஓய்வு நிலையில் இருக்கிறது.
04:32 அதனால், அவ்வாறு இருக்கும் போது, இந்த இரண்டு equationகளும் சரியாகப் பொருந்தும்.
04:36 end if, if-else blockன் முடிவைக் குறிக்கிறது.
04:41 Model இப்போது, முடிவடைந்துவிட்டது.
04:44 Simulate பட்டனை க்ளிக் செய்து, அதை simulate செய்வோம்.
04:48 Plotting perspective, இப்போது திறந்துவிட்டது.
04:51 Variables browserல், hஐ தேர்ந்தெடுக்கவும்.
04:55 இது, h versus time plotஐ உருவாக்குகிறது.
04:58 நேரம், t=0.5 நொடிகளுக்கு, பந்து, ஓய்வு நிலையில் இருப்பதால், உயரம், நிலையாக இருக்கிறது.
05:06 முடிவை நீக்க, Variables browserல், timeEventExampleஐ ரைட்-க்ளிக் செய்து, Delete Resultஐ தேர்ந்தெடுக்கவும்.
05:15 Modeling perspectiveக்கு திரும்பிச் செல்ல, கீழ் வலது பக்கத்தில் இருக்கின்ற, Modeling பட்டனை க்ளிக் செய்யவும்.
05:21 இப்போது, else branchல், இரண்டாவது equationஐ நீக்குகிறேன்.
05:26 இந்த modelஐ சேமிக்க, tool barல் இருக்கின்றSave பட்டனை க்ளிக் செய்யவும்.
05:31 Simulateஐ க்ளிக் செய்யவும்.
05:34 Simulation தோல்வியடைந்துவிட்டது.
05:37 Error messageஐ காண, Messages browserக்கு சென்று, மேலே scroll செய்யவும்.
05:42 ஒவ்வொரு branchலும் இருக்கின்ற equationகளின் எண்ணிக்கை, சமமாக இருக்க வேண்டும் என்று error message கூறுகிறது.
05:49 அதனால், if மற்றும், else branchகளில் இருக்கின்ற equationகளின் எண்ணிக்கை, variableகளின் எண்ணிக்கைக்கு சமமாக இருக்க வேண்டும்.
05:58 Equationஐ திரும்ப அதன் இடத்தில் புகுத்தி, பின், Save பட்டனை க்ளிக் செய்கிறேன்.
06:05 der(h) = v என்றequation, if மற்றும்else branchகள் இரண்டிற்கும் பொதுவானதாகும் என்பதை கவனிக்கவும்.
06:14 அதனால், if-else blockகுக்கு பதிலாக இரண்டு statementகளை வைக்கலாம்.
06:20 அது எப்படி செய்யப்படுகிறது என்று நான் உங்களுக்கு காட்டுகிறேன்.
06:23 முதலில், if-else blockஐ நீக்கவும்.
06:26 இங்கு டைப் செய்யப்பட வேண்டிய equationகள், if else-statement.txt என்று பெயரிடப்பட்ட ஒரு fileலில் கொடுக்கப்பட்டுள்ளது.
06:34 இந்த file, Code Files இணைப்பிலும் கிடைக்கிறது.
06:39 அது ஒரு text file என்பதால், அதை திறக்க, நான் geditஐ பயன்படுத்தியுள்ளேன்.
06:45 நான் geditக்கு செல்கிறேன்.
06:47 Windowsஐ பயன்படுத்துபவர்கள், Notepad அல்லது வேறு ஏதேனும் text editorஐ பயன்படுத்தி, இந்த fileஐ திறக்கலாம்.
06:54 இரண்டு equationகளையும் copy செய்யவும்.
06:57 OMEditக்கு திரும்பச் செல்லவும்.
07:00 ரைட்-க்ளிக் செய்து, Pasteஐ தேர்ந்தெடுக்கவும்.
07:04 Toolbarல் இருக்கின்ற, Save பட்டனை மீண்டும் க்ளிக் செய்யவும்.
07:08 Simulateஐ க்ளிக் செய்யவும்.
07:11 Pop up windowஐ மூடவும்.
07:14 Variables browserல், hஐ மீண்டும் தேர்ந்தெடுக்கவும்.
07:18 h versus time plotஉம், முந்தைய caseஉம் ஒன்றாக இருக்கிறது. இது, இரண்டு modelகளும் ஒன்றே என்று குறிப்பதை கவனிக்கவும்.
07:27 முடிவை நீக்க, timeEventExampleஐ ரைட்-க்ளிக் செய்து, Delete Resultஐ தேர்ந்தெடுக்கவும்.
07:34 கீழ் வலது பக்கத்தில் இருக்கின்ற, Modeling பட்டனை க்ளிக் செய்யவும்.
07:38 இது ஒரு if-else statement. time >= 0.5ஆக இருந்தால், dv/dt = g, இல்லையெனில், dv/dt = 0 என்பதை இது குறிக்கிறது.
07:52 இப்போது, slideகளுக்கு திரும்புகிறேன்.
07:55 if branchன், equationகளின் எண்ணிக்கையும், else branchன், equationகளின் எண்ணிக்கையும், சமமாக இருக்கவேண்டும் என்பதை கவனிக்கவும்.
08:03 மேலும், அவை இரண்டும், class அல்லது modelலில் இருக்கின்ற variableகளின் எண்ணிக்கைக்கு சமமாக இருக்கவேண்டும்.
08:10 ஒரு systemன் நடத்தையில் ஏற்படுகின்ற திடீர் மாற்றமே, event ஆகும்.
08:15 Eventகளை, time eventகள் மற்றும் state eventகள், என்று வகைப்படுத்தலாம்.
08:20 ஒரு time eventல், event நிகழ்கின்ற நேரம் துல்லியமாக தெரியப்படும்.
08:25 t = 0.5 நொடிகளில், ஒரு time eventஐ , timeEventExample கையாள்கிறது.
08:32 ஒரு system variable, ஒரு குறிப்பிட்ட மதிப்பை தாண்டும் போது, state event நிகழ்கிறது.
08:38 State eventகளை, ஒரு உதாரணத்தை பயன்படுத்தி, புரிந்துகொள்ள முயற்சிப்போம்.
08:43 Free fallலில், ஒரு பந்து, தரையை தொடும் போது, ஒரு state eventஐ எதிர்கொள்கிறது.
08:48 அது தரையை தொடும் போது, பின்வரும் நடத்தை கவனிக்கப்படுகிறது.
08:52 பந்தின் velocity, திசை திரும்புகிறது.
08:55 மோதல், inelasticஆக இருந்தால், velocityன் magnitude, மாறுகிறது.
09:00 இந்த நடத்தையை simulate செய்ய, bouncingBall என்ற பெயரைக் கொண்ட, ஒரு modelஐ நான் உருவாக்கியுள்ளேன்.
09:06 இந்த file, Spoken Tutorial வலைத்தளத்தில் கிடைக்கிறது.
09:10 இந்த modelஐ பார்க்க, மற்றும் simulate செய்ய, OMEditக்கு திரும்பச் செல்கிறேன்.
09:15 OpenModel/LIbrary File toolஐ க்ளிக் செய்யவும்.
09:19 உங்கள் கணிணியில், bouncingBall fileஐ கண்டுபிடித்து, Openஐ க்ளிக் செய்யவும்.
09:25 Libraries browserல், bouncingBall iconஐ ரைட்-க்ளிக் செய்து, View Classஐ தேர்ந்தெடுக்கவும்.
09:33 Model, Text View,ல் திறக்கவில்லையெனில், modeling areaவின் மேலுக்கு சென்று, Text View பட்டனை க்ளிக் செய்யவும்.
09:41 பந்திற்கு , பூமியுடன் நடந்த inelastic மோதலுக்கான, restitutionனின் coefficient, e ஆகும்.
09:48 அது ஒரு parameter, மற்றும், simulation முழுவதும் அதன் மதிப்பு, 0.8ல் நிலையாக இருக்கிறது.
09:56 radius, பந்தின் radiusஐ , mல் வர்ணிக்கிறது.
10:00 timeEventExampleல் இருந்தது போல், h, v மற்றும் g, அதே quantityகளை குறியீட்டுக்காட்டுகிறது.
10:07 Motionகளின், இந்த இரண்டு equationகள், freeFall classல் ஏற்கனவே விவாதிக்கப்பட்டுள்ளன.
10:13 when statement, ஒரு eventஐ சமிக்ஞை செய்ய பயன்படுத்தப்படுகிறது.
10:17 ஒரு event நிகழும் போது செய்யப்படவேண்டிய நடவடிக்கையை குறிப்பிட அது பயன்படுத்தப்படுகிறது.
10:22 பந்து, பூமியுடன் தொடர்பு கொண்டிருக்கும் போது, h <= radius, trueஆக இருக்கிறது.
10:29 Event நிகழும் போதெல்லாம், இந்த statement, இயக்கப்படுகிறது.
10:34 reinit() function, ஒரு variableஐ மீண்டும் initialize செய்ய பயன்படுத்தப்படுகிறது.
10:39 இங்கு, இது, பந்தின் velocityஐ , eன் negative product, மற்றும், பந்து, பூமியை தொடுவதற்கு முன் கொண்டிருந்த velocityஉடன் மீண்டும் initialize செய்கிறது.
10:49 இந்த modelஐ simulate செய்ய, toolbarல் இருக்கின்றSimulation Setup பட்டனை க்ளிக் செய்யவும்.
10:55 General tabன் கீழ், Stop Time fieldஐ , 30 unitகளுக்கு மாற்றி, Simulateஐ க்ளிக் செய்யவும்.
11:04 Pop-up windowஐ மூடவும்.
11:06 Variables browserல், hஐ தேர்ந்தெடுக்கவும்.
11:10 h பூஜ்யத்திற்கும் கீழே இறங்குகிறது. இது ஏற்றுக்கொள்ள முடியாததாகும்.
11:16 freeFall classஐ simulate செய்யும் போதும், இதே மாதிரி நடத்தையை நாம் பார்த்தோம்.
11:21 இந்த தவறான நடத்தை, எண் சார்ந்த errorகளினால் ஏற்படுகிறது.
11:25 எண் சார்ந்த errorகள் பற்றிய ஒரு விவாதம், இந்த டுடோரியலுக்கு அப்பாற்பட்டது.
11:30 நன்கு புரிந்துகொள்ள, bouncing ballன், Zeno நடத்தையை பார்க்கவும்.
11:36 நான் hஐ de-select செய்கிறேன்.
11:39 Slideகளுக்கு திரும்புவோம்.
11:42 when statement, ஒரு eventஐ சமிக்ஞை செய்ய பயன்படுத்தப்படுகிறது.
11:45 reinit(a,b), bன் மதிப்பை, variable aக்கு ஒதுக்கி, simulationஐ மீண்டும் தொடர்கிறது.
11:54 pre(a), eventற்கு முன் இருந்த variable aன் மதிப்பை, கொடுக்கிறது.
11:59 உதாரணத்திற்கு, event நிகழும் போது, reinit(a, 10), aக்கு, 10 மதிப்பை ஒதுக்குகிறது.
12:08 BouncingBall modelன் தவறான நடத்தை, bouncingBallWithHysteresisல் திருத்தப்படுகிறது.
12:15 BouncingBallWithHysteresis model, spoken tutorial வலைதளத்தில் கிடைக்கிறது.
12:21 BouncingBallWithHysteresisஐ simulate செய்து, h versus time plotஐ உருவாக்கவும்.
12:27 BouncingBall மற்றும்bouncingBallWithHysteresisக்கும் இடையே உள்ள வேறுபாட்டை கவனிக்கவும்.
12:33 இத்துடன், நாம் இந்த டுடோரியலின் முடிவுக்கு வந்துவிட்டோம்.
12:36 பின்வரும் இணைப்பில் உள்ள வீடியோவை காணவும்.http://spoken-tutorial.org/ http://spoken-tutorial.org] /What\_is\_a\_Spoken\_Tutorial
12:40 அது, Spoken Tutorial திட்டத்தை சுருங்க சொல்கிறது.
12:42 நாங்கள் ஸ்போகன் டுடோரியல்களை பயன்படுத்தி செய்முறை வகுப்புகள் நடத்துகிறோம்; சான்றிதழ்கள் தருகிறோம். எங்களுக்கு மின்னஞ்சல் செய்யவும்.
12:48 இந்த ஸ்போகன் டுடோரியலுக்கு தொடர்புடைய கேள்விகள் உங்களுக்கு ஏதேனும் இருந்தால், பின்வரும் வலைத்தளத்தை பார்க்கவும்.
12:55 Textbook Companion Projectன் கீழ், பிரபலமான புத்தகங்களில் இருந்து, தீர்க்கப்பட்ட உதாரணங்களை code செய்வதை நாங்கள் ஒருங்கிணைக்கிறோம்.
13:03 இதை செய்பவர்களுக்கு, நாங்கள், மதிப்பூதியம், மற்றும் சான்றிதழ்கள் தருகிறோம். மேலும் விவரங்களுக்கு, பின்வரும் வலைத்தளத்தை பார்க்கவும்.
13:10 Lab Migration Projectன் கீழ், commercial simulator labகளை, OpenModelicaக்கு, இடம் பெயர்க்க நாங்கள் உதவுகிறோம்.
13:17 மேலும் விவரங்களுக்கு, வலைத்தளத்தை பார்க்கவும்.
13:21 Spoken Tutorial Projectற்கு ஆதரவு, இந்திய அரசாங்கத்தின், NMEICT, MHRD மூலம் கிடைக்கிறது.
13:28 ஆதரவு அளித்த, OpenModelicaவின் வளர்ச்சிக் குழுவிற்கு நாங்கள் நன்று செலுத்துகிறோம்.
13:33 இந்த டுடோரியலை தமிழாக்கம் செய்தது ஜெயஸ்ரீ..குரல்கொடுத்தது IIT Bombayஇல் இருந்து சண்முகப் பிரியா , நன்றி .
|

Contributors and Content Editors

Jayashree, Priyacst, Venuspriya