12th Standard Syllabus & Materials
12th Standard
TN 12th Computer Applications மின்னணு தரவு பரிமாற்றம் Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications மின் - வணிக பாதுகாப்பு அமைப்புகள் Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications மின்னணு செலுத்தல் முறைகள் Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications மின் - வணிகம் Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications திறந்த மூல கருத்துருக்கள் Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications வலையமைப்பு வடமிடல் Sample Question Papers Study Material - QB365 Set A

Published on: 02/03/2021
12ஆம் வகுப்பு கணினி அறிவியல் குறைக்கப்பட்ட பாடத்திட்டத்தின் முக்கிய ஐந்து மதிப்பெண் வினாவிடைகள் - 2021(பொதுத்தேர்வு) - 12th Standard Tamil Medium Computer Science Syllabus Five Mark Important Questions with Answer key - 2021(Public Exam)
12ஆம் வகுப்பு Computer Science / கணினி அறிவியல் தமிழ் மீடியம் | மாதிரி வினாத்தாள்கள் | முக்கிய வினாக்கள் | கேள்வி விடை தொகுப்பு | வினாத்தாள்கள் | பொதுத்தேர்வு மாதிரி வினாத்தாள்கள் , Computer Science / கணினி அறிவியல் பாடத்திற்கான மாதிரி வினாத்தாள்கள், முக்கிய கேள்வி-விடைகள், ஒருமார்க் கேள்விகள், காலாண்டு & பொதுத்தேர்வு கேள்வித் தொகுப்புகள்
Questions + Answers key
Take MCQ Computer Science Test

