Math functions (கணித செயல்பாடுகள்)


8.1 Number conversion (எண்களை மாற்றுதல்)
      Mathematical function என்பது கணிதவியல் கோட்பாடுகளை செய்வதற்கு பயன்படுவதேயாகும்.பின்வரும் function ஆனது கணிதவியல் கோட்பாடுகளை எடுத்துரைக்கிறது.

8.1.1 Decimal எண்களை binary ஆக மாற்றுதல் :
Decimal என்பது சாதாரணமான முழு எண்களையே decimal எங்கிறோம்.binary என்பது bit-களை மட்டும் கொண்டது.அதாவது 0 மற்றும் 1 எங்கிற மதிப்பை மட்டுமே கொண்டது.decimal to binary conversion என்பது சாதாரணமான முழு எண்களை 0 மற்றும் 1 எங்கிற மதிப்பாக மாற்றுவதாகும். பின்வரும் எடுத்துக்காட்டு இதனை நன்கு விளக்கும்.
உதாரணமாக :
இதில் a=10,இவை binary ஆக மாறுவதற்கு bin() என்கிற function ஆனது பயன்படுகிறது.0b என்பது binary data-வை கூறுவதாகும்.1010 ஆனது 10-க்கு இணையான binary data ஆகும்.அதேபோன்று c-ல் binary data ஆனது store செய்யபடுகிறது. c-ல் store செய்துள்ள தரவை பார்க்கும் போது binary-க்கு இணையான முழுஎண் கிடைப்பதை காணலாம்.d-ல் binary data-வை கூறி முழுஎண்ணை store செய்கிறது. இவை binary format என்று இல்லாததால் error காண்பிக்கப்படுகிறது.
8.1.2 Decimal எண்களை octal ஆக மாற்றுதல் :
octal என்பது 0 முதல் 7 வரையில் உள்ள எண்களை பயன்படுத்தினால் அது octal எங்கிறோம்.octal-ன் base அதாவது அடிமானம் 8 ஆகும். decimal to octal conversion என்பது சாதாரணமான முழு எண்களை 0 முதல் 7 வரையிலான எண்மதிப்பாக மாற்றுவதேயாகும்.
இதில் a=15,இவை octal ஆக மாறுவதற்கு oct() என்கிற function ஆனது பயன்படுகிறது.0o17 என்பது octal data-வை கூறுவதாகும்.17 ஆனது 15-க்கு இணையான octal data ஆகும்.அதேபோன்று c-ல் octal data ஆனது store செய்யபடுகிறது.c-ல் store செய்துள்ள தரவை பார்க்கும் போது octal-க்கு இணையான முழுஎண் கிடைப்பதை காணலாம்.d-ல் octal data-வை கூறி முழுஎண்ணிணை store செய்கிறது.இவை octal format-க்கு இணையாக இல்லாததால் error காண்பிக்கப்படுகிறது.

8.1.3 Decimal எண்களை hexadecimal ஆக மாற்றுதல் :
hexadecimal என்பது 0 முதல் 9 வரையிலும்,A முதல் F வரையிலும் உள்ள எண்களை பயன்படுத்தினால் அது hexadecimal எங்கிறோம். hexadecimal -ன் base அதாவது அடிமானம் 16 ஆகும். decimal to hexadecimal conversion என்பது சாதாரணமான முழு எண்களை 0 முதல் F வரையிலான எண்மதிப்பாக மாற்றுவதேயாகும்.
இதில் a=25,இவை hexadecimal ஆக மாறுவதற்கு hex() என்கிற function ஆனது பயன்படுகிறது.0x19 என்பது hexadecimal data-வை கூறுவதாகும்.25 ஆனது 19-க்கு இணையான hexadecimal data ஆகும்.அதேபோன்று c-ல் hexadecimal data ஆனது store செய்யபடுகிறது.c-ல் store செய்துள்ள தரவை பார்க்கும் போது hexadecimal -க்கு இணையான முழுஎண் கிடைப்பதை காணலாம்.
உதாரணமாக பின்வரும் அட்டவணையானது decimal,binary,octal மற்றும் hexadecimal-க்கு இணையான பட்டியல் கீழே கொடுக்கபட்டுள்ளது.


Decimal(0-9)Binary(0-1)Octal(0-7)Hexadecimal(0-F)
0000
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F
8.2 basic function
abs():
      abs என்பது absolute மதிப்பினை positive ஆக மாற்றுவதற்குஉதவுவதே abs function.
 
