Tuesday, July 3, 2018

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 ஐ பற்றி அடுத்து பார்ப்போம்.

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 ஆக மாற்றவேண்டும் என்பதை முயற்சி செய்யுங்கள்.

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

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


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

for ( i = 1; i <= 10; i= i+2 )
{
cout << i ;
}

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

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

Looping Statements என்றால் என்ன?

நாம் எழுதும் program மில் இடம்பெறும் statement களில் சிலவற்றை திரும்பத் திரும்ப execute செய்ய நமக்கு உதவுபவை looping statement கள் ஆகும்.

FOR LOOP மற்றும் WHILE LOOPஆகியவை looping statement கள் ஆகும்.

Loop statement டின் பயன்பாடு என்ன?

நல்ல கேள்வி. இந்த கேள்விக்கு நான் பதிலளிப்பதற்கு முன்பாக, நான் கேட்கும் சில கேள்விகளுக்கு நீங்கள் பதில் சொல்லுங்களேன்.

(இங்கே கேள்வியை நான் கேட்கிறேன். பதிலை நீங்கள் சொல்கிறீர்கள் என்று வைத்துக்கொள்வோம்.)

கேள்வி: சொல்லுங்க...
பதில்: என்னத்த சொல்லுறது?

கேள்வி: நம்பர் சொல்லுங்க?
பதில்: 1

கேள்வி: தொடர்ந்து சொல்லுங்க
பதில்: 1,2,3 போதுமா?

கேள்வி: தொடர்ந்து சொல்லுங்க
பதில்: 1,2,3,4,5,6,7,8 போதுமா?

கேள்வி: தொடர்ந்து சொல்லுங்க
பதில்: இப்படி ஏடாகூடமா கேள்வி கேட்டா எப்படிங்க பதில் சொல்றது. கேள்வியில கொஞ்சமாச்சும் லாஜிக் வேண்டாம்?

கேள்வி: என் கேள்வியில என்னங்க பிரச்சனை?
பதில்: பின்ன என்னங்க. சொல்லுங்கன்னு சொல்றீங்க நானும் சொல்லிட்டு போதுமான்னு கேட்கறேன். திரும்பவும் சொல்லுங்கன்னு சொல்றீங்க. எது வரைக்கும் சொல்லனும்னு தெரிஞ்சாதானே பதில் சொல்ல முடியும்.

கேள்வி: அப்போ எதுவரைக்கும் சொல்லனும்னு தெரியாவிட்டால் பிரச்சினையா?
பதில்: பின்னே இல்லையா? எதுல ஆரம்பிச்சு எதுல முடிக்கனும்னு தெரியாவிட்டால் நான் பாட்டுக்கும் சொல்லிக்கி்ட்டேயில்ல இருக்கனும்.

கேள்வி: அப்ப சரிங்க. 1 முதல் 10 வரைக்கும் சொல்லுங்க.
பதில்: இது கூடவா ஒரு மனுசனுக்கு தெரியாது, நல்லா கேள்வி கேட்கறீங்க... 1,2,3,4,5,6,7,8,9,10

கேள்வி: சபாஷ். கரெக்டா சொல்லிட்டீங்களே!
பதில்: அடப்போங்க நீங்க. இதுகூட தெரியாத ஆள் யாராவது இருப்பாங்களா என்ன? Loop ன்னா என்னான்னு கேள்வி கேட்டதுக்கு இப்படியா வறுத்தெடுக்கறது.

கேள்வி: இவ்வளவு துல்லியமா loop ஐ அதுவும் for loop ஐ தெரிஞ்சி வச்சிக்கிட்டே என்கிட்ட loop ஐ பற்றி கேட்டீங்களே அது ஏன்?
பதில்: என்னது! நான் for loop ஐ use பண்ணினேனா? எப்படி use பண்ணினேன்? எங்கே use பண்ணினேன்? கொஞ்சம் விளக்குங்களேன்...

கேள்வி: 1 முதல் 10 வரைக்கும் உங்களால எப்படி சரியாக சொல்லமுடிஞ்சுதுன்னு எனக்கு விளக்க முடியுமா?
பதில்: தெரியலியே. 1 க்கு அப்புறம் 2 அதுக்கப்புறம் 3 இப்படித்தானே வரும். இதுல என்ன இருக்கு?

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

இதை மட்டும் explain பண்ணிட்டீங்கன்னா, உங்க கேள்விக்கான விடையை  அதிலே கண்டுபிடிச்சுடலாம்.

