12th Standard Syllabus & Materials
12th Standard
TN 12th English Poem - 6 - Incident of the French Camp Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th English Prose - 6 - On the Rule of the Road Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th English Prose - 5 - The Chair Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th English Supplementary - 4 - The Midnight Visitor Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th English Poem - 4 - Ulysses Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th English Prose - 4 - The Summit Sample Question Papers Study Material - QB365 Set A

Published on: 10/07/2021
QB365 provides detailed and simple solution for every book back questions in class 12 Computer Science subject.It will helps to get more idea about question pattern in every book back questions with solution.
12ஆம் வகுப்பு Computer Science / கணினி அறிவியல் தமிழ் மீடியம் | மாதிரி வினாத்தாள்கள் | முக்கிய வினாக்கள் | கேள்வி விடை தொகுப்பு | வினாத்தாள்கள் | பொதுத்தேர்வு மாதிரி வினாத்தாள்கள் , Computer Science / கணினி அறிவியல் பாடத்திற்கான மாதிரி வினாத்தாள்கள், முக்கிய கேள்வி-விடைகள், ஒருமார்க் கேள்விகள், காலாண்டு & பொதுத்தேர்வு கேள்வித் தொகுப்புகள்
Questions + Answers key
Take MCQ Computer Science Test

1.
பின்வரும் கட்டளை ஒவ்வொன்றையும் விளக்கவும்.
Python < filename.py > - < i > < C++ filename without cpp extension >
2.
CSV கோப்பிலுள்ள தரவை வடிவமைப்பதற்கு பின்பற்றவேண்டிய விதிமுறைகளை எழுதுக.
3.
பைத்தானில் ஒரு கோப்பை படிப்பதற்கான பல்வேறு வழிமுறைகளை எழுதுக.
4.
எக்ஸெல் மற்றும் CSV கோப்பின் வேறுபாடு என்ன?
5.
மாணவர் அட்டவணையில் பின்வரும் SQL கூற்றுகளை கட்டமைக்கவும்.
(i) SELECT கூற்று GROUP BY clause பயன்படுத்தி
(ii) SELECT கூற்று ORDER BY clause பயன்படுத்தி
6.
கீழ்காணும் பணியாளர் அட்டவணையை கருத்தில் கொண்டு (i) முதல் (v) வரையிலான வினாக்களுக்கு SQL கட்டளைகளை எழுதுக.
| EMP CODE | NAME | DESIG | PAY | ALLO WANCE |
| S1001 | Hariharan | Supervisor | 29000 | 12000 |
| P1002 | Shaji | Operator | 10000 | 5500 |
| P1003 | Prasad | Operator | 12000 | 6500 |
| C1004 | Manjima | Clerk | 8000 | 4500 |
| M1005 | Ratheesh | Mechanic | 20000 | 7000 |
(i) அனைத்து பணியாளர்களின் விவரங்களை அவர்கள் பெறும் சம்பளங்களின் இறங்கு வரிசையில் காண்பிக்க.
(ii) 5000 முதல் 7000 வரை ALLOWANCE பெறும் அனைத்து பணியாளர்களின் விவரங்களை காண்பிக்க.
(iii) mechanic வகையை சார்ந்த பணியாளர்களை நீக்க.
(iv) ஒரு புதிய வரிசையை உருவாக்க.
(v) operators வகையை சார்ந்த அனைத்து பணியாளர்களின் விவரங்களை காண்பிக்க.
7.
DBMS ன் பண்பியல்புகளை விளக்குக.
8.
DBMS மற்றும் RDBMS வேறுபடுத்துக.
9.
10.
பைத்தானிலுள்ள பல்வேறு set செயல்பாடுகளை பொருத்தமான எடுத்துக்காட்டுகளுடன் விளக்குக.
11.
range( ) ன் நோக்கம் என்ன? எடுத்துக்காட்டுடன் விளக்குக.
12.
பைத்தானில் பயன்படும் சர செயற்குறிகளை தகுந்த எடுத்துக்காட்டுடன் விளக்குக.
13.
இரண்டு எண்களின் LCM கண்டுபிடிப்பதற்கான பைத்தான் நிரலை எழுதுக.
14.
மாறியின் வரையெல்லைகளை எடுத்துக்காட்டுடன் விளக்குக.
15.
கொடுக்கப்பட்ட எண்ணின் பெருக்கல் வாய்ப்பாட்டை வெளியிடும் நிரலை எழுதுக.
16.
if..else..elif கூற்றை எடுத்துக்காட்டுடன் விளக்குக.
17.
பைத்தானில் உள்ள வில்லைகள் பற்றி எழுதுக
18.
ஸ்கிரிப்ட் முறைமை நிரலாக்கம் பற்றி எழுதுக.
19.
குமிழி வரிசையாக்க நெறிமுறையை எடுத்துக்காட்டுடன் விளக்குக.
20.
வரிசைமுறை தேடல் நெறிமுறையை விவாதிக்கவும்.
21.
தொகுதி நிரலாக்கத்தின் பயன்களை எழுதுக?
22.
மாறியின் வரையெல்லைகளின் வகைகளை விளக்குக (அல்லது) LEGB விதியை எடுத்துக்காட்டுடன் விளக்குக.
23.
List என்றால் என்ன? ஏன் List,, Pairs என்று அழைக்கப்படுகிறது. எடுத்துக்காட்டுடன் விவரி.
24.
இடைமுகம் மற்றும் செயல்படுத்துதலை எடுத்துக்காட்டுடன் விளக்குக.
25.
பின்வரும் நிரலில்
let rec gcd a b : =
if b < > 0 then gcd b (a mod b) else return a
அ) செயற்கூறுவின் பெயர்
ஆ) தற்சுழற்சி செயற்கூறு கூற்று
இ) அளபுருக்கள் கொண்ட மாறியின் பெயர்
ஈ) செயற்கூறுவை தற்சுழற்சிக்கு அழைக்கும் கூற்று
உ) தற்சுழற்சியை முடிவுக்கு கொண்டுவரும் கூற்று ஆகியவற்றை எழுதுக.
1.
| Python | கட்டளை வரியிலிருந்து பைத்தான் நிரலை செயல்படுத்துவதற்கான சிறப்புச் செயல் |
| filename.py | செயல்படுத்த வேண்டிய பைத்தான் நிரலின் பெயர் |
| -i | உள்ளீட்டு முறைமை |
| C++ filename without cpp extension | தொகுக்கப்பட்டு செயல்படுத்தப்பட வேண்டிய C++ நிரலின் பெயர் |
உதாரணத்திற்கு, கட்டளை தூண்டுக்குறியில் "Python pycpp.py - i pali" என்று உள்ளிட்டு enter விசையை அழுத்தவும். தொகுத்தல் வெற்றிகரமாக முடிந்தால் நீங்கள் எதிர்பார்த்த வெளியீடு கிடைக்கும் இல்லையேல் பிழைச் செய்தி வெளியிடப்படும்.
2.
CSV கோப்பிலுள்ள தரவை வடிவூட்டம் செய்ய பின்பற்ற வேண்டிய விதிமுறைகள்
(i) ஒவ்வொரு வரிசையும் (தரவின் வரிசை) புதிய வரியில் இருக்க அந்த வரியை நுழைவு பொத்தானை அழுத்த வேண்டும்.
எடுத்துக்காட்டு :↲
xxx,yyy↲
↲ என்ற குறியீடானது நுழைவு விசையை குறிக்கும்.
(ii) கோப்பினில் உள்ள கடைசி பதிவானது வரிமுறிவு/வரி செலுத்தி பிரிப்பானைக் கொண்டிருக்கலாம் அல்லது இல்லாமலும் இருக்கலாம்.எடுத்துக்காட்டாக :
PPP, qqq ↲
yyy, xxx
(iii) சாதாரண பதிவு வரிசைகளின் வடிவங்களை போன்று கோப்பின் முதல் வரிசையில் தோன்றக்கூடிய விருப்பத்தலைப்பு வரிசை இருக்கலாம். கோப்பின் தலைப்பானது புலங்களின் தொடர்புடைய பெயரினை கொண்டிருக்க வேண்டும். மேலும் பதிவுகளிலுள்ள புலங்களின் எண்ணிக்கையில் மீதமுள்ள கோப்பில் இருத்தல் வேண்டும். ↲
எடுத்துக்காட்டு :
field_name1, field_name2, field_name3↲
aaa,bbb,ccc ↲
zzz,yyy,xxx CRLF (Carriage Return and Line Feed)
(iv) தலைப்பு மற்றும் ஒவ்வொரு பதிவிலும் ஒன்று அல்லது அதற்கு மேற்பட்ட புலங்கள் காற்புள்ளியால் பிரிக்கப்பட்டிருக்கலாம். இடைவெளியானது புலத்தின் ஒரு பகுதியான கருதப்படும் மேலும் நிராகரிக்கப்பட மாட்டாது. பதிவின் கடைசி காற்புள்ளியை தொடர்ந்து காற்புள்ளி இடம் பெறல் கூடாது.எடுத்துக்காட்டு :Red,Blue
(v) ஒவ்வொரு புலமும் இரட்டை மேற்கோள் குறிகளுக்குள் கொடுக்கப்படலாம் அல்லது கொடுக்கப்படாமல் இருக்கலாம். புலமானது இரட்டை மேற்கோள் குறிகளுக்குள் தரப்படவில்லையெனில், புலங்களில் இரட்டை மேற்கோள் குறியானது தோன்றாது: எடுத்துக்காட்டு:
"Red","Blue","Green"↲ # இரட்டை மேற்கோள் குறிகளுடன் உள்ள புலத்தின் தரவு
Black, White, Yellow # இரட்டை மேற்கோள் குறிகள் இல்லாத புலத்தின் தரவு
(vi) புலங்களில் வரிதிருப்பி (CRLF), இரட்டை மேற்கோள் குறி மற்றும் காற்புள்ளி போன்றவைகளை கொண்டிருந்தால் அவைகள் இரட்டை மேற்கோள் குறிகளுக்குள் கொடுக்கப்பட வேண்டும்.
எடுத்துக்காட்டு :
Red,",",Blue CRLF # காற்புள்ளியே ஒரு புலத்தின் மதிப்பாக இருப்பதால் அதை இரட்டை மேற்கோள் குறிக்குள் கொடுக்கப்பட வேண்டும்.
Red, Blue, Green
(vii) புலமானது இரட்டை மேற்கோள் குறிகளுக்குள் கொடுக்கப்பட்டிருக்க வேண்டுமெனில், இரட்டை மேற்கோள் குறிகளுக்குள் உள்ள புலமானது மற்றொரு இரட்டை மேற்கோள் குறிகளுக்குள் அமைக்கப்பட வேண்டும்.
""Red"", ""Blue"", Green # இரட்டை மேற்கோள்குறி ஒரு புலத்தின் மதிப்பாக இருப்பதால் அதை மற்றொரு இரட்டை மேற்கோள் குறிக்குள் அமைக்கப்பட வேண்டும்.
3.
பைத்தான் பயன்படுத்தி csv கோப்பினை படித்தல்:
CSV கோப்பினை படிக்க இரண்டு வழி முறைகள் உள்ளன.
(i) CSV தொகுதி படித்தல் செயற்கூறை பயன்படுத்துதல்.
(ii) DictReader இனக்குழுவை பயன்படுத்துதல்.