இங்கு abs என்கிற function-ல் -100 என்று கொடுக்கப்படுகிறது.ஆகவே abs function ஆனது 100 என்பதைக் கொடுக்கிறது.அவ்வாறே negative float-ம் positive ஆக மாற்றி கிடைக்கும்.

ceil()
ceil என்கிற function-ஐ நேரடியாக ப்யன்படுத்த முடியாது.ceil ஆனது math எங்கிற file-ல் உள்ள function ஆகும்.இதனை பயன்படுத்தும் போது math என்கிற file-ல் ceil என்பதினை import செய்ய வேண்டும்.ceil என்பது float-ஐ முழுஎண்ணாக மாற்றுவதேயாகும்.

-5-4-3-2-1012345
வலது ->
ceil(4.1) என்று இருந்தால் 4-க்கு அடுத்துள்ள முழு எண் 5 என்று கிடைக்கும்.அதேபோல் ceil(-4.9) என்றால் வலது பக்க முழுஎண் -4 என்றுதான் கிடைக்கும்.
del :
Number objects என்பது எதாவது variable-க்கு மதிப்பினை தருவதேயாகும். உதா: a-ல் 10-ம் b-ல் 20-ம் store செய்யப்படுகிறது.இதில் del என்பது store செய்யப்பட்டுள்ள variable-ஐ remove செய்வதற்கு பயன்படுகிறது.del b என்பது b variable-ஐ remove செய்துவிடும்.
exp():
exp என்கிற function ஆனது exponential என்பதாகும்.இதனை நேரடியாக பயன்படுத்த முடியாது.இதையும் ceil-ஐ போன்றே பயன்படுத்தமுடியும்.ex என்பதையே exponential function செய்கிறது.

fabs():
fabs என்கிற function ஆனது abs function-ஐ அப்படியே கொண்டதாகும் ஆனால் abs ஆனது interger ஆகவும் fabs ஆனது float ஆகவும் கிடைக்கும்.abs-ஐ நேரடியாக பயன்படுத்தலாம்.ஆனால் fabs ஐ நேரடியாக பயன்படுத்த முடியாது. fabs ஐ நேரடியாக பயன்படுத்துவதற்கு math file-ல் fabs-ஐ import செய்தால் நேரடியாக பயன்படுத்த முடியும். (>>>  from math import fabs)
floor():
floor  என்கிற function-ஐ நேரடியாக ப்யன்படுத்த முடியாது.floor ஆனது math எங்கிற file-ல் உள்ள function ஆகும்.இதனை பயன்படுத்தும் போது math என்கிற file-ல் floor என்பதினை import செய்ய வேண்டும்.floor என்பது float-ஐ முழுஎண்ணாக மாற்றுவதேயாகும்.
log(): 
log என்பது கணிதவியலில் logarithm function-ஐ செயல்படுத்துவதற்கு உதவுகிறது. இதனை பயன்படுத்தும் போது math என்கிற file-ல் log என்பதினை import செய்ய வேண்டும்.
log10():
log10 என்பது கணிதவியலில் logarithm function-ல் base 10-னை செயல்படுத்துவதற்கு உதவுகிறது. இதனை பயன்படுத்தும் போது math என்கிற file-ல் log10 என்பதினை import செய்ய வேண்டும்.
max()
max என்பது argument-ல் மிக பெரிய மதிப்பினை குறிப்பிடுவதற்கு உதவுவதே max function ஆகும்.இவை list மற்றும் tuple-லிலும் செயல்படும்.
min()
min என்பது argument-ல் மிக சிறிய மதிப்பினை குறிப்பிடுவதற்கு உதவுவதே min function ஆகும்.இவை list மற்றும் tuple-லிலும் செயல்படும்.
modf():
      modf  கொடுக்கபட்ட fractional number-யினை integer மற்றும் fractional number ஆக மாற்றுகிறது.
pow() :
pow என்கிற function power(அடுக்காகும்) என்பதாகும்.XY என்பது X-ன் அடுக்கு Y.இதனை pow(x,y) என்று பயன்படுத்த வேண்டும் அல்லது x**y என்று கூட பயன்படுத்தலாம்.
pow(2,8)=28 என்பது 256 ஆகும்.அதேபோன்று 100-2 என்பது 0.0001 கிடைக்கும்.இதனையே ** பயன்படுத்தி pow function-ல் உள்ள விடையே கிடைப்பதை காணலாம்.
round():
round function ஆனது mathematical function-ல் ஒன்று.இவ்வகை function ஆனது float-னை முழு எண்ணாக மாற்றுவதற்கு இவை உதவுகிறது.
sqrt() :
sqrt -ஐ நேரடியாக பயன்படுத்த முடியாது.sqrt ஆனது math என்ற file-ல் உள்ள function ஆகும். இதனை பயன்படுத்தும் போது math என்கிற file-ல் sqrt  import செய்ய வேண்டும்.
Mathematical constant :
Constant என்பது கணிதத்தில் நிலையாக பயன்படுத்த கூடியமதிப்பாகும்.பைத்தானில் இரு mathematical constant ஆனதுபயன்படுத்துகிறோம்.அவை e மற்றும் pi என்பதாகும்.இவற்றை பயன்படுத்துவதற்கு முன் math-னை import செய்ய வேண்டும்.