சரி, இதுவரைக்கும் நான் கேட்ட கேள்விக்கு நீங்க பதில் சொன்னீங்கல்ல. ஆரம்பத்துல நீங்க கேட்ட கேள்விக்கு இப்ப நான் பதில சொல்றேன்.

1 முதல் 10 வரை சொன்னது எப்படி?
எந்த நம்பரிலிருந்து ஆரம்பிக்க வேண்டும் எந்த நம்பரில் முடிக்க வேண்டும் என்கிற விசயம் தெரியாவிட்டால் நான் எதிர்பார்த்த விடையை உங்களால் சொல்ல முடியாது. சரிதானே?

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

நான் ஆரம்ப எண் 1 என்றேன்
அடுத்து முடிவு எண் 10 என்று சொன்னேன்.

உடனே நீங்கள் ஒன்றில் ஆரம்பித்து 10 வரை சரியாக சொல்கிறீர்கள்.

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

அதேபோல பத்தல்லாத வேறு எந்த எண்ணிலும் முடிக்கவில்லை, சரியாக பத்தோடு நிறுத்திவிட்டீர்கள்.

இது எப்படி நடந்தது தெரியுமா?

ஆரம்ப எண்ணிலிருந்துதான் சொல்லவேண்டும் என்று தீர்மானிக்கிறீர்கள்.

அடுத்து அந்த எண்ணை சொல்ல ஆரம்பிப்பதற்கு முன்னதாக அந்த எண் முடிவு எல்லையை தாண்டிவிட்டதா என்று (பத்துடன்) சோதிக்கிறீர்கள்; இல்லை என்ற பதில் கிடைக்கிறது.
எனவே 1 என்று சொல்கிறீர்கள்.

அடுத்து அந்த எண்ணுடன் ஒன்றை கூட்டுகிறீர்கள். 1+1 இரண்டாகிறது. 2 என்ற அந்த எண் முடிவு எல்லையை தாண்டிவிட்டதா என்று (பத்துடன்) சோதிக்கிறீர்கள்; இல்லை என்ற பதில் கிடைக்கிறது.
எனவே 2 என்று சொல்கிறீர்கள்.

அடுத்து அந்த எண்ணுடன் ஒன்றை கூட்டுகிறீர்கள். 2+1 மூன்றாகிறது. 3 என்ற அந்த எண் முடிவு எல்லையை தாண்டிவிட்டதா என்று (பத்துடன்) சோதிக்கிறீர்கள்; இல்லை என்ற பதில் கிடைக்கிறது.
எனவே 3 என்று சொல்கிறீர்கள்.

இப்படியாக 4,5,6,7,8,9,10 என்று சொல்கிறீர்கள்.

தற்போது அந்த எண்ணில் 10 என்ற நம்பர் உள்ளது.

அடுத்து அந்த எண்ணுடன் ஒன்றை கூட்டுகிறீர்கள்.10+1 பதினொன்றாகிறது.
11 என்ற அந்த எண் முடிவு எல்லையை தாண்டிவிட்டதா என்று (பத்துடன்)சோதிக்கிறீர்கள்; ஆம் என்ற பதில் கிடைக்கிறது.
உடனே 11 என்ற அந்த எண்ணை சொல்லாமல் நிறுத்திவிடுகிறீர்கள்.

நானும், சபாஷ். கரெக்டா சொல்லிட்டீங்களே! என்று பாராட்டினேன்.

1 முதல் 10 வரை உங்களால் எப்படி சொல்ல முடிந்தது என்பதை விவரமா இங்கே பார்த்தோம்.

சரி இதற்கும் looping statement டுக்கும் என்ன சம்பந்தம் என்று நினைக்கிறீர்களா?

இங்கேதான் ஒரு சராசரி மனிதரிலிருந்து programmer வேறுபடுகிறார். எப்படி?

ஒரு விசயத்தை program செய்வதற்கு முன்பாக இயல்பாக அது எப்படி செயல்படுத்தப்படுகிறது என்பதை programmer தெளிவுபடுத்திக்கொள்கிறார். இப்படி தெளிவுபடுத்திக்கொள்வதால் அந்த யதார்த்தத்திலிருந்து logic ஐ டெவலப் செய்து அதை program ஆக எளிதாக மாற்றிவிடுகிறார்இயல்பாக என்றால் ஒரு விசயத்தை (அது எதுவாக இருந்தாலும் சரியே) நாம் எவ்வாறு அணுகினோம் என்பதை, உள்ளது உள்ளபடி பேப்பரில் எழுதவேண்டும். உதாரணத்திற்காகத்தான் 1 முதல் 10 வரை நம்பரை எப்படி சொல்கிறோம் என்பதை இங்கே யதார்த்தமாக பார்த்தோம்.

