C++ - அடிப்படைத் தரவினங்கள் அறிமுகம் | 11th Computer Science : Chapter 9 : Introduction to C++
அடிப்படைத் தரவினங்கள் அறிமுகம்:
அடிப்படைத் தரவினங்கள் (atomic) C++ல். முன்னதாகவே வரையறுக்கப்பட்ட தரவினங்கள் ஆகும். C++ ல் ஐந்து அடிப்படை தரவினங்கள் உள்ளன. char, int, float, double மற்றும் void. பொதுவாக இவை தரவினங்களை அறிவிப்பதற்கான சிறப்பு சொற்கள் ஆகும்.
(i) முழுஎண் தரவினம் (int):
இது ஒரு தசமம் இல்லாத முழு எண்களாகும். முழு எண்கள் நேர்மறை அல்லது எதிர்மறை எண்களாக இருக்கலாம். இந்த தரவினம் முழு எண்களை மட்டுமே பெற்று அதையே திருப்புகிறது. முழு எண் (int) மாறிகள் முழு எண்களை மட்டுமே சேமிக்க அனுமதிக்கும். முழு எண் மாறியில் தசம் மதிப்பை சேமிக்க முற்பட்டால் அந்த தசம் மதிப்பினுடைய முழு எண் பகுதியை மட்டுமே எடுத்துக் கொள்ளும்.
எடுத்துக்காட்டு 9.1 இரண்டு முழு எண்களை பெற்று அதனுடைய கூட்டுத் தொகையை காண்பிக்கும் C++ நிரல்
//Program to receive two integer numbers and display their sum
#include <iostream>
using namespace std; int main()
{
int num1, num2, sum;
//variables num1, num2, and sum are declared as integers
cout << "\n Enter Number 1: ";
cin >> num1;
cout << "\n Enter Number 2: "; cin >> num2;
sum = num1 + num2;
cout << "\n The sum of " << num1 << " and " << num2 << " is " << sum;
}
மேலே குறிப்பிடப்பட்டுள்ள நிரலில் அறிவிக்கப்பட்டுள்ள மூன்று மாறிகளான num1,num2 மற்றும் sum ஆகிய மாறிகள் முழு எண்ணாகவே அறிவிக்கப்பட்டுள்ளது. எனவே, மூன்று வெவ்வேறு முழு எண் மதிப்புகளே இந்த மூன்று மாறிகளிலும் சேமிக்கப்படும். நிரல் இயக்கப்படும் போது பயனரால் கொடுக்கப்படுகின்ற மதிப்புகளை சேமிக்க num1, num2 என்ற மாறிகள் பயன்படுகின்றன. Sum என்ற மாறியானது செயல்படுத்தப்பட்ட மதிப்பை (விடை) சேமிக்கப் பயன்படுகிறது.
மேலே கொடுக்கப்பட்டுள்ள நிரல் இயங்கும் போது,வரிசைஎண் 7 மற்றும் 9ல்குறிப்பிடப்பட்டுள்ள கூற்றுகள், num1மற்றும் num2க்கான மதிப்புகளை உள்ளீடாக கொடுக்கும் படி கேட்கும்.
வரிசை எண் 8 மற்றும் 10ல் பயனர் உள்ளீடாக தரும் மதிப்புகளை cin பெற்று முறையே மாறிகள் num1 மற்றும் num2ல் சேமிக்கும்.
வரிசை எண் 11, num1 மற்றும் num2 மாறிலிகளில் உள்ள மதிப்புகளை கூட்டி, விடை மதிப்பை மாறி Sum-ல் சேமிக்கும்.
(2) குறியுரு தரவினம் (char data type)
குருயுரு தரவினம் ஏற்றுக்கொள்ள கூடிய அனைத்து ASCII குறியுருக்களை பெற்று திருப்புகிறது. இது முழு எண் வகையாக கருதப்படுகிறது. ஏனெனில், அனைத்து குறியுருக்களும் நினைவகத்தில் அதனுடைய தொடர்புடைய ASCII குறியீடுகளாகவே குறிக்கப்படுகின்றன char என குறிப்பெயர் குறிக்கப்பட்டால் C++, குறியுரு அல்லது முழு எண்மதிப்பை சேமித்துக்கொள்ள அனுமதிக்கிறது.
எடுத்துக்காட்டு 9.2 ஏதேனும் ஒரு குறியுருவைப் பெற்று அதனுடைய அடுத்த குறியுருவை தெரிவிக்கும் நிரல்.
#include <iostream>
using namespace std;
int main()
{
char ch;
cout << "\n Enter a character: ";
cin >> ch;
ch = ch + 1;
cout << "\n The Next character: " << ch;
}
வெளியீடு:
Enter a character: A
The Next character: B
மேலே குறிப்பிடப்பட்ட நிரலில் ch என்ற மாறி, char தரவினமாக அறிவிக்கப்பட்டுள்ளது. பயனர் ஒரு குறியுருவை தரும் போது அது ch என்ற மாறியில் முழு எண் மதிப்பாக சேமிக்கப்படுகிறது. (அதாவது, சமமான ASCII குறியீடு)
ch = ch + 1;
இந்த கூற்றில் ch ன் மதிப்பு ஒன்று அதிகரிக்கப்பட்டு புதிய மதிப்பானது அதே ch மாறியில் இருத்தப்படுகிறது. (கணக்கீட்டுச் செயல்பாடானது எழுத்துக்களின் மீது அல்லாமல் எண்களில் மீது மட்டுமே செயல்படுகிறது).
முழு எண் மற்றும் குறியுரு தரவினங்கள் ஒன்றாக செயல்படும் விதத்தை விளக்கும் மற்றொரு நிரல்.
எடுத்துக்காட்டு நிரல் 9.3 ஒரு ASCII மதிப்பை பெற்று அதற்குரிய குறியுருவை காண்பிக்கும் C++ நிரல்
#include <iostream>
using namespace std;
int main ()
{
int n;
char ch;
cout << "\n Enter an ASCII code (0 to 255): ";
cin >> n;
ch = n;
cout << "\n Equivalent Character: " << ch;
}
வெளியீடு:
Enter an ASCII code (0 to 255): 100
Equivalent Character: d
மேலே உள்ள நிரலில் n என்ற மாறி முழு எண் int வகையாகவும், ch குறியுரு char வகையாகவும் அறிவிக்கப்பட்டுள்ளது. நிரல் இயக்கத்தின் போது ASCII மதிப்பை கொடுப்பதற்கு பயனுருக்கு நினைவூட்டுகிறது. பயனர் ASCII மதிப்பை முழு எண்ணாக தரும் பொழுது அது n என்ற மாறியில் சேமிக்கப்படுகிறது. ch = n என்ற கூற்றில் nன் மதிப்பு chல் இருத்தப்படுகிறது. ch என்பது குறியுரு வகை மாறி என்பதை நினைவில் கொள்க.
எடுத்துக்காட்டாக, பயனர் “100” என்ற உள்ளீடை தரும் பொழுது முதலில் 100 என்ற மதிப்பு n என்ற மாறியில் சேமிக்கப்படுகிறது. அடுத்த கூற்றில் n ன் மதிப்பு அதாவது 100 ch ல் இருத்தப்படுகிறது. ch என்பது ஒரு குறியுரு வகை ஆகையால் அந்த எண்ணுக்குரிய மதிப்பு விடையாக வருகிறது.
(3) மதிப்புப் புள்ளி (float data type)
ஒரு மாறி float என குறிக்கப்பட்டால் தசம புள்ளி, மிதப்பு புள்ளி மட்டும் மாறியில் சேமிக்கப்படும்.
தசம தரவினங்களில் பயன்படுத்துவதில் உள்ள இரண்டு சிறப்பு அம்சங்கள்
(1) முழு எண்களுக்கு இடையே உள்ள மதிப்பை குறிக்கிறது.
(2) மதிப்புகளின் மிக அதிகமான பரப்பை குறிக்கிறது. (greater range of values)
மிதப்பு புள்ளி அல்லது தசம செயற்பாடுகள் முழு எண் செயற்பாடுகளுடன் ஒப்பிடும் போது இயக்குதலுக்கு அதிக நேரத்தை எடுத்துக்கொள்ளும். அதாவது மிதப்பு புள்ளி செயற்பாடுகள் முழு எண் செயற்பாடுகளை விட மெதுவாக செயல்படும். இதுவே இதன் குறைபாடு ஆகும்.
எடுத்துக்காட்டு 9.4 ஒரு வட்டத்தின் பரப்பளவைக் காண உதவும் C++ நிரல்
#include <iostream>
using namespace std;
int main()
{
float r, area;
cout << "\n Enter Radius: ";
cin >> r;
area = 3.14 * r * r;
cout << "\n The Area of the circle is " << area;
}
வெளியீடு:
Enter Radius: 6.5
The Area of the circle is 132.665
மேலே கூறப்பட்ட எடுத்துக்காட்டில் ‘r’ மற்றும் ‘area’ என்ற இரண்டு மாறிகளும் மிதப்புப் புள்ளியாக ஒரே கூற்றில் அறிவிக்கப்பட்டுள்ளது. ‘r’ என்ற மாறி பயனரால் தரப்படுகின்ற ஆரத்தின் மதிப்பை எடுத்துக் கொள்கிறது. ‘area’ என்ற மாறி வாய்ப்பாட்டின் மூலம் பெறப்படும் வட்டத்தின் பரப்பளவை எடுத்துக் கொள்ளும். எடுத்துக்காட்டாக பயனர் ஆரத்தின் மதிப்பை 6.5 என உள்ளீடு செய்தால்,
area = 3.14 *r*r;
‘r’ என்ற மாறியின் மதிப்பை இருமுறை பெருக்கி பிறகு 3.14 (pi- ன் மதிப்பு) உடனும் பெருக்கி விடை 132.665 யை மாறி areaல் சேமிக்கிறது.
இதில் ‘r’ மற்றும் ‘area’ என்பது ஒரே இன மாறியாகும் எனவே இந்த இரண்டு மாறிகளும் ஒரே கூற்றில் அறிவிக்கப்பட்டுள்ளது பல ஒரே இன மாறிகளை வெவ்வேறு கூற்றில் அறிவிப்பதற்கு பதிலாக ஒரே கூற்றில் அறிவிப்பதனால் செயல்பாட்டு நேரம் குறைகிறது.
(4) இரட்டை தரவினம் (Double data type)
இது துல்லியமான இரட்டை மிதப்புப் புள்ளி எண்களாகும். (துல்லியம் என்பது தசம புள்ளிக்கு பிறகு வரும் இலக்கங்களை குறிக்கிறது) இரட்டை மிதப்புப்புள்ளி எண்கள் சாதரண மிதப்புப் புள்ளி எண்களையும் கையாளும். ஆனால், இது மிதப்புப் புள்ளி தரவினத்தை விட இரண்டு மடங்கு இடத்தை எடுத்துக் கொள்ளும்.
(5) void data type:
void என்பதன் பொதுவான பொருள் வெற்றிடம். C++ void தரவின மதிப்புகள் ஒரு வெற்று தொகுப்பை குறிக்கிறது. இது எந்த மதிப்பையும் திருப்பி அனுப்பாது.