while


while-ல் உள்ள condition True ஆக இருக்கும் வரை while-க்கு கீழ் உள்ள அனைத்தும் run ஆகிக் கொண்டே இருக்கும். condition தவறாகும் போது  while loop செயல்படாது.

While Loop Syntax Python

while condition:
    Body of while

While Loop Example in Python


count = 0
while count < 10:
    print(count)
    count += 1  

Output

0
1
2
3
4
5
6
7
8
9


Example 2)
உதாரணம் 3:
var = 10
while var > 0:
print (‘Current variable value :’, var)
var = var -1
print(“Good bye”)

var என்ற variable-ல் 10 என்பது store செய்யப்படுகிறது.var என்ற variable-ன் மதிப்பானது while loop-ல் 0-வை விட பெரியதா என்று check செய்து கீழே உள்ள statement ஆனது செயல்படுத்தபடும்.      var என்ற variable-ன் மதிப்பானது ஒன்றன் கீழ் ஒன்றாக குறைக்கப்பட்டு வரும் 0 என்றதும் while loop ஆனது முற்றிலுமாக முடிந்து “good bye” என்று display செய்யப்படும்.இதன் வெளிப்பாட்டைபடத்தில் காணலாம்.

While loop என்றால் என்ன?

ஒரு condition true வாக இருக்கும் வரையில் குறிப்பிட்ட statement களை திரும்பத்திரும்ப execute செய்ய while loop பயன்படுகிறது.


இதையேதான் for loop செய்கிறதே, பின்பு அதற்கும் இதற்கும் என்ன வித்தியாசம் என்று கேட்கிறீர்களா? வித்தியாசம் இருக்கிறது. For loop வேலை செய்வதற்கு ஆரம்ப எண்ணும் முடிவு எண்ணும் அவசியம் தேவை. ஆனால் while loopபிற்கு ஆரம்ப எண், முடிவு எண் அவசியமில்லை, தேவையானால் வேறுவகையில் பயன்படுத்திக் கொள்ளலாம்.

While loop பின் syntax

WHILE this_boolean_condition_is_true
BEGIN
  execute these statements
  your statements here
END

மேலே இருக்கும் while loop எப்படி வேலை செய்கிறதென்பதை இனி பார்ப்போம்.

while loop, mohamed riyadul faridh, new era technology, do while loop

step 1 : முதலில் this_boolean_condition_is_true என்பது true ஆக இருக்கிறதா? இல்லை false ஆக இருக்கிறதா? என்பது evaluate செய்யப்படுகிறது.

step 2 : ஒருவேளை step 1 னுடைய result false ஆக இருந்தால் begin மற்றும் end டுக்கு நடுவில் இருக்கும் statement கள் execute செய்யப்படாது. end டுக்கு அடுத்துள்ள part க்கு control சென்று விடும்.

step 3: ஒருவேளை step 1 னுடைய result true ஆக இருந்தால் begin மற்றும் end டுக்கு நடுவில் இருக்கும் statement கள் execute செய்யப்படும். பின்னர் மீண்டும் step 1 க்கு control செல்லும்.

இப்படியாக this_boolean_condition_is_true என்பது true ஆக இருக்கும் வரை while loop தனக்குள் இருக்கும் statement களை திரும்பத்திரும்ப execute செய்துகொண்டேயிருக்கும்.

இப்படியே execute செய்துகொண்டிருந்தால் endless loop ஆக ஆகிவிடுமே? program hang ஆக விடுமே என்ற கேள்வி எழும். உண்மைதான் for loop ஐ போன்று இத்தனை முறை execute செய்துவிட்டு வெளியேறிவிடு என்று இதில் நாம் எழுதப்போவதில்லை. பிறகு எப்படி while loop முடிவுக்கு வருகிறது?

while loop ல் statement எழுதுகிறோம் அல்லவா? அங்குதான் while loop பின் முடிவு எல்லை எதுவென்று தீர்மானிக்கப்படுகிறது.