understanding loop, counting numbers, karkandu, கற்கண்டு புரோகிராம், புரோகிராம் என்றால் என்ன, லூப் என்றால் என்ன

மேற்படி நமது யதார்த்த ஆய்வறிக்கையை பார்த்தால் ஒரே விதமான செயல் 11 முறை திரும்பத்திரும்ப  செய்யப்பட்டிருக்கிறது என்பதை கண்டுபிடிக்க முடியும். அவ்வாறு கண்டுபிடித்துவிட்டவரை (அதாவது செயல்களிலிருந்து லாஜிக்கை கண்டுபிடித்துவிடுபவரை) நாம் programmer  என்று அழைக்கிறோம்.

அந்த Logic என்னவென்று உங்களுக்கு தெரிகிறதா? அது இதுதான் :

how loop works, how to count numbers, jmr faridh, பரீத், பரித், karkandu, கற்கண்டு புரோகிராம், புரோகிராம் என்றால் என்ன, லூப் என்றால் என்ன

step1: ஆரம்ப எண் முடிவு எண் கிடைத்தவுடன்; சொல்லவேண்டிய அந்த எண்ணை ஆரம்ப எண்ணிலிருந்து துவங்கவேண்டும். அடுத்து 

step2: அந்த எண் முடிவு எல்லையை தாண்டிவிட்டதா என்று சோதிக்கவேண்டும் 

step3: தாண்டவில்லை என்றால் அந்த எண்ணை சொல்லிவிட்டு அந்த எண்ணுடன்ஒன்றை கூட்டவேண்டும். கூட்டி வந்த விடையுடன் step 2 க்கு போகவேண்டும்; தாண்டிவிட்டதென்றால் நிறுத்திவிடவேண்டும்.

இங்கே step 2 முதல் step 3 வரை உள்ளவை திரும்பத்திரும்ப செய்யப்பட்டிருக்கிறது. இதுதான் LOOP CONCEPT ஐ நமக்கு தருகிறது.

மேற்படி loop ல் இயல்பாக 3 variable களை நீங்கள் பயன்படுத்தியுள்ளீர்கள். அவை

ஆரம்ப எண்
முடிவு எண்
அந்த எண் (அதாவது சொல்லப்படவேண்டிய எண்)

இந்த மூன்றில் ஒன்றை கூட நம்மால் தவிர்க்க முடியாது.

ஆரம்ப எண் அவசியம் வேண்டும் என்கிற validation மட்டும் இல்லாது போயிருந்தால் starting number எதுவென்று யாராலும் கணிக்க முடியாது. நான் எதிர்பார்க்கிறத உங்களால சொல்லவும் முடியாது.

முடிவு எண் அவசியம் வேண்டும் என்கிற validation மட்டும் இல்லாது போயிருந்தால் ending number எதுவென்று யாராலும் கணிக்க முடியாது. நீங்களும் வாய் வலிக்க சொல்லிக்கொண்டே இருக்கவேண்டியதுதான் (மரணிக்கும் வரை அல்லது அடுத்த நம்பரை (1,000,000,000,000,000,000,000,000,000,000) சொல்லத் தெரியாதவரை ). அதாவது endless loop அல்லது program hang ஆகிவிடும்.

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

இப்பொழுது 1 முதல் 10 வரையோ அல்லது 5 முதல் 50 வரையோ உங்களால் இயல்பாக எப்படி கூட்ட முடிகிறது என்பதை யோசியுங்கள்.

ஆரம்ப எண் 10 முடிவு எண் 5 என்றால் உங்களால் இந்த லாஜிக் மூலம் சொல்லமுடியுமா என்பதை சோதியுங்கள்.

அப்படி முடியவில்லை என்றால் ஏன் என்பதை கண்டுபிடித்து அதற்காக லாஜிக்கை உருவாக்குங்கள்.

இப்படித்தான் நான் அனைத்தையும் யதார்த்தமாக அணுகுகின்றேன். இதனால்தான் Programming என்பது எனக்கு எளிதென  தெரிகிறது. உங்களுக்கும் அதை எளிதாக விளக்க முடிகிறது.

Logic ஐ மனப்பாடம் செய்து program எழுதுபவர் தனது program எப்படி வேலை செய்கிறது என்பதை வரிக்குவரி explain பண்ணமுடியாது. ஒரு வரி மறந்து விட்டாலும் அது எந்த வரி? எங்கே போடவேண்டும் என்பது தெரியாது.

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