CSV -ன் Reader செயற்கூறு :
(i) CSV கோப்பின் உள்ளடக்கத்தை படிக்க csv.reader ( ) என்ற செயற்கூறானது பயன்படுத்தப்படுகிறது.
(ii) reader ( ) செயற்கூறானது கோப்பின் ஒவ்வொரு வரியையும் படித்து அவற்றை நெடுவரிசைகளின் பட்டியலாக (List) அமைக்கும்.
(iii) மாறியின் தரவிற்கு தேவையான நெடுவரிசையை தேர்வு செய்யலாம். இச்செயற்கூறை பயன்படுத்தி பயனர் கோப்பின் தரவுகளில் உள்ள இரட்டை மேற்கோள் குறி(" "),(|) மற்றும் (,) போன்ற பல்வேறு வடிவமைப்புகளை பயன்படுத்தி படிக்கலாம்.
csv.reader ( ) செயற்கூறின் தொடரியல்
csv.reader(fileobject, delimiter, fmtparams)
இங்கு
(iv) file object : கோப்பின் பாதையையும் முறைமையும் திருப்பி அனுப்பும்.
(v) delimiter : இது விருப்பத்தேர்வு அளபுருவாகும். இது சொந்த வரம்புக் குறிகளை கொண்டிருக்கும். (',|) போன்றவை மற்றவைகள் தவிர்க்கப்படும்.
(vi) fmtparams: கொடாநிலை மதிப்புகளை மேற்பதிப்பு செய்ய/நீக்க பயன்படும் விருப்பத் தேர்வு அளபுருவாகும்.
(i) CSV கோப்பு-கொடாநிலை பிரிப்பானான காற்புள்ளியை கொண்ட தரவு.
(ii) CSV கோப்பு - தொடக்கத்தில் இடம் கொண்ட தரவுகள்.
(iii) CSV கோப்பு - மேற்கோளுடன் கூடிய தரவுகள்
(iv) CSV கோப்பு - தனிப்பயன் பிரிப்பான கொண்ட தரவு.
கொடாநிலை பிரிப்பான், காற்புள்ளியுடன் கூடிய CSV (,) கோப்புகள் :
பின்வரும் நிரலானது கொடாநிலை பிரிப்பானான காற்புள்ளியுடன் கூடிய "sample1 .csv" என்ற கோப்பினை படித்து ஒவ்வொரு வரிசையாக அச்சிடும் நிரல்.
#importing csv
import csv
#opening the csv file which is in different location with read mode
with open('c:\pyprg\sample1.csv', 'r') as F:
#other way to open the file is f= ('c:\pyprg\ sample1.csv', 'r')
reader = csv.reader(F)
for row in reader :
# printing each line of the Data row by row
print(row)
F.Close ()
வெளியீடு
['SNO', 'NAME', 'CITY']
['12101', 'RAM', 'CHENNAI']
['12102', 'LAVANYA', 'TIRUCHY']
['12103', 'LAKSHMAN', 'MADURAI']
CSV கோப்பினை Dictionary படிக்க:
(i) CSV செயற்கூறிலுள்ள DictReader ஐ பயன்படுத்தி CSV கோப்பை படித்தல். இதன் செயல்பாடு reader( ) விதிமுறை செயல்பாட்டை ஒத்திருக்கும்.ஆனால் இது பொருளை உருவாக்கி அதை Dictionaryயில் இணைக்கும்.
(ii) DictReader CSV கோப்பில் உள்ள முதல் வரியை காற்புள்ளியை இந்த வரியின் Dictionary திறவுகோள் (Dictionary Key) பயன்படுத்தி படிக்கும். அடுத்தடுத்துள்ள வரிசையில் உள்ள நெடுவரிசையானது Dictionary யின் மதிப்புகளாக செயல்பட்டு அவற்றை உரிய திறவுகோல் மூலம் அணுக முடியும்(புலத்தின் பெயர்).
(iii) CSV கோப்பின் முதல் வரிசையானது புலப்பெயரை கொண்டிருக்கவில்லையெனில் புலப்பெயர் அளபுருவை DictReader's ஆக்கிக்கு அனுப்பி Dictionary திறவு கோள்களை நாமாக ஒதுக்க முடியும்.
(iv) csv.reader( ) மற்றும் DictReader ( )க்கு இடையேயான முக்கிய வேறுபாட்டை எளிமையாக கூறுவதெனில் csv.reader மற்றும் csv.writer ஆனது பட்டியல் (list/tuple) பதிவுடன் வேலை செய்யும். csv.DictReader மற்றும் csv.DictWriter ஆனது அகராதியில் வேலை செய்யும்.
import csv
filename = 'c:\pyprg\sample8.csv'
input_file =csv.DictReader( open( filename,'r'))
for row in input_file:
print( dict(row)) #dict( ) to print data
வெளியீடு
{'ItemName ': 'Keyboard ', 'Quantity': '48'}
{'ItemName ': 'Monitor', 'Quantity': '52'}
{'ItemName ': 'Mouse '. 'Quantity': '20'}
(v) csv.DictReader மற்றும் csv.DictWriter இரண்டும் கூடுதல் அளபுருவாக புலப்பெயரினை பெற்று Dictionary திறவுகோளாக பயன்படுத்தும்.
(எடுத்துக்காட்டாக) "sample8.csv" என்ற கோப்பானது Dictionary-யை படித்தல்.
(vi) செயல்முறை : மேலே கொடுக்கப்பட்டுள்ள நிரலில் dict ( ) செயல்கூறில் நீக்கவும் மற்றும் print(row) பயன்படுத்தவும். கீழே கொடுக்கப்பட்டுள்ள வெளியீடை தரும்.
OrderedDict [(' ItemName', 'Keyboard'),
('Quantity', '48')]
OrderedDict [('ItemName', 'Monitor'),
('Quantity', '52')]
OrderedDict [('ItemName', 'Mouse '),
('Quantity', '20')]
4.
Comma-Separated Values (CSV) மற்றும் eXcel.Sheets(XLS) கோப்புகளுக்கிடையேயான வேறுபாடுகள்.
| எக்ஸெல் | CSV |
|---|---|
| கோப்பின் அனைத்து அட்டவணைத்தாளில் உள்ள பொருளடக்கம் மற்றும் வடிவூட்டல்களை உள்ளடக்கிய தகவல்களை இரு நிலை வடிவில் கொண்ட கோப்பாகும். | CSV வடிவத்தில் காற்புள்ளிகளால் பிரிக்கப்பட்ட தொடர்ச்சியான மதிப்புகளைக் கொண்ட எளிய உரை வடிவ கோப்பாகும். |
| XLS கோப்புகள் அவற்றை படிப்பதற்காக அவற்றை உருவாக்கப்பட்ட பயன்பாடுகளை கொண்டு மட்டுமே படிக்க முடியும். அது போன்றே எழுதுதலும் ஆகும். | CSV கோப்புகளை Windows இயக்க அமைப்பில் உள்ள Notepad, MS Excel, openoffice போன்ற உரைப் பதிப்பான்களைக் கொண்டு திறக்கலாம். |
| Excel அட்டவணைச்செயலி அதற்கென உருவாக்கப்பட்டுள்ள தனியுரிம வடிவமைப்பு வகையில் கோப்பினை சேமிக்கும். (அதாவது xls அல்லது xlsx. |
அட்டவணை வடிவ தகவல்களை .csv என்ற நீட்டிப்புடன் பிரிக்கப்பட்ட உரைக் கோப்புகளாக சேமிக்கும் வடிவம் CSV ஆகும். |
| Excel ஆனது தரவைப் பெறும் (இறக்கம் செய்யும்) (import) போது அதிக நினைவக இடத்தை எடுத்துக் கொள்ளும். | CSV கோப்புகளை இறக்கம் செய்யும் போது வேகமாக செயல்படும். குறைவான நினைவக இடத்தை எடுத்துக்கொள்ளும். |
5.
(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 பயன்படுத்தினால் அட்டவணைக்கு எந்த பாதிப்பையும் ஏற்படுத்தாது.
6.
(i) SELECT * FROM employee ORDER BY PAY DESC;
(ii) SELECT * FROM employee WHERE ALLOWANCE BETWEEN 5000 AND 7000
(iii) DELETE FROM employee WHERE DESIG = "Mechanic";
(iv) INSERT INTO Employee (empcode, name, desig, pay, allowance) VALUES (S1002, Baskaran, Supervisor, 29000, 12000);
(v) SELECT * FROM employee WHERE DESIG = 'Operator'
7.
| 1. | தரவுகளை கையாளும் திறன் | உறவுநிலை தரவுதள மேலாண்மை அமைப்பானது தரவு தளத்தில் தரவுகளை கையாளும் வசதியை வழங்குகிறது (சேமித்தல், மாற்றம் செய்தல் மற்றும் நீக்குதல்) |
| 2. | மிகைமை (தேவைக்கு அதிகமானவற்றை) குறைத்தல் | நவீன உலகில் வன்வட்டுகளின் விலை மிகவும் குறைவு. ஆனால் முந்தைய காலங்களில் வன்வட்டுகள் மிகவும் விலை உயர்ந்தவை, ஆகையால் தரவுதளத்தில் உள்ள தேவையற்ற தரவுகள் பெரிய சிக்கலாக இருந்தது. ஆனால் RDBMS தரவுகளை பிரித்தாளும் இயல்பு நிலையைப் பின்பற்றி தேவையற்ற தரவுகள் மீண்டும் இடம்பெறுவதைக் குறைக்கிறது. |
| 3. | தரவுகளின் நிலைத்தன்மை | தொடர்ச்சியாக புதுப்பிக்கப்படும் மற்றும் பராமரிக்கப்படும் நேரடி தரவின் (Live data) நிலைத்தன்மையை பராமரிப்பது ஒரு சவாலாக மாறும். ஆனால் RDBMS தானாகவே அதை கையாளுகிறது. |
| 4. | பல பயனர்கள் மற்றும் ஒத்த அணுகுதலை ஆதரித்தல் | RDBMS பல பயனர்களை ஒரே நேரத்தில் ஒரு தரவின் மீது வேலை (தரவுகளைப் புதுப்பித்தல், செருகுதல், நீக்குதல்) செய்ய அனுமதிக்கிறது. இருப்பினும் தரவின் நிலைத்தன்மைப் பராமரிப்பை கையாளுகிறது. |
| 5. | வினவல் மொழி | RDBMS ஒரு எளிய வினவல் மொழியை பயனருக்கு வழங்குகிறது. இதைப்பயன்படுத்தி தரவுத்தளத்திலிருந்து தரவுகளை எளிமையாக பெறவும், சேர்க்கவும், நீக்கவும், புதுப்பிக்கவும் முடியும். |
| 6. | பாதுகாப்பு | RDBMS. தரவின் பாதுகாப்பை கவனித்துக்கொள்கிறது. அங்கீகாரமற்ற அணுகுதலில் இருந்து தரவுகளுக்கு பாதுகாப்பை வழங்குகிறது. வழக்கமான RDBMS -ல், பல்வேறு அணுகலுக்கான அனுமதியுடன் பயனர் கணக்குகளை நாம் உருவாக்கமுடியும். இதனைப் பயன்படுத்தி பயனர் அணுகுதலை கட்டுப்படுத்தி நம்முடைய தரவுகளை எளிமையாக பாதுகாத்துக் கொள்ள முடியும். |
| 7. | RDBMS பரிவர்த்தனைகளை ஆதரித்தல் | இது நிகழ் உலக பயன்பாடுகளில் தரவு ஒருமைப்பாட்டை கையாள மற்றும் நிர்வகிக்க நம்மை அனுமதிக்கிறது. இங்கு பல்புரியாக்கம் (multithreading) விரிவாக பயன்படுகிறது. |
8.
| ஒப்பீட்டு அடிப்படை | DBMS | RDBMS |
| விரிவாக்கம் | Database Management System தரவுதள மேலாண்மை அமைப்பு | Relational Database Management System உறவுநிலை தரவுதள மேலாண்மை அமைப்பு. |
| தரவு சேமிப்பு | வழிசெலுத்தல் மாதிரி அதாவது ஒன்றோடொன்று இணைக்கப்பட்ட பதிவுகளின் தரவு | உறவுநிலை மாதிரி (அட்டவணையில்) அட்டவணையில் வரிசை மற்றும் நெடுவரிசை உள்ள தரவுகள் |
| மிகைமைத் தரவு | இடம் பெற்றுள்ளது | இடம் பெறவில்லை |
| இயல்பாக்கம் | செய்ய இயலாது | இயல்பாக்கத்தை பயன்படுத்துகிறது. |
| தரவு அணுகல் | அதிக நேரத்தை எடுத்துக் கொள்கிறது. | DBMS உடன் ஒப்பிடும் போது வேகமானது. |
| திறவு கோல்கள் மற்றும் குறியீடுகள் | பயன்படுத்தப்பட வில்லை | உறவுநிலையை உருவாக்குவதற்குப் பயன்படுகிறது. |
| பரிவர்த்தனை மேலாண்மை | திறமையற்றது, பிழைகளைக் கொண்டது பாதுகாப்பற்றது. | திறமையானது மற்றும் பாதுகாப்பானது. |
| பரவல் தகவல் தளம் | ஒத்துழைக்காது | ஒத்துழைக்கும் |
| எடுத்துக்காட்டு | Dbase, FoxPro | SQL server, Oracle, mysql, MariaDB, SQLite, MS - Access |
9.





10.
கணிதத்தில் கற்ற Set செயற்பாடுகள் ஆகிய ஒட்டு (Union), வெட்டு (intersection) வேறுபாடு (difference) சமச்சீரான வேறுபாடு (Symmetric difference) , போன்றவற்றை பைத்தானிலும் பயன்படுத்தலாம்.
ஒட்டு (Union) : இது இரண்டு அல்லது அதற்கு மேற்பட்ட Set -களின் அனைத்து உறுப்புகளையும் உள்ளடக்கும்.

(i) பைத்தானின் என்ற செயற்குறி இரண்டு Set களின் இணைப்பை உருவாக்கப்பயன்படுகிறது. Union செயற்கூறும் பைத்தானின் இரண்டு Set களை இணைக்கப் பயன்படுகிறது.
(ii) எடுத்துக்காட்டு: ஒட்டு (Union) செயற்குறியைப் பயன்படுத்தி இரண்டு Set களை இணைப்பதற்கான நிரல்
set_A ={2,4,6,8}
set_B ={'A','B','C','D'}
U_Set=Set_A | set_B
print(U_set)
வெளியீடு:
{2,4,6,8,'A', 'D', 'C', 'B'}
வெட்டு (intersection) : இது இரண்டு Setகளின் பொதுவான உறுப்புகளை உள்ளடக்கியது.

(i) பைத்தானில் & செயற்குறி இரண்டு Set களை வெட்டுவதற்கு பயன்படுகிறது. வெட்டு (intersection()) செயற்கூறும் பைத்தானில் இரண்டு Set களை வெட்டுவதற்கு பயன்படுகிறது.
(ii) எடுத்துக்காட்டு : intersection()செயற்குறியைப் பயன்படுத்தி இரண்டு Setகளை வெட்டுவதற்கான நிரல்
set_A={'A', 2, 4, 'D'}
set_B={'A', 'B', 'C', 'D'}
print(set_A.intersection (set_B))
வெளியீடு : {'A', 'D'}
வேறுபாடு (Difference): இது முதல்Set(A)ல் உள்ள அனைத்து உறுப்புகளையும் உள்ளடக்கியது. இது இரண்டாவது Set-ஐ தவிர்க்கிறது.

(i) பைத்தானில் -(minus) செயற்குறி Set செயற்பாட்டின் வேறுபாட்டைக் கண்டறிய பயன்படுகிறது. difference() செயற்கூறும் வேறுபாட்டு செயற்பாட்டிற்காக பயன்படுகிறது.
(ii) எடுத்துக்காட்டு : (-) Minus பயன்படுத்தி இரண்டு setகளின் வேறுபாட்டுக்கான நிரல்
set_A={'A', 2, 4, 'D'}
set_B={'A', 'B', 'C', 'D'}
print(set_A - set_B)
வெளியீடு : {2, 4}
சமச்சீரான வேறுபாடு (Symmetric difference): இது இரண்டு Set-ல் உள்ள பொதுவான உறுப்புகளை மட்டும் தவிர்த்து மற்ற அனைத்து உறுப்புகளையும் உள்ளடக்கியது.

(i) Caret(^) செயற்குறி பைத்தானில் சமச்சீரான வேறுபாட்டை கண்டறிய பயன்படுகிறது. Symmetric difference() செயற்கூறும் அதே செயலை செய்ய பயன்படுகிறது.
(ii) எடுத்துக்காட்டு : Caret (^) செயற்குறியைப் பயன்படுத்தி சமச்சீரான வேறுபாட்டை கண்டறியும் நிரல்.
set_A={'A', 2, 4, 'D'}
set_B={'A', 'B', 'C', 'D'}
print(set_A ^ set_B)
வெளியீடு :: {2, 4, 'B', 'C'}
11.
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]
12.
பைத்தான் பின்வரும் செயற்குறிகளை வழங்குகிறது. இச்செயற்குறிகள் சரங்களை கையாள உதவுகிறது.
(i) இணைப்பு (Concatenation +)
இரண்டு அல்லது அதற்கு மேற்பட்ட சரங்களை இணைக்கும் செயல்பாடு சேர்த்தல் அல்லது இணைத்தல் எனப்படும். கூட்டல் செயற்குறி சரங்களை இணைக்கப் பயன்படுகிறது.
எடுத்துக்காட்டு:
> > > "welcome" + "Python"
'welcomePython'
(ii) சேர்த்தல் (Append+=):
ஏற்கனவே உள்ள சரத்தின் இறுதியில் மேலும் புதிய சரம் அல்லது சரங்களை சேர்க்கும் செயல் சேர்த்தல் எனப்படும்.
+= செயற்குறி ஏற்கனவே உள்ள சரத்தின் இறுதியில் புதிய சரத்தினை சேர்க்க பயன்படுகிறது.
எடுத்துக்காட்டு:
> > > str1="Welcome to "
> > > str1 +="Learn Python"
> > > print (str1)
Welcome to Learn Python
பலமுறை (Repeating (*)) :
பெருக்கல் செயற்குறி கொடுக்கப்பட்ட சரத்தினை பல தடவைகள் வெளிப்படுத்த பயன்படுகிறது.
> > > str1="Welcome"
> > > print (str1*4)
Welcome Welcome Welcome Welcome
13.
def lcm(x, y):
if x>y:
greater = x
else:
greater = y
while (True):
if ((greater % x == 0) and (greater % y == 0)):
lcm = greater
break
greater += 1
return lcm
a = int (input ("Enter first number :"))
b = int (input ("Enter second number :"))
print ("The LCM of", a, "and", b, "is", lcm(a,b)).
வெளியீடு :
Enter the first number: 15
Enter the second number: 20
LCM is : 60
14.
மாறியின் வரையெல்லை என்பது நிரலின் அணுகக்கூடிய பகுதியைக் குறிப்பதாகும். அதாவது, எந்த பகுதியில் மாறியைப் பயன்படுத்துகிறோமோ அதைக் குறிக்கிறது. வரையெல்லை நடப்பு மாறித் தொகுதிகள் மற்றும் அதன் மதிப்புகளைக் கொண்டிருக்கும். மாறியின் வரையெல்லைகளை உள்ளமை வரையெல்லை மற்றும் முழுதளாவிய வரையெல்லை என இரண்டு வகையாகப் பிரிக்கலாம்.
உள்ளமை வரையெல்லை (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
15.
Multiplication table:
num = int(input("Enter the number: "))
print("multiplication Table of", num)
for i in range(1,11):
print (num, "x", i, " = ", num*i)
வெளியீடு :
Enter the number: 6
Multiplication Table of 6
6 × 1= 6
6 x 2 = 12
6 x 3 = 18
6 x 4 = 24
6 x 5 = 30
6 x 6 = 36
6 x 7 = 42
6 × 8 = 48
6 x 9 = 54
6 x 10 = 60
16.
பின்னலான 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
17.
வில்லைகள்:
பைத்தான், நிரலின் இடம்பெறும் வரிகளை அடிப்படை மொழிக்கூற்றுகளாக பிரிக்கிறது. இந்த கூறுகள் வில்லைகள் எனப்படும் பொதுவாக வில்லைகளின் வகையான,
(i) குறிப்பெயர்கள்
(ii) சிறப்புச் சொற்கள்
(iii) செயற்குறிகள்
(iv) வரம்புக்குறிகள்
(v) நிலைஉருக்கள்
வில்லைகளை பிரிப்பதற்கு வெற்று இடைவெளி கண்டிப்பாக இருத்தல் வேண்டும்
(i) குறிப்பெயர்கள்: மாறி, செயற்கூறு, இனக்குழு, தொகுதி அல்லது பொருள்களை அடையாளம் காணப் பயன்படும் பெயர்கள் குறிப்பெயர் என்று அழைக்கப்படுகிறது
சரியான குறிப்பெயர்களின் எடுத்துக்காட்டு:
Sum, total_marks, regno, num 1
தவறான குறிப்பெயர்களின் எடுத்துக்காட்டுகள்:
12Name, name\(\$\), total - mark, continue
(ii) சிறப்புச் சொற்கள்: நிரலின் அமைப்பை அடையாளம் காண பைத்தான் வரிமொழி மாற்றி சிறப்புச் சொற்களை பயன்படுத்துகிறது. சிறப்பு சொற்கள் மொழிமாற்றியில் குறிப்பிட்ட பொருள் கொண்டுள்ளதால் இவற்றை பிற பயன்பாட்டிற்கு பயன்படுத்தக்கூடாது.
பைத்தான் சிறப்புச் சொற்கள்:
| false | class | finally | is | return |
| None | continue | for | lambda | try |
| True | def | from | nonlocal | while |
| and | del | global | not | with |
| as | elif | if | or | yield |
| assert | else | import | pass | raise |
| break | except | in |
(iii) செயற்குறிகள்: கணிப்பொறி நிரலாக்க மொழியில் செயற்குறிகள் என்ற சிறப்பு குறியீடுகள் கணிப்பீடுகள், நிபந்தனை சோதிப்பு போன்ற செயல்பாடுகளை செய்ய பயன்படுகிறது. செயற்குறிகள் என்பவை குறியீடுகள் இவை செயலேற்பிகளில் உள்ள மதிப்புகளில் செயல்படும். கணித, ஒப்பீடு, தருக்க, மதிப்பிருத்தல் போன்று பல வகை செயற்குறிகள் உள்ளன மதிப்புகள்மற்றும் மாறிகள் செயற்குறியுடன் பயன்படுத்தும் போது செயலேர்பிகள் என்று அழைக்கப்படுகிறது.
(iv) வரம்புக்குறிகள் : சாதாரண உரை அல்லது பிற தரவுத் தொட்டிகளின் தனித்த, சார்பற்ற பகுதிகளின் எல்லைகளை குறிப்பிடப் பயன்படும் ஒன்று அல்லது அதற்கு மேற்பட்ட எழுத்துருக்கள் வரம்புக்குறிகள் ஆகும்.
பைத்தான், குறியீடு அல்லது குறியீடுகளின் தொகுப்பை, கோவை, பட்டியல், அகராதி மற்றும் சரங்களில் பயன்படுத்துகிறது. பின்வருவன பைத்தான் வரம்புக்குறிகளாகும்.
| ( | ) | [ | ] | { | } |
| , | : | . | ' | = | ; |
v) நிலைஉருக்கள் : நிலைஉருக்கள் என்பது மாறிகள் அல்லது மாறிலிகளுக்கு வழங்கப்படும் மூல தரவாகும். பைத்தானில் பல்வேறு வகையான நிலைஉருக்கள் உள்ளன.
எண்கள்
சரம்
பூலியன்
18.
ஒரு ஸ்கிரிப்ட் என்பது பைத்தான் கட்டளைகளை கொண்ட ஒரு உரை ஆவணத்தைக் குறிக்கிறது. பைத்தான் ஸ்கிரிப்ட் குறிமுறையை மறுபயனாக்கம் செய்துக் கொள்ளலாம். ஒரு முறை ஸ்கிரிப்ட் கோப்பை எழுதிவிட்டால் பல முறை இயக்கிக் கொள்ளலாம் மீண்டும் அந்த ஸ்கிரிப்டை உருவாக்க தேவையில்லை. ஸ்கிரிப்ட் பதிப்பாய்வு செய்ய கூடியவை
பைத்தான் ஸ்கிரிப்ட் எழுதுதல்:
(i) பைத்தான் shell சாளரத்தில் File ➝ New File அல்லது Ctrl + N என்பதை அழுத்தவும்
(ii) பெயரிடப்படாத Untitled வெற்று ஸ்கிரிப்ட் Text editor தோன்றும்.
(iii) பின்வரும் கட்டளைகளை ஸ்கிரிப்ட் editorல் உள்ளிடவும்
a = 100
b = 350
c = a + b
print ("The Sum =", c)
பைத்தான் ஸ்கிரிப்ட்யை சேமித்தல்
(i) File ➝ Save கட்டளையை தேர்ந்தெடுக்கவும் அல்லது Ctrl + S அழுத்தவும்
(ii) Save As உரையாடல் பெட்டி திரை தோன்றும்.
(iii) Save As உரையாடல் பெட்டியில், கோப்பு சேமிக்கப்பட வேண்டிய இடத்தை தேர்ந்தெடுக்க வேண்டும். பின்னர் கோப்பின் பெயரை File Name பெட்டியில் உள்ளிட வேண்டும், கொடாநிலையாக பைதான் கோப்புகள் .py என்ற நீட்டிப்புடன் சேமிக்கப்படுகிறது. எனவே, பைத்தான் ஸ்கிரிப்ட் editor-ல் கோப்புகளுக்கு பயனர் நீட்டிப்பை குறிப்பிட வேண்டிய அவசியமில்லை.
(iv) இறுதியாக Save பொத்தானை தேர்ந்தெடுத்து, பைத்தான் ஸ்கிரிப்ட் கோப்பை சேமிக்கலாம்.
பைத்தான் ஸ்கிரிப்ட்டை இயக்குதல்
(i) Run \(\rightarrow\) Run Module F5 யை தேர்ந்தெடுக்கவும்.
(ii) குறிமுறையில் பிழைகள் இருப்பின் அவை சிகப்பு நிறத்தில் IDLE திரையில் காண்பிக்கப்பட்டு, பைத்தான் பிழைக்கான காரணத்தை விளக்கும். பிழைகளை திருத்துவதற்கு, ஸ்கிரிப்ட் editorக்கு சென்று, பிழைகளைத் திருத்தி, கோப்பை Ctrl + S அல்லது File \(\rightarrow\) Save கட்டளைக் கொண்டு சேமித்தபின் மீண்டும் இயக்க வேண்டும்.
(iii) பிழைகள் இல்லாத பைத்தான் குறிமுறையை இயக்கியவுடன் அதன் வெளியீடு பைத்தான் IDLE திரை தோன்றும்.
19.
குமிழி வரிசையாக்க நெறிமுறை (Bubble Sort Algorithm):
(i) குமிழி வரிசையாக்கம் ஒரு எளிமையான வரிசையாக்க நெறிமுறை ஆகும். வரிசைப்படுத்தப்பட்ட பட்டியலின் படிநிலைகளை மீண்டும் மீண்டும் செய்து, ஒவ்வொரு ஜோடி அருகிலுள்ள உருப்படிகளை ஒப்பீடு செய்து, வரிசையாக்கம் செய்யப்படாத வரிசை எனில் அவற்றை இடமாற்றம் செய்யும்
(ii) இடமாற்றம் தேவைப்படும் வரை அவை மீண்டும் மீண்டும் பட்டியலிடப்படும். இது பட்டியல் வரிசையாக்கம் செய்யப்பட்டுள்ளது என்பதைக் குறிக்கும்.
(iii) இந்த ஒப்பீடு வரிசையாக்கம் நெறிமுறையில் பட்டியலின் மேல் பகுதியில் குமிழியைப் போல் சிறிய உறுப்புகளை அமைக்கும் முறையினால் இதற்கு இந்த பெயரிடப்பட்டது.
(iv) இந்த நெறிமுறை எளிமையானதாக இருந்த போதிலும், இது மிகவும் பொதுவானது மற்றும் செருகும் வரிசையாக்கத்தோடு (insertion sort) ஒப்பீடு செய்யும் போது இது சாத்தியமற்றதாகும்
(v) n உறுப்புகளை கொண்ட அணியை கருத்தில் கொள்ளவும்
Options இடமாற்ற செயல்முறை (swap function) மதிப்புகளை இடமாற்றம் செய்யும்
வழிமுறை:
(i) முதல் உறுப்புடன் (சுட்டெண் = 0), அணியின் தற்போதைய உறுப்போடு அடுத்த உறுப்பை ஒப்பீடு செய்யவும்
(ii) தற்போதைய உறுப்பு அடுத்த உறுப்பை விட அதிகம் எனில், அவற்றை இடமாற்றம் செய்யவும்
(iii) தற்போதைய உறுப்பு அடுத்த உறுப்பை விட சிறியது எனில், அடுத்த உறுப்பிற்கு செல்லவும் மீண்டும் படிநிலை - 1லிருந்து தொடங்கவும். {15, 11, 16, 12, 14, 13} மதிப்புகளோடு கூடிய அணியை எடுத்துக் கொள்வோம்
(iv) கீழே குமிழி வரிசையாக்கம் கொடுக்கப்பட்ட அணியை எவ்வாறு வரிசையாக்கம் செய்கிறது என்பதற்கான விளக்கப்படம் கீழே கொடுக்கப்பட்டுள்ளது

(v) எனவே, மேலே குறிப்பிடப்பட்டுள்ளதை முதல் சுழற்சி படமாகும். இதேபோல், எல்லா சுழற்சி செய்யப்படும். இறுதி சுழற்சிக்கு பிறகு வரிசையாக்கம் செய்யப்பட்ட அணியை கொடுக்கும். அந்த அணி இவ்வாறு இருக்கும்
(vi) அதேபோலவே, இரண்டாவது சுழற்சிக்குப்பிறகு 5 என்ற மதிப்பு இரண்டாவது இறுதி சுட்டெண்ணில் இருத்தி வைக்கப்படும். இப்படியாக பிற மதிப்புகளுக்கும் செய்யப்படும்.
| 11 | 12 | 13 | 14 | 15 | 16 |
20.
வரிசைமுறைத் தேடல்: வரிசைமுறைத் தேடல் அல்லது தொடர் தேடல் பட்டியலில் விரும்பும் உறுப்பைக் கண்டுபிடிக்கும் வரை அல்லது பட்டியல் முடியும் வரை வரிசையிலுள்ள ஒவ்வொரு உறுப்புகளையும் சரிபார்த்து, குறிப்பிட்ட மதிப்பைப் பட்டியலில் கண்டுபிடிக்கும் வழிமுறையாகும். பட்டியலை வரிசைப்படுத்த வேண்டிய தேவை இல்லை
வழிமுறை:
(i) for மடக்கினைப் பயன்படுத்தி அணியில் பயணித்தல்.
(ii) ஒவ்வொரு சுழற்சியிலும், இலக்கு மதிப்பை தற்போதைய மதிப்புடன் ஒப்பிடவும்
1. மதிப்புகள் பொருத்தமாக இருந்தால் அணியின் தற்போதைய சுட்டெண்ணைத் திருப்பி அனுப்பும்
2. மதிப்புகள் பொருந்திவிட்டால் அணியில் அடுத்துள்ள உறுப்புக்கு சென்று விடும்
(iii) பொருத்தம் எதுவும் இல்லையென்றால், -1 மதிப்பைத் திருப்பி அனுப்பும்.
கீழே கொடுக்கப்பட்டுள்ள அணியில் 25 என்ற எண்ணைத் தேடுவதற்கு, வரிசைமுறைத் தேடலானது படிப்படியாக தொடர் வரிசையில் கொடுக்கப்பட்ட அணியின் முதல் உறுப்பிலிருந்து தேடலைத் தொடங்கும். தேடப்படும் உறுப்பு கண்டுபிடிக்கப்பட்டால் அந்த சுட்டெண் திரும்ப அனுப்பப்படும். இல்லையெனில், அணியின் இறுதி சுட்டெண் வரை தேடல் தொடரும். இந்த எடுத்துக்காட்டில், எண் 25 சுட்டெண் 3-ல் காணப்படுகிறது.
| அணியின் சுட்டு | 0 | 1 | 2 | 3 | 4 |
| மதிப்புகள் | 10 | 12 | 20 | 25 | 30 |
எடுத்துக்காட்டு 1:
Input: values[ ] = {5, 34, 65, 12, 77, 35}
target = 77
Output: 4
எடுத்துக்காட்டு 2:
Input: values[ ] = {101, 392, 1, 54, 32, 22, 90, 93}
target = 200
Output: -1 (not found)
21.
தொகுதி நிரலாக்கத்தின் பயன்கள் :
(i) குறைந்த வரிகளைக் கொண்ட குறிமுறையை எழுதினால் போதுமானது.
(ii) மறுபயனாக்கத்திற்கும் பலமுறை குறிமுறை தட்டச்சு செய்வதை தவிர்ப்பதற்கு, ஒற்றை செயல்முறையை உருவாக்க வேண்டும்.
(iii) நிரல்கள் மிக எளிதாக வடிவமைக்கப்படுகின்றன. ஏனெனில், முழு குறிமுறையும் சிறிய பகுதிகளாக பிரிக்கப்பட்டு சிறிய குழுவினரால் கையாளப்படுகிறது.
(iv) தொகுதி நிரலாக்கம் பல நிரலர்களை ஒரே பயன்பாட்டில் வேலை செய்ய அனுமதிக்கிறது.
(v) பல கோப்புகளில் இந்த குறிமுறை சேமிக்கப்படுகிறது.
(vi) குறிமுறை சிறியதாக, எளியதாக, புரிந்துகொள்ளும் வகையில் உள்ளது.
(vii) துணை நிரல்களாக அல்லது செயற்கூறுகளாக இருப்பதால் பிழைகளை எளிதாக கண்டுபிடிக்க இயலும்.
(viii) ஒரே குறிமுறை பல பயன்பாடுகளில் பயன்படுத்தப்படலாம்.
(ix) மாறிகளின் வரையெல்லையை எளிதில் கட்டுப்படுத்த முடியும்.
22.
LEGB விதிமுறை
வரையெல்லை என்பது சரியான மதிப்பை பெறுவதற்காக மாறிகள் எந்த வரிசையில் பொருளுடன் Map செய்யப்பட வேண்டும் என்பதை வரையறுக்கிறது. கீழே கொடுக்கப்பட்ட எளிய எடுத்துக்காட்டைக் காண்போம்.
1. x:= 'outer x variable'
2. display():
3. x:= 'inner x variable'
4. print x
5. print x
6. display()
மேலே உள்ள கூற்றுகளை இயக்கும்போது. கூற்று (4) மற்றும் (5) பின்வரும் விடையைக் காண்பிக்கிறது.
வெளியீடு
outer x variable
inner x variable
மேலே உள்ள கூற்றுகள் வெவ்வேறு வெளியீடுகளைத் தருகிறது. ஏனெனில், மாறி x என்பது வெவ்வேறு வரையெல்லைகளில் உள்ளது. ஒன்று display ( ) என்ற செயற்கூறுக்கு உள்ளேயும், மற்றொன்று அதன் மேல் கூற்றிலும் உள்ளது. 'Outer x variable' என்ற மதிப்பு, x என்பது செயற்கூறின் வரையறைக்கு வெளியில் அணுகப்படும்போது வெளியிடப்படுகிறது. ஆனால் display ( ) செயற்கூறு இயக்கப்படும்போது, "inner x Variable" என்ற மதிப்பு அச்சிடப்படுகிறது. இது செயற்கூறு வரையறைக்குள் உள்ள x-ன் மதிப்பாகும். மேலே கொடுக்கப்பட்டுள்ள எடுத்துக்காட்டில், ஒரு மாறி எந்த வரையெல்லையில் எடுத்துக்கொள்ளப்பட வேண்டும் என்பதை தீர்மானிக்க ஒரு விதிமுறை பின்பற்றப்படுவதை கணித்துக் கொள்ள முடிகிறது. LEGB விதி வரையெல்லை தேடப்பட வேண்டிய (Scope resolution) வரிசையை தீர்மானிக்கப் பயன்படுகிறது. வரையெல்லைகள் பின்வருமாறு படிநிலை முறையில் பட்டியலிடப்பட்டுள்ளன. (பெரியதிலிருந்து சிறியது),
| உள்ளமை Local (L) | செயற்கூறு / இனக்குழுவிற்கு உள்ளே வரையறுக்கப்பட்டவை |
| இணைக்கப்பட்ட Enclosed (E) | பின்னலான செயற்கூறுகளுக்குள் வரையறுக்கப்பட்டவை |
| முழுதளாவிய Global (G) | மேல்நிலையில் வரையறுக்கப்பட்டவை |
| உள்ளிணைந்த Built-in (B) | உள்ளிணைந்த செயற்கூறுகளில் (கூறுகள்) உள்ள முன்னரே வரையறுக்கப்பட்ட பெயர்களாகும். |

(அல்லது)
மாறியின் வரையெல்லை வகைகள் :
4 வகையான வரையெல்லைகள் உள்ளன.
உள்ளமை வரையெல்லை (Local Scope)
உள்ளமை வரையெல்லை, நடப்பு செயற்கூறில் வரையறுக்கப்பட்ட மாறிகளைக் குறிக்கும். செயற்கூறு, எப்பொழுதும் மாறியின் பெயரை முதலில் அதன் உள்ளமை வரையெல்லையில் பார்வையிடும் அந்த வரையெல்லையில் இல்லையென்றால் மட்டுமே வெளி வரையெல்லையில் சோதிக்கும். (எ.கா)

மேலே உள்ள குறிமுறையை இயக்கும்போது, மாறி a என்பது 7 என்ற மதிப்பை வெளியிடுகிறது. ஏனெனில், இது உள்ளமை வரையெல்லையில் வரையறுக்கப்பட்டு, அங்கேயே அச்சிடப்படுகிறது.
முழுதளாவிய வரையெல்லை
நிரலின் அனைத்து செயற்கூறுகளுக்கும் வெளியே அறிவிக்கப்பட்ட மாறிகள் முழுதளாவிய மாறிகள் எனப்படும். அதாவது, முழுதளாவிய மாறிகளை நிரலின் அனைத்து செயற்கூறுகளுக்கு உட்புறமும், வெளிப்புறமும் அணுக முடியும். (எ.கா)

மேலே உள்ள குறிமுறையில் disp () என்ற செயற்கூறு அழைக்கப்படும் போது, அதனுள் வரையறுக்கப்பட்டிருக்கும் மாறி a, 7 என்ற மதிப்பை வெளியிடும், பின்னர் இது 10 என்ற மதிப்பை வெளியிடும் ஏனெனில் a என்ற மாறி முழுதளாவிய வரையெல்லையில் வரையறுக்கப்பட்டுள்ளது.
அடைக்கப்பட்ட வரையெல்லை
அனைத்து நிரலாக்க மொழிகளும் பின்னலான செயற்கூறுகளை அமைக்க அனுமதிக்கின்றன. ஒரு செயற்கூறின் (வழிமுறை) உள்ளே மற்றொரு செயற்கூறு அடைக்கப்பட்டிருந்தால் அது பின்னலான செயற்கூறு எனப்படும். மற்றொரு செயற்கூறு வரையறையை, தன்னுள் கொண்ட ஒரு வெளி செயற்கூறினுள் ஒரு மாறி அறிவிக்கப்பட்டால், உள்செயற்கூறானது, வெளி செயற்கூறினுள் உள்ள மாறிகளை அணுக முடியும். இதுவே, அடைக்கப்பட்ட வரையெல்லை எனப்படும்.
நிரல்பெயர்ப்பி அல்லது தொகுப்பான் ஒரு நிரலில் மாறியை தேடும்பொழுது அது முதலில் உள்ளமை வரையெல்லையில் தேடும். பின்னர் அடைக்கப்பட்ட வரையெல்லையில் தேடும்.(எ.கா)

மேலே குறிப்பிட்ட எடுத்துக்காட்டில் Disp1 () என்ற செயற்கூறு Disp () என்ற செயற்கூறினுள் வரையறுக்கப்பட்டுள்ளது. 'a' என்ற மாறி Disp () என்ற செயற்கூறினுள் வரையறுக்கப்பட்டிருந்தாலும் Disp1 () என்ற செயற்கூறும் அதைப் பயன்படுத்த முடியும். ஏனெனில் இந்த செயற்கூறு Disp () என்பதன் உறுப்பாகும்.
உள்ளிணைந்த வரையெல்லை
நிரல்பெயர்ப்பி அல்லது தொகுப்பானை தொடங்கும் பொழுது உள்ளிணைந்த வரையெல்லையானது நிரல் வரையெல்லையில் ஏற்கனவே கொடுக்கப்பட்ட அனைத்து பெயர்களையும் கொண்டிருக்கும். நிரலாக்க மொழியின் நூலக செயற்கூறினுள் வரையறுக்கப்பட்ட மாறி அல்லது செயற்கூறு உள்ளிணைந்த வரையெல்லையைக் கொண்டுள்ளது. இவைகள், நூலக கோப்புகள் நிரலில் செயல்பட தொடங்கியவுடன் இறக்கப்படும்.

பொதுவாக செயற்கூறுகள் அல்லது தொகுதி மட்டுமே மென்பொருளுடன் தொகுப்பாக வருகிறது. எனவே, இவைகள் உள்ளிணைந்த வரையெல்லையின் கீழ் வருகின்றன.
23.
List:
(i) List என்பது கோவைகளை சதுர அடைப்புக்குறிக்குள் காற்புள்ளியால் பிரிக்கப்பட்டிருக்கும் அமைப்பு ஆகும். இவ்வகை கோவைகளை List literal என்று அழைக்கப்படுகிறது. List பல மதிப்புகளை சேமிக்கும் இம்மதிப்புகள் எவ்வகையாகவும் இருக்கலாம் அல்லது மற்றொரு லிஸ்டாகவும் இருக்கலாம்.
எடுத்துக்காட்டு : List[10, 20].
(ii) list-ன் உறுப்புகளை இரு வழியில் அணுகலாம். முதல் வழி, அதிகம் பயன்படுத்தப்படும் பன்மடங்கு மதிப்பிருத்தல். இம்முறையில், list-ன் உறுப்புகள் பிரிக்கப்பட்டு, அனைத்து உறுப்புகளும் வேறு பெயர்களுடன் இணைக்கப்படுகிறது.
lst := [10, 20]
x, y := lst
மேலே காணும் எடுத்துக்காட்டில், Xயின் மதிப்பு 10 என்றும், Y யின் மதிப்பு 20 என மதிப்பிருத்தப்படும்.
(iii) இரண்டாம் முறையில் லிஸ்டின் உறுப்புகள், உறுப்புகள் தேர்வு செயற்குறிகள் மூலம் அணுகப்படுகிறது. லிஸ்ட் லிட்டரல்ஸ் போல் அல்லாது கோவையில் ஒரு சதுர அடைப்புக்குறியை தொடர்ந்து வரும் மற்றொரு சதுர அடைப்புக்குறி லிஸ்டின் மதிப்புகளாக எடுத்துக்கொள்ளப்படுவதில்லை. ஆனால் முந்தைய கோவையின் உறுப்பை மதிப்பாக தேர்வு செய்யும்.
1st[0]
10
1st[1]
20
மேலே காணும் எடுத்துக்காட்டினை கணித முறையில் set போன்று அமைக்கலாம்.

(iv) இரு மதிப்புகளை ஒன்றாக இணைக்கும் முறையை இணைகள் (Pairs) என்று அழைக்கிறோம். List அதிகமாக பயன்படுத்தப்படும் முறையாகும். எனவே, List, Pairs என்று அழைக்கப்படுகிறது.
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.
(அ) gcd
(ஆ) let rec gcd a b : =
(இ) a,b
(ஈ) gcd b (a mod b)
(உ) if b < > 0 ல் உள்ள else return a
12th Standard Syllabus & Materials
12th Standard
TN 12th English Supplementary - 3 - The Hour of Truth (Play) Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th English Poem - 3 - All the World’s a Stage Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th English Prose - 3 - In Celebration of Being Alive Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th English Supplementary - 2 - Life of Pi 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