அதாவது while loop execute ஆகினால் ஏதாவது ஒன்று நடக்கும் அல்லவா? அந்த ஒன்றின் அடிப்படையில் while loop ஐ தொடர்வதா வேண்டாமா என்பதை நம்மால் தீர்மானிக்க முடியும்.

உதாரணத்திற்கு உங்கள் ஊரில் தண்ணீர் பஞ்சம் வந்துவிட்டதென்று வைத்துக்கொள்வோம். பிரச்சினை தீர  கிணறு ஒன்று வெட்ட முடிவாகிவிட்டது. ஊரில் நீங்கள்தான் படித்தபிள்ளை என்று கிணறு வெட்ட உங்களிடம் plan கேட்கிறார்கள். இப்பொழுது நீங்கள் algorithm எழுதவேண்டும்.

எப்படி எழுதுவீர்கள்?

1. கிணறு வெட்ட வேண்டிய இடத்தை தேர்வு செய்யவும்.
2. இத்தனை அடி ஆழம் கிணறு வெட்டவும்.

இந்த பிளானை கொடுத்தவுடன், எத்தனை அடி வெட்டனும் தம்பின்னு கேட்பார்கள். நீங்க 10 அடின்னு சொல்றீங்க. 10 அடி ஆழத்தில் தண்ணீர் கிடைத்துவிடும் என்று எப்படி தம்பி சொல்றீங்க? ஒருவேளை கிடைக்கலைன்னா என்ன செய்யறது?

அவர்கள் கேள்வி நியாயமாக இருக்கிறது.

10 அடிதான் கிணறு வெட்ட வேண்டும் என்பதை முன்னரே தீர்மானிக்க இயலாது என்பதுதான் யதார்த்தமான உண்மை (ஆனால் for loop புக்கு முடிவு எல்லை ஆரம்பத்திலேயே தீர்மானிக்கப்பட்டுவிடுகிறது என்பதை கவனத்தில் கொள்ளவும்). பின்னே இந்த மாதிரி வேலைகளுக்கு முடிவு எல்லையை எப்படி வரையறுப்பது?

லாஜிக் இல்லாமல் எவராலும் கிணறு வெட்ட முடியாது. சரி யோசிப்போம்...

சரி 20 அடி என்று மாற்றுவீர்களா? இதிலும் அதே பிரச்சனை உள்ளது.

பின்னே எப்படித்தான் கிணறு வெட்ட algorithm எழுதுவது?

1. கிணறு வெட்ட வேண்டிய இடத்தை தேர்வு செய்யவும்.
2. தண்ணீர் கிடைக்கும் வரை கிணறு வெட்டவும்.

சூப்பர்! இதைத்தான் யதார்த்தமாக யோசிப்பது என்பது.

மேலோட்டமாக இருக்கும் 2 ஆவது step ல் பல விசயங்கள் அடங்கியுள்ளன. அவற்றை விவரித்து எழுதினால் தான் while loop ஐ பற்றி நன்றாக அறிந்துகொள்ளமுடியும்.

எப்படி விவரித்து எழுதுவது?
யோசியுங்கள்....

1. கிணறு வெட்ட வேண்டிய இடத்தை தேர்வு செய்யவும்.
2. தண்ணீர் கிடைக்கும் வரை
  2.1. பள்ளம் தோண்டவும்
  2.2. ஒருவேளை தண்ணீர் கிடைத்து விட்டால் தோண்டுவதை நிறுத்தவும்
 2.3 ஒருவேளை 200 அடி ஆழம் வரை தோண்டியும் தண்ணீர் கிடைக்கவில்லையென்றால் தோண்டுவதை நிறுத்தவும்

எவ்வளவு எதார்த்தமான வழிமுறை பார்த்தீர்களா? இதில் ஏதாவது கற்பனை இருக்கிறதா?

அவ்வளவுதான் இப்போது லாஜிக் கிடைத்துவிட்டது.

இதை while loop பயன்படுத்தி எழுதுவோமா?

while  தண்ணீர் கிடைக்கும் வரை 
begin
    பள்ளம் தோண்டவும்
    ஒருவேளை தண்ணீர் கிடைத்து விட்டால் தோண்டுவதை நிறுத்தவும்
  ஒருவேளை 200 அடி தோண்டியும் தண்ணீர் கிடைக்கவில்லையென்றால் தோண்டுவதை நிறுத்தவும்
end

இங்கு 200 அடி என்பது எங்கள் ஊர் மக்கள் எவ்வளவு அடி அதிகபட்சம் வெட்டுவார்கள் என்பதை தெரிவித்ததால் அப்படி போட்டுள்ளேன். மற்றபடி அவரவர் தேவைக்கேற்ப முடிவு எல்லை மாறுபடும்.