இதற்குத்தான் manual calculation or sample calculation என்ற technique ஐ நாம் உபயோகிக்கிறோம். இதைப்பற்றி விரிவாக பின்னர் பார்ப்போம்.

எனவே லாஜிக்கை மனப்பாடம் செய்யாதீர்கள். இயல்பாக (யதார்த்தமாக) யோசியுங்கள்.ஒரு விசயத்தை பற்றி உங்களுக்கு தோன்றுபவற்றை பேப்பரில் எழுதுங்கள். அவ்வாறு நீங்கள் எழுதியவற்றிலிருந்து உங்களுக்கு தேவையான result ஐ கொண்டுவரமுடிகிறதா என்பதை பரிசோதியுங்கள். வரவில்லையென்றால் எழுதியதை எப்படி மாற்றினால் உங்களுக்கு result கிடைக்கும் என்று ஆராயுங்கள். தானாக Logic வளரும். நீங்களும் சிறந்த புரோகிராமராக வரமுடியும்.

சரி இதுவரைக்கும் loop ஐ பற்றியும், loop க்கு தேவையான variable களை பற்றியும் பார்த்தோம். இதை எப்படி for loop ஆகவோ அல்லது while loop ஆகவோ மாற்றுவது என்பதை அடுத்து பார்ப்போம்.


Monday, July 2, 2018

விசுவல் பேசிக் அறிமுகம்

பேஸிக்கின் வழிவந்த மொழியே விசுவல் பேசிக் ஆகும் இது மைக்ரோசாப்டின் மிகவும் வெற்றிகரமான ஒருங்கிணைக்கபட்ட விருத்திச் சூழல்களில் ஒன்றாகும் (IDE). இது டாஸ் இயங்குதளத்தில் உருவாக்கப்பட்ட பேசிக் இண்டபிறிட்டரைத்(Interpreter) தொடர்ந்து உருவாக்கப்பட்டதாகும். மைக்ரோசாப்ட் GWBASIC (Graphic With Basic) , QBASIC (Quick Basic) போன்ற பதிப்புக்களும் போர்லாண்ட் நிறுவனத்தின் ரேபோபேஸிக் பதிப்புக்களும் வெளிவந்தது.

வரலாறு
பேசிக் - BASIC (Beginners All-purpose Symbolic Instruction Code). பில்கேட்ஸ் பேஸிக் நிரலை மைக்ரோ கணினிகளுக்கு உருவாக்கியதே மைக்ரோசாப்ட் (மைக்ரோ கம்பூயுட்ர சாப்ட்வேர்) என்கின்ற உலகின் மிகப் பெரிய கணினி வணிக நிறுவனத்தின் வெற்றியைத் தீர்மானித்தது.