1.
நெறிமுறைக்கும், நிரலுக்கும் உலகள வேறுபாட்டை எழுதுக
2.
நெறிமுறையின் சிக்கலை பற்றி விரிவாக எழுதுக
3.
சிறந்த மோசமான மற்றும் சராசரி நிலைகளின் செயல்திறன் - விளக்கமாக எழுதுக
4.
அணுகல் கட்டுப்பாடு - விளக்கமாக விவரிக்கவும்
5.
பின்வரும் செயற்கூறுகளின் பயன்பாட்டை எழுதுக.
(அ) plt.xlabel
(ஆ) plt.ylabel
(இ) plt.title
(ஈ) plt.legend( )
(உ) plt.show( )
6.
Matplotlib யை பயன்படுத்தும் pyplot வகைகளை விரிவாக விவரி.
7.
பின்வரும் குறிப்புகளைக் கொண்டு ITEM என்ற அட்டவணையை உருவாக்க பைத்தான் ஸ்கிரிப்ட்டை எழுதவும்.
அட்டவணைக்கு ஒரு பதிவை சேர்க்கவும்.
தரவுத்தளத்தின் பெயர் : ABC
அட்டவணையின் பெயர் : Item
நெடுவரிசையின் பெயர் மற்றும் விவரங்கள் :
| Icode | : | integer and act as primary key |
| Item Name | : | Character with length 25 |
| Rate | : | Integer |
| Record to be added | : | 1008, Monitor,15000 |
8.
HAVING துணைநிலைக்கூற்றின் பயன் யாது? எடுத்துக்காட்டு தருக.
9.
கீழ்காணும் c++ நிரலை செயல்படுத்த ஒரு பைத்தான் நிரலை எழுதவும்.
#include < iostream >
using namespace std;
int main()
{ cout << “WELCOME”;
return(0);
}
The above C++ program is saved in a file welcome.cpp
10.
getopt( ) என்ற செயற்கூறின் தொடரியலை எழுதி, அதன் செயலுறுப்புகளையும், திருப்பியனுப்பும் மதிப்புகளையும் விளக்குக.
11.
பணியாளர்களுக்கான ஏதேனும் ஐந்து புலங்களைக் கொண்ட ஒரு அட்டவணையை உருவாக்க ஒரு SQL கூற்றினை எழுதி, அந்த பணியாளர் அட்டவணைக்கு ஒரு அட்டவணை கட்டுப்பாட்டை உருவாக்கவும்.
12.
மாணவர் அட்டவணையில் பின்வரும் SQL கூற்றுகளை கட்டமைக்கவும்.
(i) SELECT கூற்று GROUP BY clause பயன்படுத்தி
(ii) SELECT கூற்று ORDER BY clause பயன்படுத்தி
13.
DBMS ன் பண்பியல்புகளை விளக்குக.
14.
DBMS மற்றும் RDBMS வேறுபடுத்துக.
15.
எழுது பொருட்களை (stationery) சேர்க்க அல்லது நீக்கும் பட்டியல் முறை நிரல் ஒன்றை எழுதுக. பொருள்களின் பெயர் மற்றும் பிராண்ட் - யை ஒரு dictionary - யில் சேமிக்க வேண்டும்.
16.
range( ) ன் நோக்கம் என்ன? எடுத்துக்காட்டுடன் விளக்குக.
17.
மாறியின் வரையெல்லைகளை எடுத்துக்காட்டுடன் விளக்குக.
18.
அனைத்து மூன்று இலக்க ஒற்றைப்படை எண்களை வெளியிடுவதற்கான நிரலை எழுதுக.
19.
if..else..elif கூற்றை எடுத்துக்காட்டுடன் விளக்குக.
20.
input ( ) மற்றும் print( ) செயற்கூறுகள் பற்றி விளக்கு.
21.
இருமத் தேடல் என்றால் என்ன? எடுத்துக்காட்டுடன் விளக்குக
22.
தொகுதி நிரலாக்கத்தின் பயன்களை எழுதுக?
23.
பல்உறுப்பு பொருளை எவ்வாறு அணுகுவாய் எடுத்துக்காட்டுடன் விளக்கு.
24.
இடைமுகம் மற்றும் செயல்படுத்துதலை எடுத்துக்காட்டுடன் விளக்குக.
25.
அளபுருக்கள் என்றால் என்ன?
(அ) தரவுவகை இல்லாத அளபுருக்கள்
(ஆ) தரவு வகையுடன் கூடிய அளபுருக்கள் விவரி?
1.
| வ. எண் | நெறிமுறை | நிரல் |
| 1. | சிக்கலை தர்க்கரீதியாக தீர்க்க உதவுகிறது மற்றும் நிரலுடன் வேறுபட்டிருக்கலாம் | நிரல் என்பது நிரலாக்க மொழியில் நெறிமுறையின் வெளிப்பாடாகும் |
| 2. | செயல்படுத்தப்படும் முறை மற்றும் வடிவமைப்பு நுட்பம் ஆகியவற்றை பொறுத்து இதனை வகைப்படுத்தலாம் | கட்டமைப்பு நிரல் அணுகுமுறை அல்லது பொருள் நோக்கு நிரலாக்க அணுகுமுறையை பயன்படுத்தி இதனை செயல்படுத்த முடியும் |
| 3. | நெறிமுறைக்கு குறிப்பிட்ட விதிமுறைகள் கிடையாது ஆனால் சில வழிகாட்டுதல்களை பின்பற்ற வேண்டும் | தேர்ந்தெடுக்கப்பட்ட மொழியில் குறிப்பிட்ட கட்டளை அமைப்புகளைக் கொண்டு நிரலை எழுதலாம் |
| 4. | போலி குறிமுறையை ஒத்திருக்கும் இதை எந்த கணிப்பொறி மொழியில் வேண்டுமானாலும் செயல்படுத்தலாம் | நிரலாக்க மொழிக்கு மிகவும் குறிப்பிடத் தக்கதாக நிரல் இருக்க வேண்டும் |
2.
நெறிமுறையின் சிக்கல்:
(i) எடுத்துக்காட்டாக, A நெறிமுறை n உள்ளீட்டு தரவின் அளவாக, இருப்பின், A ன் செயல்திறனை இரண்டு முக்கிய காரணிகளான (time) நேரம் மற்றும் இடம் ஆகியவை தீர்மானிக்கிறது
(ii) நேரம் காரணி: நெறிமுறைக்கு பொருந்தக் கூடிய முக்கிய செயல்பாடுகளின் எண்ணிக்கையை எண்ணுவதன் மூலம் நேரம் அளவிடப்படுகிறது, வரிசையாக்கம் நெறிமுறையிலுள்ள பொருத்தங்கள் எண்ணிக்கை
(iii) இடகாரணி (space): நெறிமுறைக்கு தேவைப்படும் மிக அதிகபட்ச நினைவக இடத்தை கணக்கிடுவதன் மூலம் இது அளவிடப்படுகிறது. நெறிமுறை f(n) ன் சிக்கலானது, அது n அளவிலான உள்ளீட்டு தரவை எடுத்துக்கொண்டு இயங்கும் நேரம் மற்றும் நினைவகத்தில் அதற்கு தேவைப்படும் இட ஒதுக்கீடு பொறுத்தது
(iv) நேரசிக்கல் (Time complexity): ஒரு நெறிமுறை செயலை செய்து முடிக்க எண்ணிக்கையே நெறிமுறையின் நேரசிக்கல் எனப்படும்
(v) இடச்சிக்கல் (space): ஒரு நெறிமுறையின் செயல்பாடு முடியும்வரை அதற்கு தேவைப்படும் நினைவக இடமே இடச்சிக்கல் எனப்படும். நெறிமுறைக்கு தேவைப்படும் இடம் பின்வரும் இரு கூறுகளின் கூடுத் தொகையாகும்
நிலையான பகுதி இது நெறிமுறைக்கு தேவையான தரவு மற்றும் மாறிகளை சேமிக்க பயன்படும் கூட்டு இடத்தை வரையறுக்கும். எடுத்துக்காட்டு நிரல் நெறிமுறையை பயன்படுத்தப்படும் மாறிகள் மற்றும் மாறிலிகள்
மாறும் பகுதி சிக்கலின் அளவு மற்றும் சுழற்சிக்கு தேவைப்படும் அனைத்து மாறிகளின் கூட்ட இடத்தின் அளவை பொறுத்து இது வரையறுக்கப்படும்.
எடுத்துக்காட்டாக: என்ற மதிப்பின் தொடர் பெருக்களை தற்சுழற்சி மூலம் கண்டறிதல்
3.
(i) ஒரு அணியில் n - மதிப்புகள் உள்ளதாக வைத்துக் கொள்வோம். இந்த பட்டியலில் இருந்து ஒரு குறிப்பிட்ட உறுப்பைத் தேட வேண்டும்
(ii) நெறிமுறையானது n - உறுப்புகளைக் கொண்ட பட்டியலில் இருந்து தேட வேண்டிய பட்டியலில் உள்ள ஒவ்வொரு உறுப்புகளோடு வரிசையாக ஒப்பீடு செய்து உறுப்புகளை பட்டியலில் ஒவ்வொன்றாக அதன் முதன்மை உறுப்பை கொண்டு ஒப்பிட வேண்டும்
(iii) இந்த எடுத்துக்காட்டில், பட்டியலில் உள்ள முதல் உறுப்பு தேடப்படும் உறுப்போடு பொருத்தமாக இருந்தால் அது தான் மிகச் சிறந்த நிலையாகும்
(iv) இந்த நிலையின் செயல்திறனை O(1) என்று வெளிப்படுத்தலாம். ஏனெனில், ஒரே ஒரு ஒப்பீடுதான் தேவைப்படுகிறது
(v) அதேபோல, இந்த எடுத்துக்காட்டில், பட்டியல் முழுவதற்கும் சென்று தேடினால், அந்த உறுப்பு பட்டியலில் இறுதியில் கண்டுபிடிக்கப்பட்டால் அல்லது பட்டியலின் இல்லாமல் இருந்தால் அதுதான் மோசமான நிலையாகும்
(vi) இந்த நிலையின் செயல்திறனை O(n) என்று வெளிப்படுத்தலாம், ஏனென்றால், n ஒப்பீடுகள் செய்யப்படுகின்றன
(vii) அதே எடுத்துக்காட்டுடன் தொடர்ந்தால் சராசரி ஒப்பீடுகள் எண்ணிக்கையைக் கண்டுபிடிப்பதன் மூலம் சராசரி நிலையின் செயல்திறனைப் பெறலாம். இங்கு,
குறைந்தபட்ச ஒப்பீடுகளின் எண்ணிக்கை = 1
அதிகபட்ச ஒப்பீடுகளின் எண்ணிக்கை = n
கண்டுபிடிக்கப்படாத உறுப்பின் அதிகபட்ச ஒப்பீடுகள் எண்ணிக்கை = n
எனவே, சராசரி ஒப்பீடுகள் எண்ணிக்கை = (n + 1)/2
ஆகையால் சராசரி நிலையின் செயல்திறனை O(n) என்று வெளிப்படுத்தலாம்
4.
(i) அணுகல் கட்டுப்பாடு என்பது கணினி சூழலில் உள்ள வளங்களை யாரெல்லாம் பார்வையிட மற்றும் பயன்படுத்த முடியும் என்பதை வரைமுறைப்படுத்தும் ஒரு பாதுகாப்பு தொழில்நுட்பமாகும். இது பாதுகாப்பின் ஒரு அடிப்படைக் கருத்தாகும்.
(ii) பொருளுக்கான ஆபத்தைக் குறிக்கிறது. அதாவது அணுகல் கட்டுப்பாடு என்பது தரவை அணுகுவதற்கான குறிப்பிடப்பட்ட கட்டுப்பாடாகும்.
(iii) பொருள் நோக்கு நிரலாக்க மொழியில் இது அணுகியல்பு வரையறுப்புகள் மூலம் செயல்படுத்தப்படுகிறது
(iv) C++ மற்றும் Java போன்ற பொருள் நோக்கு மொழிகள் Private, Protected, Public என்னும் சிறப்புச் சொற்களைப் பயன்படுத்தி இனக்குழு உறுப்புகளின் அணுகலைக் கட்டுப்படுத்துகிறது
(v) Private உறுப்புகளை இனக்குழுவிற்கு வெளியே இருந்து அணுக முடியாது. இனக்குழுவிற்கு உள்ள மட்டும்தான் கையாள முடியும்
(vi) Public உறுப்புகளை இனக்குழுவிற்கு வெளியே இருந்தும் அணுக முடியும். Public வழிமுறையை செயலாக்க அந்த இனக்குழுவின் பொருள் தேவைப்படுகிறது
(vii) Protected உறுப்புகள் அந்த இனக்குழு மற்றும் அதன் துணை இனக்குழுக்களால் அணுகப்படலாம். இதை அணுகுவதற்கு வேறு எந்த செயல்முறையும் அனுமதிக்காது
(ix) இது (Child) இனக்குழுவின் மரபுரிமை பெற்ற Parent இனக்குழுவின் குறிப்பிட்ட வளங்களை செயல்படுத்துகிறது. மாறி அல்லது வழிமுறையின் அணுகலை திறம்பட கட்டுப்படுத்துவதற்கான எந்த விதமான வழிமுறையையும் பைத்தான் கொண்டிருக்கவில்லை
(x) பைத்தான் ஒரு மாறி அல்லது வழிமுறையின் பெயருக்கு முன்னே ஒற்றை மற்றும் இரட்டை அடிக்கோடிடும் வழக்கத்தைப் பரிந்துரைக்கிறது. இதனால் Private மற்றும் Protected அணுகியல்பு வரையறுப்பிகளின் சில பண்புகளைப் பின்பற்றுகின்றன
(xi) பைத்தானில் தானமைவாக இனக்குழுவின் அனைத்து உறுப்புகளும் Public உறுப்புகளாகவும், C++ மற்றும் Java வில் தானமைவாக Private உறுப்புகளாகவும் உள்ளன
(xii) பைத்தானில் அனைத்து உறுப்புகளையும் இனக்குழுவிற்கு வெளியில் இருந்து அணுகமுடியும். ஆனால், C++ மற்றும் Java - வில் இவ்வாறு அணுக முடியாது
5.
(அ) plt.xlabel
X - அச்சின் தலைப்பை குறிப்பிடுகிறது.
(ஆ) plt.ylabel
Y - அச்சின் தலைப்பை குறிப்பிடுகிறது.
(இ) plt.title
வரைப்படத்தின் தலைப்பை குறிப்பிடுகிறது.
(ஈ) plt.legend( )
plt.legend() கட்டளையைக் கொண்டு கொடாநிலை புனைவுகள் செயலாக்கலாம்.
(உ) plt.show( )
வரைபடத்தை காண்பிக்க உதவுகிறது.
6.
Matplotlib பெட்டி வரைபடம், ஹிஸ்டோகிராம், ஸ்கேட்டர் வரைவு, பட்டை விளக்கப்படம் போன்ற பல்வேறு வகையான வரைவிகளை உருவாக்க பயன்படுகிறது.
கோட்டு வரைவு:
கோட்டு வரைவு அல்லது கோட்டு விளக்கப்படம் என்பது தகவல்களை, "குறிப்பான்கள்" (Marker) என்று அழைக்கப்படும் தரவு புள்ளிகளின் தொடரை நேர்கோட்டின் இணைப்பதன் மூலம் காட்டுகிறது. ஒரு கோட்டு வரைவு பொதுவாக கால இடைவெளி (Interval of time) நேரத் தொடர் (Time series) போன்ற போக்கு பகுப்பாய்வுக்கான (Trend analysis) தரவுகளை காட்சிப்படுத்த பயன்படுகிறது. எனவே, இதன் கோடுகள் கால வரிசையில் அமையும்.
எடுத்துக்காட்டு: வரி வரைபடம்:
import matplotlib.pyplot as plt
years [2014, 2015, 2016, 2017, 2018]
total_populations = [8939007, 8954518, 8960387, 8956741, 8943721]
plt.plot (years, total_populations)
plt.title("Year vs Population in India")
plt.xlabel ("Year")
plt.ylabel ("Total Population")
plt.show()
இந்த நிரலில்,
plt.title() \(\rightarrow\) வரைப்படத்தின் தலைப்பை குறிப்பிடுகிறது.
plt.xlabel() \(\rightarrow\) X-அச்சின் தலைப்பை குறிப்பிடுகிறது.
plt.ylabel() \(\rightarrow\) Y-அச்சின் தலைப்பை குறிப்பிடுகிறது.