while loop example, how while loop works, j.m.r.faridh


இப்பொழுது while loop நமது வாழ்வில் எப்படி பயன்படுத்தப்படுகிறது என்பது தெரிகிறதா? இது ஒரு உதாரணம்தான் இன்னும் நிறைய உதாரணங்கள் இருக்கின்றன. விரிவஞ்சி இதை மட்டும் சொல்கிறேன்.

இந்த மாதிரி விசயத்துக்கு for loop சரிப்பட்டு வராது என்பது இப்பொழுது உங்களுக்கு புரிந்திருக்கும் என்று நம்புகின்றேன்.

while loop ஐ பற்றி தெரிந்துகொள்ள இன்னும்நிறைய விசயங்கள் உள்ளன. அவற்றை அடுத்த பாகத்தில் பார்ப்போம்.

Nested loop


Nested loop condition என்பது loop condition-க்குள் loop condition-ஐ பயன்படுத்துவதாகும்.இதனையே nested-loop என்கிறோம்.
இங்கு for loop-ல் for loop ஆனது பயன்படுத்தபடுகிறது.அதேபோன்று எந்த loop-ல் வேண்டுமானாலும் பயன்படுத்திக் கொள்ளலாம்.
i என்பதில் 1 முதல் 10 வரை loop ஆகும்.அதேபோல் i என்பதில் 1 முதல் 10 வரை loop ஆகும்.இவை இரண்டும் k-ல் i-யும்,j-யும் multiple செய்யப்பட்டு store ஆகிறது.ஒவ்வொரு loop display செய்த பின்பும் அடுத்த வரியில் display ஆகும்.

Nested for Loops என்றால் என்ன?

முந்தைய பாகத்தில் for loop என்றால் என்னவென்பதை பார்த்தோம். இனி nested for loop ஐ பற்றி பார்ப்போம்.

Nested என்பதை அடுக்குகள் என்று புரிந்துகொள்ளலாம். அதாவது ஒரு for loop பின் உள்ளே இன்னொரு for loop இருப்பதுதான் nested for loop ஆகும்.

இது எதற்காக பயன்படுகிறது என்பதை ஒரு உதாரணத்துடன் பார்ப்போம், நெல் அறுவடை முடிந்ததும் கூலி கொடுக்கவேண்டும். தொழிலாளர்கள் கூலியாக பணத்தை வாங்காமல் நெல்லைத்தான் கேட்பார்கள். ஒருவருக்கு பத்து மரக்கால் நெல் கூலியாக கொடுக்க முடிவாகிவிட்டது.

கூலி கொடுப்பதற்கென ஒரு கம்ப்யூட்டர் program ஐ நீங்கள் உருவாக்கியுள்ளீர்கள் என்று வைத்துக்கொள்வோம். உங்களுடைய algorithm எப்படி இருக்கும்? இப்படித்தானே...

For COUNT := 1 to 10 do
showmessage(“சாக்கு பையில் 1 மரக்கால் நெல் அளந்து போடவும்”)

அதாவது 10 மரக்கால் என்பது முடிவான பின்பு அதை எளிதாக for loop ல் எழுதிவிட்டோம். இந்த algorith தத்தை execute செய்தால் சாக்குபையில் 10 முறை நெல் அளந்து போடப்பட்டுவிடும்.

இது சாதாரண for loop தானே, இதில் nested for loop concept எங்கே இருக்கிறது என்கிறீர்களா? சூழ்நிலைகள்தான் புதுப்புது concept களை நமக்கு உருவாக்கி தருகின்றன. அன்றைய தினம் 5 பேர் வேலை செய்தார்கள் என்று வைத்துக்கொள்ளுங்கள். மேற்கண்ட algorithm படி பத்து மரக்கால் நெல்லை அளந்து போட்டுவிடுவீர்கள். ஒருவருடைய கூலி கொடுத்தாகி விட்டது. மற்ற 4 நபர்களுக்கு என்ன செய்வீர்கள். இந்த algorithm உதவாது அல்லவா? இப்பொழுது என்ன செய்யவேண்டும் என்று யோசியுங்கள்.

ஐடியா வந்துவிட்டது....

For COUNT := 1 to 10 do
showmessage(“சாக்கு பையில் 1 மரக்கால் நெல் அளந்து போடவும்”)

For COUNT := 1 to 10 do
showmessage(“சாக்கு பையில் 1 மரக்கால் நெல் அளந்து போடவும்”)