இதனது பிரதான போட்டியாளாராகப் போர்லாண்ட் நிறுவனத்தாரின் பஸ்கால்(அல்லது பாஸ்கல்) மொழியின் வழிவந்த போர்லாண்ட் டெல்பியே விளங்கியதெனினும் மைக்ரோசாப்டின் மென்பொருட்களைச் சந்தைப் படுத்தும் வல்லமையினால் விஷ்வல் பேஸிக்கே வர்தக ரீதியா மென்பொருட்களைத் தயாரிப்பதிலும் ஏனைய மென்பொருட்களை உருவாக்குவதில் மிகப் பிரதானமான மொழியாக விளங்கியது. ஆரம்பத்தில் பேஸிக் மொழியை உருவாக்கியபோது அந்நிரலைக் கம்பைல் பண்ணி டாஸ் (DOS) இயங்குதளத்தில் தனித்தியங்கும் கோப்பை உருவாக்கும் வசதியிருக்கவில்லை இதனை அவதானித்த போர்லாண்ட் நிறுவனம் இதற்குப் பொட்டியா ரேபோ பேஸிக் என்னும் நிரல்களைக் கம்பைல் பண்ணி தனித்தியங்கும் கொப்புக்களாகமாற்றும் வசதியுள்ள ஒருங்கிணைக்கப்பட்ட விருத்திச் சூழலை அளித்தனர். விண்டோஸ் பணிச்சூழலில் மைக்ரோசாப்ட் விஷ்வல் பேஸிக்கை வெளிவிட்டதும் பழைய பதிப்பான ரேபோ பேஸிக் தயாரிப்பைக் கைவிட்டு பஸ்கால் வழிவந்த டெல்பி என்ற விண்டோஸ் பணிச்சூழலுக்கேற்ற ஒருங்கிணைக்கப் விருத்திச் சூழலைத் தயாரித்தனர். விருத்தியாளர்களை போர்லாண்ட் தயாரிப்புக்களைப் பாவிக்கும் வண்ணம் போர்லாண்ட் டெல்பி இலவசப் பிரத்தியேகப் பதிப்பொன்றை வெளிவிட்டதை அடுத்து மைக்ரோசாப்ட்டும் மாணவர்களுக்காக அல்லது கற்பதற்கு என்றே விஷ்வல் பேஸிக் வேக்கிங்க் மாடல் எடிசன் பதிப்பொன்றை வெளியிட்டனர். இந்நூலில் வேக்கிங் மாடல் எடிசனைப் பின்பற்றியே உருவாக்கப் பட்டுள்ளது. இதில் விண்டோஸ் பணிச்சூழலில் தனித்தியங்கும் *.exe கோப்புக்களை மாற்றும் வசதியோ மைக்ரோசாப்ட் டெவலப்பர் நெட்வேக் CD இல் இருந்து உதவிகளைப் பெறமுடியாது. டெல்பியிற்கான போட்டியைத் தொடர்ந்தும் தொடர விரும்பாத மைக்ரோசாப்ட் இதன் பிரதான விருத்தியாளாரான அண்டரஸ் ஹிஜஸ்பேக்கை மைக்ரோசாப்டின் பிரதான .நெட் பணிச்சூழலை விருத்தி செய்யும் அதிகாரியாக போர்லாண்டில் இருந்து பெற்றுக் கொண்டனர்.

Sum of Two Numbers

இந்த நிரலில் நாம் இரண்டு எண்களின் கூட்டுத்தொகை
எவ்வாறு காண்பது என்று பார்ப்போம்.

public class Program
{
    public static void main(String[] args) {
      int  i=10,j=20,k=i+j;
      System.out.print("two number sum:"+k);
    }
}

OUTPUT
two number sum:30

இங்கு Integer type ஆன data type கொடுக்கப்பட்டுள்ளது மூன்று Variable உருவாக்கப்பட்டுள்ளது.அதற்கு பெறுமானம் வழங்கப்பட்டுள்ளது.

முதலாவது Variable (i) என்று உருவாக்கப்பட்டுள்ளது அதற்கு பெறுமானம் 10 கொடுக்கப்பட்டுள்ளது.

இரண்டாவது Variable (j) என்று உருவாக்கப்பட்டுள்ளது அதற்கு பெறுமானம் 20 கொடுக்கப்பட்டுள்ளது.

மூன்றாவது Variable ஆனது முதலாவது Variable(i) யும் இரண்டாவது Variable (j) யும் கூட்டுத்தொகை ஆகும்.

இந்த நிரலில் நாம் விசைப்பலகையிலிருந்து(பயனரிடம்) பெறுகின்ற இரண்டு மாறிகளைப் பயன்படுத்துகிறோம். இந்த  எண்களின் கூட்டுத்தொகை மூன்றாம் மாறினால் சேமித்து வைக்கும்.

import java.util.Scanner;
class Addition
{
public static void main(String[] args)
{
    int a, b, c=0;
Scanner s=new Scanner(System.in);
System.out.println("Enter any two numbers :");
a=s.nextInt();
b=s.nextInt();
c=a+b;
System.out.println("Sum: "+c);
}
}

Output
Enter any two numbers :
10
20
Sum: 30

Scanner s=new Scanner(System.in):விசைப்பலகையில் இருந்து பெறுவதற்குப் பயன்படுத்தப்படுகின்றன.

nextInt (): விசைப்பலகை இருந்து முழு எண்(integer)வகை மதிப்பு பெற பயன்படுத்தப்படுகிறது.

System.out.println ("....."): திரையில் காண்பிக்க பயன்படுத்தப்படுகிறது.

Friday, June 22, 2018

cout and cin in C++

cout என்பது நிலையான வெளியீடு ஸ்ட்ரீம் ஆகும். இதன் மூலம் நாம் கொடுக்கும் புரோகி்ராம் வெளியீடாக கிடைக்கும்.

Example:
#include <iostream>
using namespace std;

int main() {
Cout<<"Hello word !";
    return 0;
}

Output

Hello word !

cin :  இதன் மூலம் பயனரிடம் விசைப்பலகை  பெறுகிறது.