பட்டை விளக்கப்படம்:
பட்டை வரைவி (அல்லது) பட்டை விளக்கப்படம் என்பது மிகவும் பொதுவான வரைவிடம் வகையாகும். இது எண் வகை தரவுகளுக்கும், மதிப்புகளுக்கும் இடையே உள்ள உறவை வெளிப்படுத்துகிறது. பட்டை விளக்கப்படம் வகைப்படுத்தப்பட்ட தரவுகளை செவ்வக பட்டையாக காட்டும்.
இப்பட்டைகள் செங்குத்தாகவோ அல்லது கிடை மட்டமாகவோ தொகுக்கப்படலாம். இம்முறை கொடுக்கப்பட்ட எண் மதிப்புகளை பல்வேறு வகையுடன் ஒப்பிட்டு பார்க்க உதவும்.
Matplotlib-ல் பட்டை விளக்கப்படத்தை உருவாக்க, plt.bar() என்ற செயற்கூறினை பயன்படுத்த வேண்டும்.
எடுத்துக்காட்டு:
import matplotlib.pyplot as plt
# Our data
labels = ["TAMIL", "ENGLISH", "MATHS", "PHYSICS", "CHEMISTRY", "CS"]
usage [79.8, 67.3, 77.8, 68.4, 70.2, 88.5]
#Generating the y positions. Later, we'll use them to replace them with labels.
y_positions range (len(labels))
#Creating our bar plot
plt.bar (y_positions, usage)
plt.xticks (y_positions, labels)
plt.ylabel ("RANGE")
plt.title("MARKS")
plt.show()
வெளியீடு:

வட்ட விளக்கப்படம் :
வட்ட விளக்கப்படம் ஒரு பொதுவான விளக்கப்பட வகையாகும். வட்ட வடிவில் தோன்றும் இந்த விளக்கப்படம் எண் விகிதத்தை விளக்கும் விதத்தில் துண்டுகளாக பிரிக்கப்பட்டிருக்கும். வட்ட விளக்கப்படத்தில் உள்ள துண்டுகள் முழு படத்துடன் உள்ள உறவை வெளிக்காட்டும்.
Matplotlib கொண்டு வட்ட விளக்கப்படத்தை உருவாக்க plt.pie() செயற்கூறினை பயன்படுத்த வேண்டும். autopct அளவுரு, Python சரம் வடிவமைப்பை பயன்படுத்தி மதிப்பை சதவீதத்தில் காட்டும்.
எடுத்துக்காட்டு :
import matplotlib.pyplot as plt
sizes = [89, 80, 90, 100, 75]
labels = ["Tamil", "English", "Maths", "Science", "Social"]
plt.pie (sizes, labels = labels, autopct = "%.2f")
plt.show()
வெளியீடு:

7.
import sqlite3
connection = sqlite3 . connect ("ABC.db")
cursor = connection. cursor ( )
sql_command = " " "
CREATE TABLE Item (Icode INTEGER, Item_Name VARCHAR (25), Rate Integer); " " "
cursor. execute (sql_command)
sql_command = " " "INSERT INTO Item (Icode, Item_name, Rate)
VALUES (1008, "Monitor", 15000);" " "
cursor. execute (sql_command)
connection.commit ()
connection.close ()
Print ("TABLE CREATED").
வெளியீடு:
(1008, 'Monitor', 15,000)
8.
குழு சார்புகளைப் பொறுத்து தரவுகளை வடிகட்ட HAVING துணை நிலைக்கூற்று பயன்படுகிறது. இது WHERE நிபந்தனை கூற்றை ஒத்ததாகும் ஆனால் குழு சார்புகளுடன் பயன்படுகிறது. குழு சார்புகளை WHERE துணை நிலைக் கூற்றில் பயன்படுத்த முடியாது. ஆனால் HAVING துணை நிலைக் கூற்றில் பயன்படுத்த முடியும்.
எடுத்துக்காட்டு:
import sqlite3
connection = sqlite3.connect("Academy.db")
cursor = connection.cursor( )
cursor.execute("SELECT GENDER,COUNT(GENDER) FROM Student GROUP BY GENDER HAVING COUNT( GENDER) > 3")
result = cursor.fetchall( )
co = [i[0] for i in cursor. description]
print(co)
print(result)
வெளியீடு:
['gender', 'COUNT(GENDER)']
[('M', 5)]
9.
#Now select File \(\rightarrow \) New in Notepad and type the Python program as main.py
# Program that compiles and executes a .cpp file
# Python main.py -i welcome
import sys, os, getopt
def main(argv):
cpp_file = ''
exe_file = "
opts, args = getopt,getopt(argv,"i:",['ifile='])
for 0, a in opts:
if 0 in ("-i", "--ifile"):
cpp_file = a + '.cpp'
exe_file = a + '.exe'
run(cpp_file, exe_file)
def run(cpp_file, exe_file):
print("Compiling" + cpp_file)
os.system('g++ ' + cpp_file + ' -o ' + exe_ file)
print("Running " + exe_file)
print("-------------------------")
print
os.system( exe_file)
print
if __name__ =='__main__' :
main(sys.argv[1:])
வெளியீடு:

10.
பைத்தான் getopt கூறுநிலை : பைத்தானில் getopt கூறுநிலை கட்டளை வரி தேர்வுகளையும் செயலுருபுகளையும் பிரித்தெடுக்க உங்களுக்கு உதவும். இந்த கூறுநிலை கட்டளைவரி செயலுருபு பிரித்தெடுத்தலை செயல்படுத்த செயற்கூறுகளை வழங்குகிறது.
getopt.getopt செயற்கூறு:
இந்த செயற்கூறு கட்டளை வரி தேர்வுகளையும், அளபுருக்களின் பட்டியலையும் பிரித்தெடுக்கும். இந்த வழிமுறைக்கான தொடரியல் பின்வருமாறு
<opts>,<args>=getopt.getopt(argv, options, [long_options])
அளபுருக்களின் விவரங்கள் :
(i) argv - இது பிரிக்கப்பட வேண்டிய அளபுருக்களின் மதிப்புகளின் பட்டியலைக் குறிக்கும். நமது நிரலில், கட்டளை முழுமையும் பட்டியலாக அனுப்பப்படுகிறது.
(ii) options-இது உள்ளீட்டு அல்லது வெளியீட்டு முறைகளை குறிக்கும். சர எழுத்து தேர்வுக்களாகும். இங்கு 'i' அல்லது 'o' போன்ற தேர்வுகளும், அதைத் தொடர்ந்து முக்காற்புள்ளியும் (:) அமைந்திருக்கும். இங்கு (:) முறைமை குறிப்பிடப் பயன்படுகிறது.
(iii) long_options - இந்த அளபுரு சரங்களின் பட்டியலை கொண்டுள்ளது, Long options-ன் செயலுருபைத் தொடர்ந்து அதன் அமைவிடத்தின் முழு முகவரியுடன் '=' சமக்குறி இடம்பெற வேண்டும். நம்முடைய நிரலில் C++ கோப்பின் பெயர் சரமாக செலுத்தப்படும். மேலும், அது ஒரு உள்ளீடு கோப்பு என்பதைக் குறிக்க, அதனுடன் 'i' என்ற தேர்வும் செலுத்தப்படும்.
வழிமுறை இரண்டு உறுப்புகளை கொண்டுள்ள மதிப்புகளை திருப்பியனுப்பும். இவை ஒவ்வொன்றும் தனித்தனியாக opts மற்றும் args என்ற இரண்டு வெவ்வேறு பட்டியலில் (அணிகள்) சேமிக்கப்படும்.
Opts முறைமை, பாதைப் போன்ற பிரிக்கப்பட்ட சரங்களின் பட்டியலைக் கொண்டிருக்கும். Args, தவறான பாதை அல்லது முறைமையின் காரணமாக பிரிக்கப்பட முடியாத எந்தவொரு சரத்தின் பட்டியலைக் கொண்டிருக்கும்.
getopt() வழிமுறையின் மூலம் சரங்களை பிரித்தெடுக்கும் போது பிழையேதும் இல்லாவிட்டால் args வெற்று அணியாக அமையும்.
உதாரணத்திற்கு, p4 என்ற C++ கோப்பினை, கட்டளை வரியில் இயக்கப்போகும் பைத்தான் நிரல், பின்வரும் ஒன்றைப் போல getopt() வழிமுறையைக் கொண்டிருக்கும்.
opts, args = getopt.getopt (argv, "i:",['ifile='])
| opts | [('-i', 'c:\\pyprg\\p4')] என்பதைக் கொண்டிருக்கும். |
| -i : | தேர்வு முறைமையினைத் தொடர்ந்து இடம் பெற்றிருக்க வேண்டும். |
| 'c:\\pyprg\\p4' | மதிப்பு C++ கோப்பின் முழுமையான பாதை |
நம்முடைய எடுத்துக்காட்டுகளில், கட்டளை வரி கட்டளைகளை அனைத்தும் பிரிக்கப்பட்டிருப்பதாலும், செயலுருபு மீதமில்லாமலிருப்பதாலும்,
இரண்டாவது செயலுருபு args வெறுமையாக இருக்கும். Print() கட்டளையைப் பயன்படுத்தி args வெளிக்காட்டப்பட்ட செய்திருந்தால், வெளியீடு [] என இருக்கும்.
>>>print(args)
[ ]
11.
CREATE TABLE employee
(
empcode integer NOT NULL,
name char(20),
desig char(20),
Pay integer,
allowance integer,
PRIMARY KEY (empcode)
);
12.
(i) GROUP BY clause
SELECT கூற்றுடன் GROUP BY clause பயன்படுத்தி வரிசைகள் அல்லது நெடுவரிசைகளில் ஒரே மாதிரியான மதிப்புகளில் கொண்ட மாணவர்களை ஒரு தொகுதியாக பிரிக்கலாம் அல்லது ஒரு அட்டவணையை குழுக்களாக பிரிக்கலாம். உதாரணத்திற்கு ஒரு வகுப்பில் உள்ள ஆண் மாணவர்கள் அல்லது பெண் மாணவிகளின் எண்ணிக்கையைத் தெரிந்து கொள்ள, GROUP BY ஐ பயன்படுத்தலாம்.
GROUP BY clause ன் தொடரியல்
SELECT <column-names> FROM <table-name>
GROUP BY <column-name>HAVING
[condition];
மேற்கண்ட கட்டளையை மாணவர் அட்டவணையில் பயன்படுத்த:
SELECT Gender FROM Student GROUP BY Gender;
மேற்கூறிய கட்டளையின் வெளியீடு பின்வருமாறு:

இரண்டு முடிவுகள் மட்டுமே திரும்ப பெறப்பட்டுள்ளது என்பதை கருத்தில் கொள்ளவும். இதன் காரணம் என்னவெனில், நாம் 'ஆண்' மற்றும் 'பெண்' என்ற இரு பாலினங்களையே பெற்றுள்ளோம். GROUP BY clause அனைத்து 'M' மாணவர்களையும் தொகுத்து, ஒரு வரிசையை மட்டும் வெளியிட்டுள்ளது. இது போன்றே 'F' மாணவர்களுக்கும் வெளியீடு அமையும்.
உதாரணத்திற்கு, மாணவர் அட்டவணையில் ஆண், பெண் மாணவர்களின் எண்ணிக்கையை கண்டறிய கீழ்காணும் கட்டளை தரப்பட்டுள்ளது:
SELECT Gender, count(*) FROM Student GROUP BY Gender;


(ii) ORDER BY clause:
SQL-ன் ORDER BY clause பயன்படுத்தி தரவுகளை ஒன்று அல்லது அதற்கு மேற்பட்ட நெடுவரிசைகளின் அடிப்படையில் ஏறுவரிசையிலோ அல்லது இறங்குவரிசையிலோ வரிசைப்படுத்தலாம்.
1. கொடாநிலையாக, ORDER BY தரவை ஏறுவரிசையில் வரிசைப்படுத்தும்.
2. தரவினை DESC என்ற சிறப்புச் சொல்லைப் பயன்படுத்தி இறங்கு வரிசையிலும், ASC என்ற சிறப்புச் சொல்லைப் பயன்படுத்தி ஏறுவரிசையிலும் வரிசைப்படுத்தலாம்.
ORDER BY ஐ இவ்வாறு பயன்படுத்தலாம்:
SELECT <column-name>[,<column- name>,...] FROM <table-name>ORDER BY <column1>,<column2>,....ASC\DESC;
உதாரணத்திற்கு:
மாணவர்களின் பெயரை அகர வரிசைப்படுத்திய பட்டியலை வெளியிட பயன்படும் கட்டளையமைப்பு
SELECT * FROM Student ORDER BY Name;
வரிசைப்படுத்தப்பட்ட மாணவர் அட்டவணை பின்வருமாறு:
| Admno | Name | Gender | Age | Place |
| 104 | Abinandh | M | 18 | Chennai |
| 101 | Adarsh | M | 18 | Delhi |
| 102 | Akshith | M | 17 | Bangalore |
| 100 | Ashish | M | 17 | Chennai |
| 103 | Ayush | M | 18 | Delhi |
| 106 | Devika | F | 19 | Bangalore |
| 107 | Hema | F | 17 | Chennai |
| 105 | Revathi | F | 19 | Chennai |
குறிப்பு:
ORDER BY clause பயன்படுத்தினால் அட்டவணைக்கு எந்த பாதிப்பையும் ஏற்படுத்தாது.
13.
| 1. | தரவுகளை கையாளும் திறன் | உறவுநிலை தரவுதள மேலாண்மை அமைப்பானது தரவு தளத்தில் தரவுகளை கையாளும் வசதியை வழங்குகிறது (சேமித்தல், மாற்றம் செய்தல் மற்றும் நீக்குதல்) |
| 2. | மிகைமை (தேவைக்கு அதிகமானவற்றை) குறைத்தல் | நவீன உலகில் வன்வட்டுகளின் விலை மிகவும் குறைவு. ஆனால் முந்தைய காலங்களில் வன்வட்டுகள் மிகவும் விலை உயர்ந்தவை, ஆகையால் தரவுதளத்தில் உள்ள தேவையற்ற தரவுகள் பெரிய சிக்கலாக இருந்தது. ஆனால் RDBMS தரவுகளை பிரித்தாளும் இயல்பு நிலையைப் பின்பற்றி தேவையற்ற தரவுகள் மீண்டும் இடம்பெறுவதைக் குறைக்கிறது. |
| 3. | தரவுகளின் நிலைத்தன்மை | தொடர்ச்சியாக புதுப்பிக்கப்படும் மற்றும் பராமரிக்கப்படும் நேரடி தரவின் (Live data) நிலைத்தன்மையை பராமரிப்பது ஒரு சவாலாக மாறும். ஆனால் RDBMS தானாகவே அதை கையாளுகிறது. |
| 4. | பல பயனர்கள் மற்றும் ஒத்த அணுகுதலை ஆதரித்தல் | RDBMS பல பயனர்களை ஒரே நேரத்தில் ஒரு தரவின் மீது வேலை (தரவுகளைப் புதுப்பித்தல், செருகுதல், நீக்குதல்) செய்ய அனுமதிக்கிறது. இருப்பினும் தரவின் நிலைத்தன்மைப் பராமரிப்பை கையாளுகிறது. |
| 5. | வினவல் மொழி | RDBMS ஒரு எளிய வினவல் மொழியை பயனருக்கு வழங்குகிறது. இதைப்பயன்படுத்தி தரவுத்தளத்திலிருந்து தரவுகளை எளிமையாக பெறவும், சேர்க்கவும், நீக்கவும், புதுப்பிக்கவும் முடியும். |
| 6. | பாதுகாப்பு | RDBMS. தரவின் பாதுகாப்பை கவனித்துக்கொள்கிறது. அங்கீகாரமற்ற அணுகுதலில் இருந்து தரவுகளுக்கு பாதுகாப்பை வழங்குகிறது. வழக்கமான RDBMS -ல், பல்வேறு அணுகலுக்கான அனுமதியுடன் பயனர் கணக்குகளை நாம் உருவாக்கமுடியும். இதனைப் பயன்படுத்தி பயனர் அணுகுதலை கட்டுப்படுத்தி நம்முடைய தரவுகளை எளிமையாக பாதுகாத்துக் கொள்ள முடியும். |
| 7. | RDBMS பரிவர்த்தனைகளை ஆதரித்தல் | இது நிகழ் உலக பயன்பாடுகளில் தரவு ஒருமைப்பாட்டை கையாள மற்றும் நிர்வகிக்க நம்மை அனுமதிக்கிறது. இங்கு பல்புரியாக்கம் (multithreading) விரிவாக பயன்படுகிறது. |
14.
| ஒப்பீட்டு அடிப்படை | DBMS | RDBMS |
| விரிவாக்கம் | Database Management System தரவுதள மேலாண்மை அமைப்பு | Relational Database Management System உறவுநிலை தரவுதள மேலாண்மை அமைப்பு. |
| தரவு சேமிப்பு | வழிசெலுத்தல் மாதிரி அதாவது ஒன்றோடொன்று இணைக்கப்பட்ட பதிவுகளின் தரவு | உறவுநிலை மாதிரி (அட்டவணையில்) அட்டவணையில் வரிசை மற்றும் நெடுவரிசை உள்ள தரவுகள் |
| மிகைமைத் தரவு | இடம் பெற்றுள்ளது | இடம் பெறவில்லை |
| இயல்பாக்கம் | செய்ய இயலாது | இயல்பாக்கத்தை பயன்படுத்துகிறது. |
| தரவு அணுகல் | அதிக நேரத்தை எடுத்துக் கொள்கிறது. | DBMS உடன் ஒப்பிடும் போது வேகமானது. |
| திறவு கோல்கள் மற்றும் குறியீடுகள் | பயன்படுத்தப்பட வில்லை | உறவுநிலையை உருவாக்குவதற்குப் பயன்படுகிறது. |
| பரிவர்த்தனை மேலாண்மை | திறமையற்றது, பிழைகளைக் கொண்டது பாதுகாப்பற்றது. | திறமையானது மற்றும் பாதுகாப்பானது. |
| பரவல் தகவல் தளம் | ஒத்துழைக்காது | ஒத்துழைக்கும் |
| எடுத்துக்காட்டு | Dbase, FoxPro | SQL server, Oracle, mysql, MariaDB, SQLite, MS - Access |
15.
Class stationery:
def getdata(self):
self.Itemname = input ("enter name of the item")
self.Brand = input ("enter brand name")
item = {}
ch= 'y'
while (ch = = 'y'):
print ("1. Add items \n 2. Delete items")
n = int (input ("enter your choice"))
if (n = = 1):
s = stationery ( )
s.getdata ( )
item.append {S}
elif (n = = 2):
del item
else: print ("Invalid Input")
ch = input ("Do you want to continue (Y/N)")
16.
range () என்பது பைத்தானில் தொடர் மதிப்புகளை உருவாக்கப் பயன்படும் செயற்கூறாகும். range () செயற்கூறை பயன்படுத்தி நீங்கள் தொடர் மதிப்புகளுடன் List-ஐ உருவாக்கலாம். range () செயற்கூறு மூன்று செயலுறுப்புகளைக் கொண்டுள்ளது.
range () செயற்கூறின் தொடரியல் :
range (start value, end value, step value)
இங்கு,
(i) start value : தொடரின் தொடக்க மதிப்பு. சுழியம் தானமைவு தொடக்க மதிப்பாகும்.
(ii) end value : தொடரின் உச்ச வரம்பு. பைத்தான் இறுதி மதிப்பை உச்ச வரம்பு-1 என எடுத்துக் கொள்கிறது.
(iii) step value : இது ஒரு விருப்ப செயலுருபு (கொடுக்க வேண்டியது கட்டாயமில்லை) இது வெவ்வேறு இடைவெளிகளில் மதிப்புகளை உருவாக்கப் பயன்படுகிறது.
எடுத்துக்காட்டு : 10 வரை உள்ள முழு எண்களை உருவாக்குதல் :
for x in range (1,11):
print (x)
வெளியீடு :
1
2
3
4
5
6
7
8
9
10
தொடர் மதிப்புகளுடன் List-ஐ உருவாக்குதல் :
(i) range() செயற்கூறை பயன்படுத்தி நீங்கள் தொடர் மதிப்புகளுடன் கூடிய List-ஐ உருவாக்கலாம். range( ) செயற்கூறின் விடையை List ஆக மாற்றுவதற்கு, List( ) செயற்கூறு பயன்படுகிறது. List( ) செயற்கூறு range( ) ன் விடையை List - ஆக உருவாக்குகிறது.
(ii) தொடரியல் :
List_Variable=List (range())
(iii) எடுத்துக்காட்டு:
>>> Even_List = List(range(2,11,2))
>>> print(Even_List)
[2, 4, 6, 8, 10]
(iv) மேலே உள்ள குறிமுறையில், List( ) செயற்கூறு range( ) ன் விடையை Even_List என்ற List உறுப்புகளாக எடுத்துக் கொள்கிறது. எனவே, Even_List என்ற List முதல் ஐந்து இரட்டைப்படை எண்களை உறுப்புகளாக பெற்றிருக்கும்.
(v) இதுபோன்று, எந்த தொடர் எண்களையும் range() பயன்படுத்தி உருவாக்கலாம். பின்வரும் எடுத்துக்காட்டு முதல் 10 இயல் எண்களின் 2ன் அடுக்கங்களுடன் கூடிய List-ஐ உருவாக்குதலை விளக்குகிறது.
(vi ) எடுத்துக்காட்டு :
squares = [ ]
for x in range(1,11):
s = x ** 2
squares.append(s)
print (squares)
(vii) மேலே உள்ள நிரலில், "squares" என்ற பெயருடைய ஒரு வெற்று List உருவாக்கப்பட்டுள்ளது. பின்னர், for மடக்கு 1 முதல் 10 இயல் எண்களை range() செயற்கூறை பயன்படுத்தி உருவாக்குகிறது. மடக்கின் உள்ளே, xன் தற்போதைய மதிப்பு, 2-ன் அடுக்கேற்றத்தால் அதிகப்படுத்தப்பட்ட பின்னர் s என்ற மாறியில் சேமிக்கப்படுகிறது. இறுதியாக, நிரல் பின்வரும் மதிப்புகளை விடையாகக் காண்பிக்கிறது.
வெளியீடு:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
17.
மாறியின் வரையெல்லை என்பது நிரலின் அணுகக்கூடிய பகுதியைக் குறிப்பதாகும். அதாவது, எந்த பகுதியில் மாறியைப் பயன்படுத்துகிறோமோ அதைக் குறிக்கிறது. வரையெல்லை நடப்பு மாறித் தொகுதிகள் மற்றும் அதன் மதிப்புகளைக் கொண்டிருக்கும். மாறியின் வரையெல்லைகளை உள்ளமை வரையெல்லை மற்றும் முழுதளாவிய வரையெல்லை என இரண்டு வகையாகப் பிரிக்கலாம்.
உள்ளமை வரையெல்லை (Local Scope)
ஒரு செயற்கூறுவின் உடற்பகுதியின் உள்ளே அறிவிக்கப்படும் மாறி உள்ளமை மாறி எனப்படும்.
உள்ளமை மாறியின் விதிமுறைகள்
(i) உள்ளமை மாறியின் வரையெல்லை அது வரையறுக்கப்பட்டுள்ள தொகுதிக்குள் மட்டுமே பயன்படுத்த முடியும்.
(ii) செயற்கூறினுள் மாறி உருவாக்கப்படும் போது அது உள்ளமைவாக அமையும்.
(iii) செயற்கூறு இயக்கப்படும் போது மட்டுமே உள்ளமை மாறிகள் உயிர் பெறும்.
(iv) முறையான அளபுருக்கள் அதன் செயற்கூறுக்கு உள்ளமையானது ஆகும்.
எடுத்துக்காட்டு: உள்ளமை மாறியை உருவாக்குதல்
def loc():
y=0 # local scope
print(y)
loc()
வெளியீடு :
0
முழுதளாவிய வரையெல்லை (Global Scope)
அனைத்து செயற்கூறுகளுக்கும் மேலாக அறிவிக்கப்படும் மாறி முழுதளாவிய மாறி எனப்படும். முழுதளாவிய வரையெல்லை உடைய மாறியை நிரலின் எந்த பகுதியிலும் அணுகமுடியும் முழுதளாவிய வரையெல்லை கொண்ட மாறியை ஒரு செயற்கூறினுள் அணுகுவதற்கு 'global' சிறப்புச் சொல்லானது பயன்படுகிறது.
பைத்தானின் 'Global' சிறப்புச் சொல்லின் அடிப்படை விதிகள்:
(i) செயற்கூறுக்கு வெளியே மாறியை அறிவிக்கும் போது அது தானமைவாக முழுதளாவிய வரையெல்லை ஆகும். 'global' என்ற சிறப்புச் சொல்லை பயன்படுத்த வேண்டியதில்லை.
(ii) செயற்கூறினுள் முழுதளாவிய மாறியின் மதிப்பை மாற்றியமைக்க 'global' என்ற சிறப்புச்சொல் பயன்படுத்த வேண்டும்.
(iii) செயற்கூறுவிற்கு வெளியே 'global' என்ற சிறப்புச் சொல் எந்த விளைவையும் ஏற்படுத்தாது.
'Global' சிறப்புச் சொல்லின் பயன்பாடு:
எடுத்துக்காட்டு : செயற்கூறுவின் உள்ளிருந்து முழுதளாவிய மாறியை அணுகுதல்
c = 1 # global variable
def add():
print(c)
add()
வெளியீடு:
1
18.
for a in range (100, 1000):
if a %2==1:
print a
வெளியீடு:
101, 103, 105, 107 ... ... 997, 999
19.
பின்னலான if..else..elif கூற்று:
if கூற்றுகளைத் தொடர் கூற்றுகளாக அமைக்க விரும்பும் போது 'else' பகுதிக்குப் பதிலாக 'elif' பகுதி பயன்படுத்தலாம்.
தொடரியல்:
if < condition-1 >:
statements-block 1
elif < condition-2 >:
statements-block 2
else:
statements-block n
மேற்கண்ட if..elif..else பொதுவடிவத்தில், condition-1 பரிசோதிக்கப்படும். condition-1 சரி எனில் statements-block 1 நிறைவேற்றப்படும். இல்லையெனில் கட்டுப்பாடு, condition-2யை சோதிக்கும். condition-2 சரி எனில் statements-block-2 நிறைவேற்றப்படும். இல்லையெனில் else பகுதியில் உள்ள statements-block n நிறைவேற்றப்படும்.

