Python Code Tracing: Trace Table மூலம் வினாக்களுக்கு விடையளிப்பது எப்படி?
"இந்த program-இன் output என்ன?" — ICT பரீட்சையில் அடிக்கடி வரும் வினா இது. Code-ஐ மனதுக்குள் ஓட்டிப் பார்த்து விடை எழுதினால் தவறு நடப்பது இயல்பு. Trace table என்ற எளிய அட்டவணையைப் பயன்படுத்தினால், ஒவ்வொரு படியிலும் variables என்ன பெறுமானத்தில் உள்ளன என்பது தெளிவாகத் தெரியும்.
Trace table என்றால் என்ன?
Program ஒவ்வொரு வரியாக இயங்கும்போது, ஒவ்வொரு variable-இன் பெறுமானமும் எப்படி மாறுகிறது என்பதைப் பதிவு செய்யும் அட்டவணையே trace table. ஒவ்வொரு variable-க்கும் ஒரு நிரல் (column), output-க்கு ஒரு நிரல்.
உதாரணம் 1 — for loop
total = 0
for i in range(1, 5):
total = total + i
print(total)
range(1, 5) என்பது 1, 2, 3, 4 — 5 சேர்க்கப்படாது. இதுதான் மாணவர்கள் அதிகம் தவறும் இடம்.
| படி | i | total | Output |
|---|---|---|---|
| தொடக்கம் | – | 0 | |
| 1 | 1 | 1 | |
| 2 | 2 | 3 | |
| 3 | 3 | 6 | |
| 4 | 4 | 10 | |
| loop முடிவு | 10 |
உதாரணம் 2 — while loop
count = 0
num = 1
while num < 20:
num = num * 3
count = count + 1
print(count, num)
| num < 20 ? | num | count | Output |
|---|---|---|---|
| – | 1 | 0 | |
| 1 < 20 ✔ | 3 | 1 | |
| 3 < 20 ✔ | 9 | 2 | |
| 9 < 20 ✔ | 27 | 3 | |
| 27 < 20 ✘ | 3 27 |
Condition-ஐ loop-இன் தொடக்கத்தில் மட்டுமே சோதிக்கிறோம் என்பதைக் கவனியுங்கள். num 27 ஆன பின்னரும் அந்தச் சுற்று முழுமையாக முடிகிறது.
அடிக்கடி வரும் சிக்கல்கள்
| Code | விடை | ஏன்? |
|---|---|---|
10 // 4 | 2 | // = முழு எண் வகுத்தல் (floor division) |
10 % 4 | 2 | % = மீதி (modulus) |
10 / 4 | 2.5 | / எப்போதும் float தரும் |
range(3) | 0, 1, 2 | 0-இல் தொடங்கும்; 3 சேராது |
range(2, 11, 2) | 2, 4, 6, 8, 10 | மூன்றாவது பெறுமானம் = step |
"A" + "B" | AB | Strings இணைக்கப்படும் (concatenation) |
- Rough work பகுதியில் trace table வரையுங்கள் — 1 நிமிடம் செலவழித்தால் முழுப் புள்ளிகள்.
- Indentation-ஐக் கவனமாகப் பாருங்கள்: loop-க்குள் உள்ள
printபலமுறை இயங்கும்; வெளியே உள்ளது ஒருமுறை மட்டும். print(a, b)output-இல் இரண்டுக்கும் இடையே ஒரு இடைவெளி (space) வரும்.- Variable-க்கு புதிய பெறுமானம் கொடுக்கப்பட்டால் பழையது அழிந்துவிடும் — அட்டவணையில் புதிய வரியில் எழுதுங்கள்.
பயிற்சி
கீழே உள்ள worksheet-இல் 8 programs-க்கு trace table வரைந்து output கண்டுபிடியுங்கள்; கடைசியில் பிழை கண்டுபிடிக்கும் போனஸ் வினாவும் உண்டு. உண்மையான பரீட்சை வினாக்களுக்கு Grade 11 ICT past papers பாருங்கள். Number Systems பகுதியையும் பயிற்சி செய்ய: Number System மாற்றங்கள் வழிகாட்டி.