For COUNT := 1 to 10 do
showmessage(“சாக்கு பையில் 1 மரக்கால் நெல் அளந்து போடவும்”)

For COUNT := 1 to 10 do
showmessage(“சாக்கு பையில் 1 மரக்கால் நெல் அளந்து போடவும்”)

For COUNT := 1 to 10 do
showmessage(“சாக்கு பையில் 1 மரக்கால் நெல் அளந்து போடவும்”)

இவ்வாறாக Program மை மாற்றி எழுதி விடை கொண்டுவந்துவிட்டீர்கள். இதன் மூலம் 5 தடவை பத்து பத்து மரக்கால் நெல்லை கொடுக்கமுடியும். இப்படித்தான் நீங்களும் யோசனை செய்தீர்களா?

சரி 5 நபருக்கு ஓகே. ஒருவேளை 4 அல்லது 6 நபர்கள் வேலை செய்திருந்தால்... உங்கள் algorithm வேலை செய்யாதே... பிறகு எப்படி இதை solve செய்வது?

மறுபடியும் program ஐ திருத்தி எழுதுவீர்களா? உங்களுடைய program ஐ திருத்தாமல் எத்தனை நபர் வந்தாலும் கூலி கொடுப்பது மாதிரி எழுத முடியாதா?

யோசியுங்கள்...

நம்முடைய original code எப்படி இருந்தது?

For COUNT := 1 to 10 do
showmessage(“சாக்கு பையில் 1 மரக்கால் நெல் அளந்து போடவும்”)

இப்படித்தானே? பிறகு இதை 5 தடவை திரும்பத்திரும்ப எழுதினோமா? அவ்வாறு இல்லாமல் இதை 5 நபருக்கு கொடுப்பது மாதிரி மாற்ற என்ன செய்வது?

மேற்கண்ட original code ஐ 5 தடவை திரும்பத்திரும்ப செயல்படுத்தினால் என்ன?

சரி வாங்க algorith தத்தை மாற்றுவோம்.

For labor := 1 to 5 do
  For COUNT := 1 to 10 do
     showmessage(“சாக்கு பையில் 1 மரக்கால் நெல் அளந்து போடவும்”)

மேற்கண்ட algorith தத்தில் ஒரு for loop பின் உள்ளே இன்னொரு for loop இருக்கிறதல்லவா? இதுதான் nested for loop ஆகும். இதில் 2 level கள் இருக்கின்றன. நமது தேவைக்கு தகுந்தவாறு எத்தனை level வேண்டுமானாலும் எழுதிக்கொள்ளலாம்.

மறுபடியும் ஒரு பிரச்சனை. இங்கே 5 labor களுக்குத்தான் நமது program செயல்படும். இதை dynamic க்காக மாற்றுவோமா? அதாவது எத்தனை நபர் என்பதை கூலி கொடுப்பவர்தான் தீர்மானிக்க வேண்டும். அதுதான் logic.

இதற்காக நமது program ஐ கொஞ்சம் மாற்றவேண்டும்.

//please enter total number of labors. Let us assume 5 labors

TotalLabor := 5;

For labor := 1 to TotalLabor do
  For COUNT := 1 to 10 do
     showmessage(“சாக்கு பையில் 1 மரக்கால் நெல் அளந்து போடவும்”)

முதலாளிக்கு கொஞ்சம் நல்ல மனசு. 12 மரக்கால் கூலி கொடுக்க விரும்புகிறார். ஆனால் நமது program அதற்கு use ஆகாதே!

அதற்காகவும் program ஐ கொஞ்சம் மாற்றவேண்டும்.

//please enter total number of labors. Let us assume 5 labors

TotalLabor := 5;

//please enter total number of wages (in marakkaal) per labor. Let us assume 10 marakkaal

EachPersonWages := 10; //இதில் 12 ஐ கூட போடலாம்.

For labor := 1 to TotalLabor do
  For COUNT := 1 to EachPersonWages do
     showmessage(“சாக்கு பையில் 1 மரக்கால் நெல் அளந்து போடவும்”)

நம்ம program இப்போது முழுமையாக வேலை செய்யும். இதில் 2 for loop களை பயன்படுத்தியுள்ளோம். முதல் for loop (level 1) எத்தனை நபர் என்பதை தீர்மானிக்க உதவுகிறது. (அதற்குள் இருக்கும்) அடுத்த for loop (level 2) ஒவ்வொரு நபருக்கும் எத்தனை மரக்கால் என்பதை தீர்மானிக்க உதவுகிறது.

nested loop, nested for loop, loop example, sample calculation, faridh, elandangudi, programming tutorial, tamil tutorial


