12ஆம் வகுப்பு கணினி அறிவியல் பைத்தான் வெளியீட்டு வினாக்கள்: வரிவரியாக விளக்கம்
12ஆம் வகுப்பு கணினி அறிவியலில் பல மாணவர்கள் எளிதான மதிப்பெண்களை இழப்பது வெளியீட்டு வினாக்களில்தான். நிரல் எப்போதும் சிறியதாகவே இருக்கும். ஆனால் எதிர்மறைச் சுட்டு (negative index) அல்லது break எங்கு உள்ளது போன்ற ஒரு சிறிய விவரத்தைத் தவறவிட்டால் விடை மாறிவிடும். இதற்குத் தீர்வு ஒரு பழக்கம்: விடைத் தேர்வுகளைப் பார்க்கும் முன், ஒவ்வொரு வரிக்குப் பிறகும் ஒவ்வொரு மாறியின் மதிப்பையும் தாளில் எழுதி நிரலைப் பின்தொடருங்கள்.
புத்தக வினாக்கள் (Book Back Questions) பயன்படுத்தும் வகைகள் கீழே உள்ளன. ஒவ்வொன்றும் படிப்படியாகப் பின்தொடரப்பட்டுள்ளது.
1. slice மூலம் சரத்தைத் தலைகீழாக்குதல்
str1 = "TamilNadu"
print(str1[::-1])
slice என்பது [start:stop:stride] என எழுதப்படுகிறது. start, stop இரண்டையும் காலியாக விட்டால் முழுச் சரமும் எடுக்கப்படும். stride -1 என்றால் பின்னோக்கிச் செல்லும். T-a-m-i-l-N-a-d-u என்பதைக் கடைசியிலிருந்து படித்தால் udaNlimaT கிடைக்கும். பெரிய எழுத்து N பெரிய எழுத்தாகவே இருக்கும். தவறான விடைத் தேர்வுகள் மாற்றுவது இந்த விவரத்தைத்தான்.
தொடர்புடைய இரண்டு உண்மைகள்: stop சுட்டு சேர்க்கப்படாததால் str1[0:5] என்பது Tamil தரும். str1[-1] கடைசி எழுத்தான u ஐத் தரும்.
2. சரத்தை மாற்ற முயலுதல்
str1 = "Chennai Schools"
str1[7] = "-"
சரங்கள் மாற்ற இயலாதவை (immutable). ஒரு தனி எழுத்துக்கு மதிப்பை இருத்த முடியாது. எனவே இது TypeError பிழையைத் தரும். மாற்றப்பட்ட சரம் வேண்டுமெனில் புதிய சரத்தை உருவாக்க வேண்டும்.
3. break உடன் while மடக்கு
i = 1
while True:
if i % 3 == 0:
break
print(i, end=' ')
i += 1
| சுற்று | i | i % 3 == 0? | செயல் |
|---|---|---|---|
| 1 | 1 | இல்லை | 1 அச்சிடப்படும், i = 2 ஆகும் |
| 2 | 2 | இல்லை | 2 அச்சிடப்படும், i = 3 ஆகும் |
| 3 | 3 | ஆம் | break, எதுவும் அச்சிடப்படாது |
வெளியீடு: 1 2. சோதனை print-க்கு முன்பே நடப்பதால் 3 ஒருபோதும் அச்சிடப்படாது.
4. ஒருமுறை மட்டும் இயங்கும் while மடக்கு
T = 1
while T:
print(True)
break
பூஜ்ஜியம் அல்லாத எந்த எண்ணும் true எனக் கொள்ளப்படும். எனவே மடக்கு தொடங்குகிறது. அது True என அச்சிடுகிறது. உடனே break மடக்கை முடிக்கிறது. வெளியீடு ஒரே ஒரு வரி.
5. list-ல் எதிர்மறைச் சுட்டு
list1 = [2, 4, 6, 8, 10]
print(list1[-2])
எதிர்மறைச் சுட்டுகள் கடைசியிலிருந்து எண்ணப்படும்: -1 என்பது 10, -2 என்பது 8. இதே list-க்கு len(list1) மதிப்பு 5.
6. list உறுப்புகளை மாற்றுதல், சேர்த்தல்
List = [10, 20, 30, 40, 50]
List[2] = 35 # [10, 20, 35, 40, 50]
List.append(32) # [10, 20, 35, 40, 50, 32]
list-கள் மாற்றக்கூடியவை (mutable). சுட்டு 2 என்பது மூன்றாவது உறுப்பு. எனவே 30-க்குப் பதிலாக 35 வருகிறது. append() கடைசியில் ஒரு உறுப்பைச் சேர்க்கும்; extend() பல உறுப்புகளைச் சேர்க்கும்.
7. list comprehension
S = [x**2 for x in range(5)]
print(S)
range(5) என்பது 0, 1, 2, 3, 4 ஐத் தரும். அது 5-க்கு முன்பே நின்றுவிடும். ஒவ்வொன்றையும் வர்க்கப்படுத்தினால் [0, 1, 4, 9, 16] கிடைக்கும். 25 ஐயும் சேர்ப்பதே பொதுவான தவறு.
8. set செயல்பாடுகள்
setA = {3, 6, 9}
setB = {1, 3, 9}
print(setA | setB)
| கோவை | செயல்பாடு | விடை |
|---|---|---|
setA | setB | சேர்ப்பு (Union) | {1, 3, 6, 9} |
setA & setB | வெட்டு (Intersection) | {3, 9} |
setA - setB | வேறுபாடு (Difference) | {6} |
setA ^ setB | சமச்சீர் வேறுபாடு (Symmetric difference) | {1, 6} |
சேர்ப்பில் ஒவ்வொரு மதிப்பும் ஒருமுறை மட்டுமே இருக்கும். எனவே மீண்டும் வரும் மதிப்புகள் நீங்கிவிடும். set-கள் வரிசையற்றவை. உறுப்புகள் காட்டப்படும் வரிசையை நம்ப வேண்டாம்.
9. அச்சிடும் ஆக்கி (constructor)
class Student:
def __init__(self, name):
self.name = name
print(self.name)
S = Student("Tamil")
பொருளை உருவாக்கும்போது __init__() தானாக அழைக்கப்படுகிறது. அது பெயரைச் சேமித்து அச்சிடுகிறது. வெளியீடு: Tamil. தனியாக எந்த method-ஐயும் அழைக்க வேண்டியதில்லை.
10. CSV கோப்பில் ஒரு வரிசையைத் தவிர்த்தல்
import csv
d = csv.reader(open('city.csv'))
next(d)
for row in d:
print(row)
city.csv கோப்பில் chennai,mylapore, mumbai,andheri என்ற வரிகள் இருந்தால், next(d) முதல் வரிசையை எடுத்துக்கொள்ளும். எனவே மடக்கு ['mumbai', 'andheri'] ஐ மட்டுமே அச்சிடும். ஒவ்வொரு வரிசையும் சரங்களின் list ஆகத் திரும்பக் கிடைக்கும்.
எந்தப் புதிய வெளியீட்டு வினாவுக்கும் ஒரு முறை
- ஒவ்வொரு மாறியையும் ஒரு நெடுவரிசைத் தலைப்பாக எழுதுங்கள்.
- வரிவரியாகச் சென்று மதிப்புகளைப் புதுப்பியுங்கள். மடக்குகளில் ஒவ்வொரு சுற்றுக்கும் ஒரு வரிசை சேருங்கள்.
- வெளியீடு சரியாக எப்போது நடக்கிறது,
end=' 'அதை ஒரே வரியில் வைக்கிறதா என்பதைக் குறித்துக்கொள்ளுங்கள். - எல்லைகளைச் சரிபாருங்கள்: slice, range எங்கு நிற்கின்றன, எதிர்மறைச் சுட்டுகள்,
breakprint-க்கு முன்பா பின்பா என்பது.
கட்டுப்பாட்டுக் கட்டமைப்புகள், சரங்கள் மற்றும் சரங்களைக் கையாளுதல், (List, Tuples, Set மற்றும் Dictionary) தொகுப்பு தரவினங்கள், பைத்தான் இனக்குழுக்கள் மற்றும் பொருள்கள் ஆகிய பாடங்களின் தீர்க்கப்பட்ட வினாக்களைக் கொண்டு பயிற்சி செய்யுங்கள். பிறகு 12ஆம் வகுப்பு கணினி அறிவியல் பகுதியில் நேர வரம்புள்ள தேர்வுகளை எழுதுங்கள்.