Example:

#include <iostream>
using namespace std;

int main() {
int num;
 cout<<"Enter any number:";
 cin>>num;  // accept one value form keyboard
 cout<<"Number is: "<<num;
    return 0;
}

Output

Enter any number :100 Number is: 100

Monday, June 18, 2018

java keywords


ஜாவா நிரலாக்க மொழியில் 50 முக்கிய keyword உள்ளன. ஒவ்வொரு முக்கிய மொழிக்கும் ஒரு குறிப்பிட்ட keyword உள்ளது

பின்வரும் அட்டவணையில் ஜாவாவின் முக்கிய keyword காணப்படுகிறது.

நீங்கள் இந்த அனைத்து keywordsம் பாடம் ஆக்க வேண்டியதில்லை ஒவ்வொரு பாடத்திலும் அறிந்து கொள்வோம்.

Keyword

What It Does
abstractIndicates that the details of a class, a method, or an interface are given elsewhere in the code.
assertTests the truth of a condition that the programmer believes is true.
booleanIndicates that a value is either true or false.
breakJumps out of a loop or switch.
byteIndicates that a value is an 8-bit whole number.
caseIntroduces one of several possible paths of execution in a switch statement.
catchIntroduces statements that are executed when something interrupts the flow of execution in a try clause.
charIndicates that a value is a character (a single letter, digit, punctuation symbol, and so on) stored in 16 bits of memory.
classIntroduces a class — a blueprint for an object.
constYou can’t use this word in a Java program. The word has no meaning but, because it’s a keyword, you can’t create a variable named const.
continueForces the abrupt end of the current loop iteration and begins another iteration.
defaultIntroduces a path of execution to take when no case is a match in a switchstatement.
doCauses the computer to repeat some statements over and over again (for instance, as long as the computer keeps getting unacceptable results).
doubleIndicates that a value is a 64-bit number with one or more digits after the decimal point.
elseIntroduces statements that are executed when the condition in an if statement isn’t true.
enumCreates a newly defined type — a group of values that a variable can have.
extendsCreates a subclass — a class that reuses functionality from a previously defined class.
finalIndicates that a variable’s value cannot be changed, that a class’s functionality cannot be extended, or that a method cannot be overridden.
finallyIntroduces the last will and testament of the statements in a try clause.
floatIndicates that a value is a 32-bit number with one or more digits after the decimal point.
forGets the computer to repeat some statements over and over again (for instance, a certain number of times).
gotoYou can’t use this word in a Java program. The word has no meaning. Because it’s a keyword, you can’t create a variable named goto.
ifTests to see whether a condition is true. If it’s true, the computer executes certain statements; otherwise, the computer executes other statements.
implementsIndicates that a class provides bodies for methods whose headers are declared in an interface.
importEnables the programmer to abbreviate the names of classes defined in a package.
instanceofTests to see whether a certain object comes from a certain class.
intIndicates that a value is a 32-bit whole number.
interfaceIntroduces an interface. An interface is like a class but, for the most part, an interface’s methods have no bodies.
longIndicates that a value is a 64-bit whole number.
nativeEnables the programmer to use code that was written in a language other than Java.
newCreates an object from an existing class.
packagePuts the code into a package — a collection of logically related definitions.
privateIndicates that a variable or method can be used only within a certain class.
protectedIndicates that a variable or method can be used in subclasses from another package.
publicIndicates that a variable, class, or method can be used by any other Java code.
returnEnds execution of a method and possibly returns a value to the calling code.
shortIndicates that a value is a 16-bit whole number.
staticIndicates that a variable or method belongs to a class, rather than to any object created from the class.
strictfpLimits the computer’s ability to represent extra large or extra small numbers when the computer does intermediate calculations on float and doublevalues.
superRefers to the superclass of the code in which the word super appears.
switchTells the computer to follow one of many possible paths of execution (one of many possible cases), depending on the value of an expression.
synchronizedKeeps two threads from interfering with one another.
thisA self-reference — refers to the object in which the word this appears.
throwCreates a new exception object and indicates that an exceptional situation (usually something unwanted) has occurred.
throwsIndicates that a method or constructor may pass the buck when an exception is thrown.
transientIndicates that, if and when an object is serialized, a variable’s value doesn’t need to be stored.
tryIntroduces statements that are watched (during runtime) for things that can go wrong.
voidIndicates that a method doesn’t return a value.
volatileImposes strict rules on the use of a variable by more than one thread at a time.
whileRepeats some statements over and over again (as long as a condition is still true).