இதில் 4 variable களை பயன்படுத்தியுள்ளோம்.

TotalLabor எத்தனை தொழிலாளர்கள் என்பதை அறிவதற்காக.

EachPersonWages ஒருவருக்கு எத்தனை மரக்கால் கூலி என்பதை அறிவதற்காக.

Labor எத்தனையாவது labor ருக்கு கூலி கொடுக்கிறோம் என்பதை அறிவதற்காக.

COUNT எத்தனையாவது மரக்கால் அளந்து போடுகிறோம் என்பதை அறிவதற்காக.

நமது program முக்கு variable களை பயன்படுத்துவது போல் இயல்பான வாழ்க்கையிலும் நாம் variable களை பயன்படுத்தித்தான் வருகிறோம். இந்த 4 variable களில் ஒன்றை நமது மூளை பயன்படுத்தாமல் போனால்கூட நம்மால் சரியாக கூலி கொடுக்க முடியாது. எதற்காக இதை இங்கு சொல்கிறேன் என்றால் இயல்பான செயல்களை computerize (கணிணிமயமாக்கம்) செய்யவே program பயன்படுகிறது. கற்பனையாக உருவாக்கப்பட்ட எந்த program மையும் இயல்பான செயல்களுக்கு மாற்றாக பயன்படுத்த முடியாது. எனவே நாம் அன்றாடம் செய்யக்கூடிய அனைத்து செயல்களிலும் logic ஒளிந்துள்ளது. அதை கண்டுபிடித்துவிட்டால் program எழுதுவது எளிதாகிவிடும்.

Nested for loop ஐ பார்த்தாயிற்று. நமது program எவ்வாறு வேலை செய்தது என்பது இங்கே காணலாம்.

nested loop, nested for loop, loop example, sample calculation, faridh, elandangudi, programming tutorial, tamil tutorial

இங்கே ஒரு விசயத்தை நாம் கவனத்தில் கொள்ள வேண்டும். அதாவது கல்லூரியிலோ அல்லது பள்ளிக்கூடத்திலோ நெல் அளந்து போடும் program மை எழுதச்சொல்ல மாட்டார்கள். பாடத்திட்டத்தில் என்ன படித்தோமோ அதிலிருந்து ஏதாவது ஒரு கேள்வியை கேட்பார்கள். நாமும் மனப்பாடம் செய்ததை அப்படியே எழுதிவிடுவோம். இதனால் பரிட்சையில் வேண்டுமானால் pass ஆகிவிடலாம். நமது மனசாட்சிக்கு தெரியும் அதை நாம் உணர்ந்து இயல்பாக எழுதினோமா அல்லது படித்ததை அப்படியே எழுதினோமா என்று. இயல்பாக யோசனை செய்து program எழுதுபவர்தான் நல்ல கம்பெனியில் வேலைக்கு சேரமுடியும். மனப்பாடம் செய்தவர் தன்னால் இயல்பாக program மை எழுதமுடியவில்லையே என்று அங்கலாய்த்து மீண்டும் ஏதாவது ஒரு course படிக்க போகிறேன் என்று போய்விடுவார்.

இதனால்தான் நாம் பாடத்திட்டத்தில் உள்ள பாடங்களை பார்க்காமல் இயல்பாக நமது வாழ்வில் நடைபெறும் நிகழ்ச்சிகளை program மாக மாற்றிவருகிறோம். இதன்மூலம் நமது சிந்திக்கும் திறன் அதிகமாகிறது. அனைத்துசெயல்களிலும் ஒரு logic இருப்பதை உணரமுடிகிறது.

python for loop




table அல்லது string போன்ற எந்தவரிசையின் பொருள்களிலும் அது முடியும்வரை இயங்கும் திறனைக் கொண்டுள்ளது.இதனையே for loop என்கிறோம்.

Python program to construct the following pattern, using a nested for loop.

n=5;

for i in range(n):

    for j in range(i):

        print ('* ', end="")

    print('')




n=5;
for i in range(n):
    for j in range(i):
        print ('* ', end="")
    print('')

for i in range(n,0,-1):
    for j in range(i):
        print('* ', end="")
    print('')



Example 3)


Example 4)x=[‘apple’,’milk’,’mango’]
for fruit in x:
print(‘i want ‘+fruit)
print(“for loop completed”)

x என்ற list-ல் மூன்று object ஆனது பயன்படுத்தப்படுகிறது.x என்ற list-ல் உள்ள மூன்று object-களும் for loop-ன் மூலம் ஒன்றன் கீழ் ஒன்றாக object ஆனது fruit-ல் store செய்யப்பட்டு print மூலம் display செய்யப்படும்.object அனைத்தும் செயல்படுத்தி முடித்தபின் கடைசியாக “for loop completed” என்று display செய்யப்படும்.
வெளியீடு:

for loop

Loop என்றால் என்ன என்பதைப் பற்றியும் அது எவ்வாறு வேலை செய்கிறது என்பதைப் பற்றியும் முந்தைய பாகத்தில் பார்த்தோம்.

Loop என்றதும் அனைவருக்கும் நினைவில் வருவது For Loop தான். எனவே For loop ஐ பற்றியும் அது எப்படி வேலை செய்கிறது என்பதைப் பற்றியும் இங்கு பார்ப்போம்.

நமது program மில் இடம்பெறும் ஒரு சில statement களை குறிப்பிட்ட எண்ணிக்கையில் திரும்பத்திரும்ப execute செய்ய for loop பயன்படுகிறது.

இதற்கு ஆரம்ப எண்ணும் முடிவு எண்ணும் அவசியம் குறிப்பிட வேண்டும். எனவே ஆரம்ப எண்ணும் முடிவு எண்ணும் தெரிந்திருந்தால் for loop ஐ பயன்படுத்தி program எழுத முடியும்.

உதாரணத்திற்கு
1 முதல் 10 வரை நம்பரை சொல்ல அடுத்து, முடிவு எல்லை தெரியாவிட்டால் for loop ஐ பயன்படுத்துவது நல்லது அல்ல.

உதாரணத்திற்கு Esc key ஐ press பண்ணும் வரையில் நம்பரை சொல்ல வேண்டும். இதில் esc key எப்பொழுது அழுத்தப்படும் என்பது யாருக்கும் தெரியாது. 5 வரை சொல்லிய பிறகும் அழுத்தப்படலாம் அல்லது 5 லட்சம் சொல்லிய பிறகும் அழுத்தப்படலாம்.

முந்தைய பாகத்தில் 10 நம்பரை சொன்னோம் அல்லவா அதை எப்படி for loop ஆக மாற்றுவது?

FOR அந்தஎண் := ஆரம்பஎண் TO முடிவுஎண் DO அந்த எண்ணை சொல்லவும்.

FOR I := 1 TO 10 DO ShowMessage( IntToStr( I ) )

for loop structure, how for loop work, karkandu, கற்கண்டு, loop

மேற்கண்ட படத்தில் for loop structure இருப்பதை காணலாம்.

part 1: இது ஒரேயொரு முறை மட்டும் execute ஆகும். அதாவது for loop ஆரம்பமாகும்போது மட்டும் இது execute செய்யப்படுகிறது. i என்கிற counter variable லில் ஆரம்ப எண் initialize செய்யப்படுகிறது.

part 2: இங்கு counter variable லில் உள்ள value முடிவு எண்ணை விட சிறியது தானா என்பது சோதிக்கப்படுகிறது.

part 3: part 2 வின் result ஆனது true ஆக இருந்தால் இங்கிருக்கும் statement கள் execute செய்யப்படுகிறது. அதாவது counter variable லில் உள்ள value சொல்லப்படுகிறது.

part 4: part 3 execute செய்யப்பட்ட பிறகு counter variable லில் உள்ள value வுடன் 1 கூட்டப்படுகிறது. ஒருவேளை இரண்டிரண்டாக கூட்ட வேண்டுமானால் இங்கே நீங்கள் அதை குறிப்பிட வேண்டும். அடுத்து part 2 வி்ற்கு control போகிறது.

உதாரணத்திற்கு ஒன்றிலிருந்து ஆரம்பித்து ஒற்றைப்படை நம்பராக 10 வரை சொல்லவேண்டுமென்றால் விடை எப்படி இருக்கும்?
1
3
5
7
9
இதை நாம் எவ்வாறு கண்டுபிடித்தோம் என்பதை பேப்பரில் எழுதி பின்னர் அதை எப்படி for loop ஆக மாற்றவேண்டும் என்பதை முயற்சி செய்யுங்கள்.

இதற்கு ஒவ்வொருவரும் ஒரு விதமாக விடை காணலாம்

எனக்கு தெரிந்த எளிதான வழி


இதை java language ல் இப்படி எழுதலாம்

for ( i = 1; i <= 10; i= i+2 )
{
System.out.println( i );
}

அதாவது part 4 பகுதியில் இரண்டிரண்டாக கூட்ட வேண்டுமென்று மாற்றியுள்ளதை கவனிக்கவும்.

Nested for loop ஐ பற்றி அடுத்து பார்ப்போம்.