(i) `elif' பகுதி if..else-if..else கூற்றுகளை ஒன்றிணைத்து ஒரே if..elif...else......' கூற்றாக செயல்படும்.
(ii) 'elif' ன் விரிவாக்கம் 'else if'.
(iii) 'if' கூற்றில் பயன்படுத்தப்படும் 'elif' பகுதிக்கு வரம்பு இல்லை, ஆனால் else பகுதி பயன்படுத்தும் போது கூற்றின் இறுதியில் பயன்படுத்த வேண்டும்.
எடுத்துக்காட்டு:
கீழே கொடுக்கப்பட்ட நிபந்தனையின்படி மாணவர்கள் பெற்ற தர வரிசையை அச்சிட வேண்டிய நிரல்
| சராசரி | தரம் |
| >=80 and above | A |
| >=70 and <80 | B |
| >=60 and <70 | C |
| >=50 and <60 | D |
| Otherwise | E |
# பின்னலான if கூற்றின் பயன்பாட்டை விளக்கும் நிரல்
m1=int (input("Enter mark in first subject:"))
m2=int (input("Enter mark in second subject: "))
avg= (m1+m2)/2
if avg > =80:
print ("Grade: A")
elif avg>=70 and avg <80: print ("Grade: B")
elif avg>=60 and avg<70: print ("Grade: C")
elif avg>=50 and avg<60: print ("Grade: D")
else:
print ("Grade: E")
வெளியீடு 1:
Enter mark in first subject: 34
Enter mark in second subject: 78
Grade : D
வெளியீடு 2:
Enter mark in first subject: 67
Enter mark in second subject: 73
Grade: B
20.
உள்ளீடு மற்றும் வெளியீடு செயற்கூறுகள் :
ஒரு நிரல் பயனர் விரும்பிய பணியை நிறைவேற்றுவதற்கு பயனருடன் தொடர்பு கொள்ள வேண்டும். இதற்கு உள்ளீட்டு - வெளியீட்டு செயற்கூறுகள் பயன்படுகிறது. input( ) செயற்கூறு, ஓர் நிரலை இயக்கம் பொழுது தரவுகளை இயக்கும் பொழுது தரவுகளை உள்ளீடு செய்யவும், print( ) என்ற வெளியீடு செயற்கூறு நிரலின் தீர்வுகளை திரையில் காண்பிக்க உதவுகிறது
Print( ) செயற்கூறு
பைத்தானில், print( ) செயற்கூறு நிரலை இயக்கும் பொழுது தரவுகளை வெளியிட பயன்படுகிறது
print( ) செயற்கூறின் தொடரியல் கீழே கொடுக்கப்பட்டுள்ளது.
print ("string to be displayed as output")
print (variable)
print ("String to be displayed as output", variable)
print ("String1", variable, "String 2", variable, "String 3" .....)
எடுத்துக்காட்டு:
> > > print ("Welcome to Python Programming")
Welcome to Python Programming
> > > x = 5
> > > y = 6
> > > z = x + y
> > > print (z)
11
> > > print ("The sum = ", z)
The sum = 11
> > > print ("The sum of ", x, "and", y, "is", z)
The sum of 5 and 6 is 11
வெளியீடு
Welcome to Python programming
11
The sum = 11
The sum of 5 and 6 is 11
print( ) செயற்கூறு தீர்வுகளை திரையில் காண்பிக்கும் முன் கோவையை மதிப்பீடு செய்யவும். print( ) செயற்கூறினுள் கொடுக்கப்படும் முழு கூற்றினையும் திரையில் காட்டும். காற்புள்ளி(,) கொண்டு print( ) செயற்கூறினுள் ஒன்றுக்கு மேற்பட்ட உருப்புகளை பிரிக்கலாம்.
input ( ) செயற்கூறு
பைத்தானில், input( ) செயற்கூறு நிரலை இயக்கம் பொழுது தரவுகளை உள்ளீடாக பெற்றுக் கொள்ளப் பயன்படுகிறது. input( ) செயற்கூறின் தொடரியல்,
Variable = input ("prompt string")
இந்த தொடரியலில் உள்ள "prompt string" பயனர் கொடுக்கப்பட வேண்டிய உள்ளீடு எதுவென்பதை உணர்த்தும் கூற்று அல்லது செய்தியை கொண்டிருக்கும்
input( ) கட்டளை அமைப்பில் உள்ள "prompt string" திரையில் தோன்றும், பயனர் இதை படித்து உள்ளீடு சாதனத்திலிருந்து எதிர்பார்க்கப்படும் தரவுகளை கொடுக்கலாம். input( ) செயற்கூறு, விசைப்பலகையின் மூலம் தட்டச்சு செய்தவற்றை மாறியில் சேமித்து வைக்கும் "prompt string" கொடுக்கப்படவில்லையெனில் திரையில் எந்த தகவலும் தோன்றாது. இதனால் பயனர் எவற்றை உள்ளீடு செய்ய வேண்டும் என்பதை தெரிந்து கொள்ள முடியாது
எடுத்துக்காட்டு 1: "prompt string" கொண்டுள்ளன input ( ) செயற்கூறு
> > > city=input ("Enter Your City:")
Enter Your City: Madurai
> > > print ("I am from", city)
I am from Madurai
எடுத்துக்காட்டு 2: "prompt string" இடம்பெறாத input( ) செயற்கூறு
> > > city=input( )
Rajarajan
> > > print (I am from", city)
I am from Rajarajan
மேலே உள்ள எடுத்துக்காட்டு 2 ல், input( ) செயற்கூற்றில் "prompt string" இடம்பெறவில்லை. எனவே, எவற்றை உள்ளீடாக தர வேண்டும் என்பது பயனர் புரிந்து கொள்ள இயலாது. நிரலுக்கு தொடர்பில்லாத தரவுகளை உள்ளிட்டால், தவறான வெளியீட்டை வெளியிடும். எனவே பயனர் நிரலை உரிய முறையில் இயக்க, "prompt string" input() செயற்கூறில் பயன்படுத்த வேண்டும்.
input() செயற்கூறு அனைத்து தரவுகளையும் சரங்களாக ஏற்றுக் கொள்ளும். பயனர் எண்களை மதிப்புகளாக உள்ளீடு செய்யும் போது, அவை வெளிப்படையாக எண்வகை தரவுகளாக மாற்றப்பட வேண்டும். int() செயற்கூறு சரவகை தரவை எண்வகை தரவாக வெளிப்படையாக மாற்ற உதவுகிறது.
21.
இருமத் தேடல்:
இருமத் தேடலை பாதி இடைவெளித் தேடல் நெறிமுறை என்றும் அழைக்கலாம். வரிசைப்படுத்தப்பட்ட அணிக்குள் இலக்கு மதிப்பின் இருப்பிடத்தைக் கண்டுபிடிக்கிறது. பிரித்து-கைப்பற்றுதல் நெறிமுறையைப் போல் இருமத் தேடலைச் செய்து மடக்கை நேரத்தில் நிறைவேற்றப்படும்.
இருமத் தேடலுக்கான வழிமுறை:
1. மைய உறுப்பிலிருந்து தொடங்கவும்:
(i) இலக்கு மதிப்பும் அணியின் மைய உறுப்பும் நிகர் எனில் (அதாவது, மைய இலக்கு = உறுப்புகளின் எண்ணிக்கை / 2) மைய உறுப்பின் சுட்டெண்ணைத் திருப்பி அனுப்பும்
(ii) நிகரில்லை என்றால், மைய உறுப்பை மதிப்போடு ஒப்பிடவும்
(iii) மைய சுட்டெண்ணிலுள்ள எண் இலக்கு மதிப்பை விட பெரியது எனில், மைய சுட்டெண்ணிற்கு வலப்புறம் உள்ள உறுப்புகளைத் தேர்ந்தெடுத்து படிநிலை -1 லிருந்து தொடங்கவும்
(iv) மைய சுட்டெண்ணிலுள்ள எண் இலக்கு மதிப்பை விட சிறியது எனில், மைய சுட்டெண்ணிற்கு இடப்புறம் உள்ள உறுப்புகளைத் தேர்ந்தெடுத்து படிநிலை -1 லிருந்து தொடங்கவும்
2. பொருத்தமான தேடல் கண்டுபிடிக்கப்பட்டால், பொருந்திய உறுப்பின் சுட்டெண்ணைத் திருப்பி அனுப்பும்.
3. பொருத்தம் இல்லையெனில், -1 என்ற மதிப்பைத் திருப்பி அனுப்பும் அல்லது தேடல் நிறைவேற்றப்படவில்லை என்ற தகவலை அறிவிக்கவும்
இருமத் தேடல் இயங்கும் கோட்பாடுகள்:
(i) இருமத்தேடலில் பயன்படும் அணி வரிசையாக்கம் செய்யப்பட்ட அணியாக இருக்க வேண்டும். இருமத் தேடலைப் பயன்படுத்தி மதிப்பு 60-ன் இருப்பிடத்தைத் தேடுவதாக எடுத்துக்கொள்வோம்.
(ii) முதலில் நாம் அணியின் மைய உறுப்பை mid = low + (high - low) / 2 என்ற வாய்ப்பாட்டைப் பயன்படுத்தித் தீர்மானிக்க வேண்டும். இங்கு, 0 + (9 - 0) / 2 = 4 (4.5 யின் முழு மதிப்பு எடுத்துக்கொள்ளவும்) அதனால் அணியின் மையம் 4 ஆகும்
(iii) இப்பொழுது நாம் 4-ம் சுட்டெண் இருப்பிடத்தில் சேமிக்கப்பட்ட மதிப்போடு தேடப்படும் மதிப்பை (அதாவது, 60) ஒப்பிடு செய்வோம். 4 - ம் சுட்டெண் இருப்பிடத்தில் உள்ள மதிப்பான 50 என்பது, இது தேடப்படும் மதிப்பு கிடையாது. தேடப்படும் மதிப்பானது 50 - விட அதிகமாக இருப்பதால்
(iv) low மதிப்பை m + 1 என மாற்றி புதிய mid மதிப்பை மறுபடியும் கண்டுபிடிக்க வேண்டும்
low = mid + 1
mid = low + (high - low) / 2
(v) இப்பொழுது நமது mid மதிப்பு 7 ஆகும். நாம் இருப்பிடம் 7ல் சேமிக்கப்பட்ட மதிப்பை இலக்கு மதிப்போடு (அதாவது 60) ஒப்பிடுவோம்
(vi) இருப்பிடம் 7 ல் சேமிக்கப்பட்ட மதிப்பு தேடப்படும் மதிப்பு கிடையாது. மாறாக, நாம் தேடுவதை விட அதிகமான மதிப்பாக இருக்கிறது. எனவே, தேடப்படும் மதிப்பு இந்த இருப்பிடத்தை விட குறைவான பகுதியில் இருக்க வேண்டும்.
(vii) எனவே, நாம் mid மதிப்பைத் திரும்பவும் கணக்கீடு செய்ய வேண்டும்
high = mid - 1
mid = low +(high - low )/2
தற்பொழுது mid மதிப்பு 5 ஆகும்
(viii) நாம் இருப்பிடம் 5 ல் உள்ள சேமிக்கப்பட்ட மதிப்பை இலக்கு மதிப்போடு ஒப்பீடு செய்வோம். இது ஒரு சரியான பொருத்தமாகும்.
(ix) இலக்கு மதிப்பு 60, இருப்பிடம் 5-ல் சேமிக்கப்பட்டுள்ளது என்று நாம் முடிவு செய்கிறோம். எடுத்துக்காட்டாக, இலக்கு மதிப்பு 95 எனில், இந்த செயல்முறை -1 என்ற மதிப்பைத் திருப்பி அனுப்பும்.
22.
தொகுதி நிரலாக்கத்தின் பயன்கள் :
(i) குறைந்த வரிகளைக் கொண்ட குறிமுறையை எழுதினால் போதுமானது.
(ii) மறுபயனாக்கத்திற்கும் பலமுறை குறிமுறை தட்டச்சு செய்வதை தவிர்ப்பதற்கு, ஒற்றை செயல்முறையை உருவாக்க வேண்டும்.
(iii) நிரல்கள் மிக எளிதாக வடிவமைக்கப்படுகின்றன. ஏனெனில், முழு குறிமுறையும் சிறிய பகுதிகளாக பிரிக்கப்பட்டு சிறிய குழுவினரால் கையாளப்படுகிறது.
(iv) தொகுதி நிரலாக்கம் பல நிரலர்களை ஒரே பயன்பாட்டில் வேலை செய்ய அனுமதிக்கிறது.
(v) பல கோப்புகளில் இந்த குறிமுறை சேமிக்கப்படுகிறது.
(vi) குறிமுறை சிறியதாக, எளியதாக, புரிந்துகொள்ளும் வகையில் உள்ளது.
(vii) துணை நிரல்களாக அல்லது செயற்கூறுகளாக இருப்பதால் பிழைகளை எளிதாக கண்டுபிடிக்க இயலும்.
(viii) ஒரே குறிமுறை பல பயன்பாடுகளில் பயன்படுத்தப்படலாம்.
(ix) மாறிகளின் வரையெல்லையை எளிதில் கட்டுப்படுத்த முடியும்.
23.
(i) structure அமைப்பை (OOP மொழியில் இது இனக்குழு அமைப்பு என்று அழைக்கப்படுகிறது) கொண்டு பல உருப்படி பொருளில் அனைத்து உருப்புகளும் பெயரிடப்படும் (பெயர் கொடுக்கப்பட்டு பின்வரும் போலிக்குறிமுறையை காணவும்):
class Person:
creation()
firstName := " "
lastName := " "
id := " "
email := " "
Person எனும் புதிய தரவு வகையை படவடிவில் உருவமைக்கலாம்.

| பின்வருவனவற்றை main() கொண்டிருக்கும் | |
| p1 :=Person() | பொருள் உருவாக்கும் கூற்று |
| firstName :=Padmashri" | -- firstName எனும் புலத்திற்கு Padmashri என மதிப்பிருத்தப்படுகிறது. |
| lastName :="Baskar" | lastName எனும் புலத்திற்கு Baskar என மதிப்பிருத்தப்படுகிறது. |
| id :="994-222-1234" | id எனும் புலத்திற்கு 994-222-1234 என மதிப்பிருத்தப்படுகிறது. |
| email = "compsci @ gmail.com" | email எனும் புலத்திற்கு compsci@gmail.com என மதிப்பிருத்தப்படுகிறது. |
| -- output of firstName : Padmashri | |
(ii) இனக்குழு கட்டமைப்பு ஒரு நபரை குறிக்கும் பல பகுதி பொருளுக்கு வடிவம் வரையறுக்கிறது. இந்த வரையறுப்பு புதிய தரவு வகையை சேர்க்கிறது. இதில் நபர் என்பது வகையாகும். ஒரு முறை வரையறுத்தலின், நாம் புதிய மாறிகளை உருவாக்கலாம்.
(iii) இந்த எடுத்துக்காட்டில் Person என்பது இனக்குழு அல்லது வகையாகும். p1 என்பது தனிப்பட்ட குக்கீ குறிக்கின்றது. குக்கீ கட்டர் கொண்டு பல குக்கீகளை தயாரிக்கலாம். அது போன்று இவ் இனக்குழுவைக் கொண்டு பல பொருள்களை உருவாக்கலாம்.
(iv) இதுவரை, இனக்குழு தொடர்புடைய தரவுகளைக் கொண்டு தரவு அருவமாக்கத்தை எவ்வாறு வரையறுக்கிறது என்று பார்த்தோம். ஓர் இனக்குழு என்பது தரவுகளை மட்டுமில்லாது செயற்கூற்றினையும் தன்னுடன் கொண்டிருக்கும்.
(v) இவ்வகை செயற்கூறுகள், இனக்குழுவிற்கு கீழ்ப்படிந்தவை, ஏனெனில் இவை இனக்குழுவின் தரவுகளை வைத்து செயல்படுகிறது.
(vi) எடுத்துக்காட்டு Person பொருளின் தரவுகளை மாற்றம் செய்தல் அல்லது ஆய்வு செய்தல் எனவே, இனக்குழு என்பது தரவு மற்றும் அத்தரவின் மீது செயலாற்றும் செயற்கூறுகளை கொண்ட தொகுப்பாகும்.
(vii) முன்னதாக பார்த்த எடுத்துக்காட்டு மற்றும் விளக்கத்தின் மூலம் அருவமாக்கம் என்பது சிக்கலான தரவுகளை எளிய முறையில் கையாள உதவுகின்றது என்பதை உணரலாம்.
24.
(i) இடைமுகம் :
ஒரு பொருள் (Object) செய்யக்கூடிய செயல்களின் தொகுப்பு இடைமுகம் ஆகும். எடுத்துக்காட்டாக, மின் விளக்கின் சுவிட்சை அழுத்தும் போது மின் விளக்கு ஒளிர்கிறது. அது எவ்வாறு ஒளிர்கிறது என்பது தெரிந்திருக்க வேண்டியதில்லை. பொருள் நோக்கு நிரலாக்க மொழியில், இடைமுகம் என்பது அனைத்து செயற்கூறுகளின் விவரிப்பு ஆகும். எடுத்துக்காட்டில், மின் விளக்கை போல் செயல்படும் எதுவும் turn_on () மற்றும் turn_off () என்ற செயற்கூறு வரையறையைக் கொண்டிருக்கும். இனக்குழுவின் பண்புக் கூறுகளை செயல்படுத்த இடைமுகம் பயன்படுகிறது.
(ii) இடைமுகம் மற்றும் செயல்படுத்துதல் இரண்டுக்கும் இடையே உள்ள வேறுபாடு என்னவெனில்,
| இடைமுகம் | செயல்படுத்துதல் |
| ஒரு பொருள் செய்யக்கூடிய நடவடிக்கையை வரையறுக்கிறது, ஆனால் அவற்றை உண்மையில் செய்யக்கூடியது இல்லை. | இடைமுகத்தில் வரையறுக்கப்பட்டுள்ள கட்டளைகளை நிறைவேற்றுகிறது. |
(iii) பொருள் நோக்கு நிரலாக்க மொழியில் இனக்குழு என்பது இடைமுகம் ஆகும். செயல்படுத்துதல் என்பது பொருள் (object) எவ்வாறு செயல்படுத்தப்பட்டு இயங்குகிறது என்பதை குறிப்பதாகும்.
இடைமுகத்தின் பண்புகள்
(i) ஒரு பொருளை முறையாக உருவாக்கி வழங்குவதற்கும் அதனை செயல்படுத்துவதற்கும் தேவையான இடைமுகத்தை இனக்குழு வார்ப்பு குறிப்பிடுகிறது.
(ii) செயற்கூறுகளைப் பொருளுக்கு அனுப்புவதன் மூலம் பொருளின் பண்புகளையும் பண்புக்கூறுகளையும் கட்டுப்படுத்த முடிகிறது.
காரின் வேகத்தை அதிகரிக்கும் எடுத்துக்காட்டை எடுத்துக் கொள்வோம்.

(iii) காரை ஓட்டும் நபர் அந்த காரின் உட்புற செயல்பாடுகள் பற்றி அறிந்திருக்க வேண்டிய அவசியமில்லை. காரின் வேகத்தை அதிகப்படுத்த, அவர் காரின் துரிதப்படுத்தியை (accelerator) அழுத்தி விரும்பிய பண்பை பெறுவார். இங்கு துரிதப்படுத்தி என்பது கார் ஓட்டுநருக்கும் (அழைக்கும் பொருள்) இயந்திரத்துக்கும் (அழைக்கப்படும் பொருள்) இடையேயான இடைமுகம் ஆகும். இதில், அழைக்கும் செயற்கூறு இவ்வாறு இருக்க வேண்டும் speed(70): என இருக்க வேண்டும். இது ஒரு இடைமுகமாகும்.
(iv) உட்புறமாக, காரின் இயந்திரம் அனைத்து வேலைகளையும் செய்கிறது. எரிபொருள், காற்று, அழுத்தம் மற்றும் மின்சாரம் ஆகியவை இங்கு ஒன்றாக சேர்ந்து, ஆற்றலை உருவாக்கி, வாகனத்தை நகர்த்துகிறது. இந்த அனைத்து நடவடிக்கைகளும் கார் ஓட்டுநரிடம் இருந்து பிரித்து வைக்கப்பட்டுள்ளது. அவர் வேகமாக காரை செலுத்துவதில் ஆர்வமாக இருப்பார். இதனால், இடைமுகத்தை செயல்படுத்துதலில் இருந்து பிரித்து வைக்கப்படுகிறது.
(v) ஒரு எளிமையான உதாரணத்தைக் காணலாம். கொடுக்கப்பட்டுள்ள 3 செயலுருபுகளில் குறைந்த மதிப்பைக் காணும் செயற்கூற்றைச் செயல்படுத்துவதைக் கவனி.
let min x y z:=
if x < y then
if x < z then x else z
else
if y < z then y else z
25.
அளபுருக்கள் என்பது செயற்கூறு வரையறையில் உள்ள மாறிகள் ஆகும்.
அ) தரவு வகை இல்லாத அளபுருக்கள்:
(i) செயற்கூறு வரையறைக்கு ஓர் எடுத்துக்காட்டைக் காணலாம்.
(requires: b> = 0)
(returns: a to the power of b)
let rec pow a b:=
if b = 0 then 1
else a * pow a(b - 1)
(ii) மேலேயுள்ள செயற்கூறு வரையறையில் 'b' என்ற மாறி அளபுரு ஆகும். மாறி 'b'க்கு அனுப்பப்படும் மதிப்பானது செயலுருபு ஆகும்.
(iii) செயற்கூறின் முன் நிபந்தனை (requires) மற்றும் பின் நிபந்தனை (return) கொடுக்கப்பட்டுள்ளது.
(iv) சில மொழிகளின் நிரல் பெயர்ப்பி இவ்வகை சிக்கல்களை நிரல் நெறிமுறைப்படி சரி செய்கிறது. ஆனால் சில நிரல் பெயர்ப்பிக்கு தரவு வகையைக் குறிப்பிடுவது கட்டாயமாகும்.
(v) மேலே உள்ள செயற்கூறு வரையறையில், if கோவை, then கிளைக்கு மதிப்பு 1 யைத் திருப்பி அனுப்பினால், தரவு வகை (data type) விதிப்படி if கோவை முழுவதுமே 'int' தரவு வகைக் கொண்டிருக்கும்.
if கோவையின் தரவு வகை int ஆக இருப்பதால், செயற்கூறின் திருப்பி அனுப்பும் மதிப்பும் int ஆக இருக்கும், 'b' யின் மதிப்பு சுழியத்தோடு ஒப்பீடு செய்யப்படுகிறது.
(vi) அதனால் 'b' யின் தரவுவகை 'int' ஆகும். * செயற்குறியுடன் 'a' யின் மதிப்பு மற்றொரு கோவையோடு பெருக்குத் தொகையைக் கணக்கிடுவதால், 'a' யின் வகையும் int ஆகும்.
ஆ) தரவு வகையுடன் கூடிய அளபுருக்கள் :
(i) சில காரணங்களுக்காக, இப்பொழுது நாம் அதே செயற்கூறு வரையறை தரவு வகையுடன் எழுதலாம்.
(requires: b > = 0)
(returns: a to the power of b)
let rec pow(a: int) (b: int) : int: =
if b = 0 then 1
else a * pow b(a - 1)
(ii) 'a' மற்றும் 'b' தரவு வகை குறிப்பு (type annotations) எழுதும் போது, அடைப்புக்குறிக்குள் ( ) அவசியமானது ஆகும்.
(iii) ஏனெனில், நிரல்பெயர்ப்பி இவற்றை அனுமானிப்பது மிகவும் எளிது.
(iv) வரையறை let என்ற சிறப்புச் சொல்லோடு அறிமுகப்படுத்தப்படுகிறது. அதனைத் தொடர்ந்து செயற்கூறின் பெயர் மற்றும் அதனுடைய செயலுருபுகள் பிறகு செயலுருபுவைக் கணக்கீடு செய்யும் வாய்ப்பாடு := குறிக்குப் பிறகு எழுத வேண்டும். தற்சுழற்சி செயற்கூற்றை வரையறுக்க விரும்பினால் let-க்கு பதிலாக let rec என்று பயன்படுத்த வேண்டும்.
செயற்கூறு வரையறையின் தொடரியல் :
let rec fn a 1 a2,,,an := k
12th Standard Syllabus & Materials
12th Standard
TN 12th Computer Applications களப்பெயர் முறைமை (DNS) Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications வலையமைப்பு எடுத்துக்காட்டுகள் மற்றும் நெறிமுறைகள் Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications கணினி வலையமைப்பு ஓர் அறிமுகம் Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications PHP-உடன் MySQL-ஐ இணைத்தல் Sample Question Papers Study Material - QB365 Set A
Tamilnadu Stateboard 12th Standard Subjects

Maths

Chemistry

Physics

Biology

Computer Science

Business Maths and Statistics

Economics

Commerce

Accountancy

History

Computer Applications

Biology

Computer Technology

Computer Applications

Computer Science

Business Maths and Statistics

Commerce

Economics

Maths

Chemistry

Physics

Computer Technology

History

Accountancy

Tamil

English

French
Tamilnadu Stateboard Standards