📚 கற்றல் முதன்மை க.பொ.த. (சா/த) க.பொ.த. (உ/த) பிற 🌐 lang_switch nav_login
O/L · தகவல் தொழினுட்பவியல் (ICT) · தரம் 11 · பிரச்சினைகளைத் தீர்ப்பதற்குச் செய்நிரல்களை எழுதுதல்
🖥️ தரம் 11 · அலகு 1

பிரச்சினைகளைத் தீர்ப்பதற்குச் செய்நிரல்களை எழுதுதல்

Programming (problem solving)
★★★★★ MCQAlgorithmsPascalStructured

1. பிரச்சினை தீர்த்தல் என்றால் என்ன?

நாம் ஒவ்வொரு நாளும் சந்திக்கும் பிரச்சினைகள் — ஒரு வட்டத்தின் பரப்பளவைக் கணித்தல், இரு எண்களின் கூட்டுத்தொகையைக் காணல், ஒர் எண் ஒற்றையா இரட்டையா எனத் தீர்மானித்தல் — இவை அனைத்தும் ஒரு படிமுறையான தீர்வுக்கு உட்பட்டவை. கணினி இவ்வாறான பிரச்சினைகளைத் தீர்க்கும் ஒரு கருவியாகப் பயன்படுத்தப்படுகின்றது. கணினியால் தீர்க்க முடியக்கூடிய ஒவ்வொரு பிரச்சினையும் முதலில் தெளிவான படிமுறைகளாக (Steps) வரையறுக்கப்பட வேண்டும்.

அடிப்படை அமைப்பு
எந்த ஒரு பிரச்சினையும் மூன்று கூறுகளால் வகைப்படுத்தப்படும்: உள்ளீடு (Input), முறைவழியாக்கம் (Process), வெளியீடு (Output). இம்மூன்றையும் சரியாக அடையாளம் காண்பதே செய்நிரல் எழுதுவதின் முதற்படியாகும்.
கூறுபொருள்உதாரணம் — வட்டத்தின் பரப்பளவு
உள்ளீடு (Input)பிரச்சினையைத் தீர்ப்பதற்கு தேவையான தரவுகள்வட்டத்தின் ஆரை (Radius)
முறைவழியாக்கம் (Process)உள்ளீட்டை வெளியீடாக மாற்றும் செயற்பாடுArea = π × r × r
வெளியீடு (Output)பிரச்சினைக்கான தீர்வுபரப்பளவு
செய்து பாருங்கள் — இரு எண்களின் கூட்டுத்தொகை

உள்ளீடு: இரு எண்கள் (a, b).
முறைவழியாக்கம்: இரு எண்களையும் கூட்டல்.
வெளியீடு: கூட்டுத்தொகை.

2. நெறிமுறை (Algorithm) என்றால் என்ன?

ஒரு பிரச்சினையைத் தீர்ப்பதற்குப் பின்பற்றப்படும் படிகளைக் காட்டும் நெறிமுறை நெறிமுறை (Algorithm) எனப்படும். ஒரு பிரச்சினையை முழுமைக்கூடிய வழக்கறிஞர் தீர்வை அளிப்பதற்கான நெறிமுறை எழுதப்படுவதின் அவசியமாகும். நெறிமுறை எழுதப்படும் வழிமுறைகள் இரண்டாகும் — பாய்ச்சற் கோட்டுப்படம் (Flowchart) மற்றும் போலிக் குறிமுறை (Pseudo code).

நல்ல நெறிமுறையின் பண்புகள்
தெளிவான தொடக்கம் மற்றும் முடிவு கொண்டிருத்தல்; ஒவ்வொரு படியும் தெளிவாக இருத்தல்; வரையறுக்கப்பட்ட படிகளில் நிறைவடைதல்; ஒரே உள்ளீட்டிற்கு ஒரே வெளியீட்டை வழங்குதல்.

3. பாய்ச்சற் கோட்டுப்படம் (Flowchart)

நெறிமுறையை வரைபடம் மூலம் காட்டுவதே பாய்ச்சற் கோட்டுப்படமாகும். இதில் ஒவ்வொரு செயலுக்கும் ஒரு குறியீடு உண்டு. குறியீடுகள் அம்புக்குறிகளால் இணைக்கப்பட்டு, செயல்களின் பாய்ச்சல் திசையை குறிக்கின்றன.

குறியீடுபெயர்செயற்பாடு
நீள்வட்டம் (Oval / Terminator)தொடக்கம் / முடிவுBegin, End
இணைகரம் (Parallelogram)உள்ளீடு / வெளியீடுRead, Display
செவ்வகம் (Rectangle)முறைவழியாக்கம்Process / Calculate
சாய்சதுரம் (Rhombus / Diamond)தெரிவு / தீர்மானம்If condition
அம்புக்குறி (Arrow)பாய்ச்சல் திசைநிகழ்வுகளின் ஒழுங்கு
சிறுவட்டம் (Connector)தொடர்புபடத்தின் பகுதிகளை இணைத்தல்

உதாரணம்: ஒரு வட்டத்தின் பரப்பளவைக் கணித்தல்

தொடக்கம் (Begin) ஆரையைப் பெறு (Input r) Area = 22/7 × r × r பரப்பளவைக் காட்டு (Display) முடிவு (End)
செய்து பாருங்கள் — ஒற்றை/இரட்டை எண்ணை அறிய நெறிமுறை

உள்ளீடு: ஒரு எண் N. முறைவழி: N-ஐ 2 ஆல் வகுத்துப் பெற்ற மீதியை (Remainder) சரிபார்க்க. மீதி = 0 எனின் இரட்டை, இல்லையெனின் ஒற்றை. வெளியீடு: "ஒற்றை" அல்லது "இரட்டை".

4. போலிக் குறிமுறை (Pseudo Code)

போலிக் குறிமுறை என்பது நெறிமுறையை எளிய ஆங்கிலச் சொற்களினால் எழுத்துருவாக எழுதுதலாகும். இது எந்தக் கணினி மொழியையும் சாராதது. ஆனால் ஒரு போலிக் குறிமுறையை எந்தக் கணினி மொழியிலும் மாற்றியெழுத முடியும். ஆகவே போலிக் குறிமுறையை எழுதுவதன் மூலம் கணினிச் செய்நிரல்களை உருவாக்குவதை எளிதாக்கலாம்.

தமிழ்போலிக் குறிமுறை
தொடக்கம்BEGIN
முடிவுEND
உள்ளீடுINPUT / READ / GET
வெளியீடுOUTPUT / DISPLAY / SHOW
முறைவழிPROCESS / CALCULATE
தெரிவுIF … THEN … ELSE … ENDIF
மீள்செய்கைFOR-DO / WHILE-ENDWHILE / REPEAT-UNTIL

உதாரணம் 1 — வட்டத்தின் பரப்பளவைக் கணித்தல்

BEGIN
    INPUT Radius
    CALCULATE Area = 22/7 × Radius × Radius
    DISPLAY Area
END

உதாரணம் 2 — ஒற்றை/இரட்டை எண்ணை அறிதல்

BEGIN
    READ number as N
    CALCULATE Remainder after N is divided by 2
    IF Remainder = 0 THEN
        DISPLAY "Even number"
    ELSE
        DISPLAY "Odd number"
    ENDIF
END
செய்து பாருங்கள் — இரு எண்களில் பெரிய எண்ணைக் கண்டுபிடிக்கும் போலிக் குறிமுறை
BEGIN
   INPUT n1, n2
   IF n1 > n2 THEN
       DISPLAY n1
   ELSE
       DISPLAY n2
   ENDIF
END

5. மாறி (Variable) மற்றும் மாறிலி (Constant)

ஒரு செய்நிரலில் தரவுகள் நினைவகத்தில் சேமிக்கப்படுகின்றன. ஒரு மாறி (Variable) என்பது ஒரு பெயர் இருக்கும், அறிவிக்கப்பட்ட வகைக்குரிய தரவு வகையின் ஒரு பெறுமானத்தை வைக்கப்பட்டிருக்கும். செய்நிரல் நடைமுறைப்படுத்தும்போது மாறியின் பெறுமானம் மாறக்கூடியது. மாறிலி (Constant) என்பதன் பெறுமானம் செய்நிரலின் நடைமுறையில் மாறாது.

அறிவித்தல் (Declaration)
Pascal மொழியில் — Var max : integer;  |  Const pi = 22/7;
ஒவ்வொரு மாறிக்கும் அதற்கான தரவு வகை அறிவிக்கப்பட வேண்டும்.
தரவு வகைபொருள்உதாரணம்
Integerமுழு எண்25, -10, 0
Realதசம எண்3.14, 22.5
Charஒரு எழுத்து'A', 'M'
Stringஎழுத்துத் தொடர்'Sumi', 'Nimal'
Booleanஉண்மை / பொய்True, False

6. வினைக்குறிகள் (Operators)

செய்நிரலில் கணித்தல், ஒப்பிடுதல், தருக்கக் கோவைகளை உருவாக்க வினைக்குறிகள் பயன்படுத்தப்படுகின்றன. வினைக்குறிகள் மூன்று வகைப்படும் — எண்கணித (Arithmetic), தொடர்புறுத்தல் (Relational), தருக்க (Logical).

வகைவினைக்குறிபயன்பாடு
எண்கணித+கூட்டல்
கழித்தல்
*பெருக்கல்
/வகுத்தல் (தசம விடை)
DIVமுழு எண் ஈவு (20 DIV 6 = 3)
MODவகுத்தலின் மீதி (20 MOD 6 = 2)
தொடர்புறுத்தல்=சமமா எனப் பார்த்தல்
<>சமமற்றதா
<குறைவா
>கூடுதலா
<=குறைவா அல்லது சமமா
>=கூடுதலா அல்லது சமமா
தருக்கANDஇரண்டும் உண்மை → உண்மை
ORஒன்றாவது உண்மை → உண்மை
NOTஎதிர்மாற்றம் (உண்மை → பொய்)
முன்னுரிமை (Operator Precedence)
1. NOT  →  2. *, /, DIV, MOD, AND  →  3. +, −, OR  →  4. =, <>, <, <=, >, >=
உதாரணம்: 5 + 14 MOD 4 = 5 + 2 = 7.
செய்து பாருங்கள் — பின்வரும் கோவைகளை மதிப்பிடுக

(1) 3 + 7 DIV 2 = 3 + 3 = 6
(2) 16 / 4 * 2 = 4 * 2 = 8
(3) NOT (8 MOD 2 > 5) = NOT (0 > 5) = NOT(False) = True
(4) 4 >= 4 AND NOT(7 > 9) = True AND NOT(False) = True AND True = True

7. கட்டுப்பாட்டுக் கட்டமைப்புகள் (Control Structures)

செய்நிரலில் கூற்றுகள் (Statements) நடைபெறுகின்ற ஒழுங்கு கட்டுப்பாட்டுக் கட்டமைப்புகளால் தீர்மானிக்கப்படுகின்றது. இவை மூன்று வகைப்படும்:

7.1 தெரிவு — IF … THEN … ELSE

IF நிபந்தனை THEN
   கூற்று 1
ELSE
   கூற்று 2
ENDIF
If n1 > n2 then
   Large := n1
Else
   Large := n2;
Writeln('Large = ', Large);
நிபந்தனை உண்மையா? ஆம் இல்லை கூற்று 1 கூற்று 2

7.2 மீள்செய்கை — FOR-DO, WHILE-ENDWHILE, REPEAT-UNTIL

FOR-DO: மீள்செயலின் எண்ணிக்கை முன்கூட்டியே தெரிந்திருக்கும்போது பயன்படுகின்றது.

FOR Variable := Value_1 TO Value_2 DO
   கூற்று
Program printNos(input,output);
Var count : integer;
Begin
   For count := 1 to 10 do
       Writeln(count);
End.

மேற்காட்டிய செய்நிரல் 1 தொடக்கம் 10 வரைக்குமான எண்களை வெளியிடுகின்றது. மீள்செயல் 10 தடவைகள் நடைமுறைப்படுத்தப்படுகின்றது.

FOR DOWNTO-DO: தொடக்கப் பெறுமானம் இறுதிப் பெறுமானத்திலும் கூடுதலாக இருக்க வேண்டும். உதாரணம் — FOR X := 10 DOWNTO 5 DO — மீள்செயல் 6 தடவைகள் நடைபெறும்.

மீள்செயல் கட்டமைப்புதொடக்கம்இறுதிமீள்செயல் எண்ணிக்கை
FOR X := 1 TO 5 DO155
FOR X := 10 DOWNTO 5 DO1056
FOR X := 4 DOWNTO 0 DO405
செய்து பாருங்கள் — 1 முதல் 100 வரை எண்களின் கூட்டுத்தொகை
BEGIN
   Sum := 0
   FOR i := 1 TO 100 DO
       Sum := Sum + i
   DISPLAY Sum
END

இறுதி வெளியீடு: 5050.

8. பஸ்கால் (Pascal) செய்நிரல் கட்டமைப்பு

போலிக் குறிமுறையில் எழுதப்பட்ட நெறிமுறையை ஒரு உயர் மட்ட மொழியில் (High-Level Language) மொழிபெயர்த்தல் வேண்டும். பஸ்கால் (Pascal) கற்றலுக்கு ஏற்ற கட்டமைப்புமுறை மொழியாகும். ஒரு பஸ்கால் செய்நிரலின் அமைப்பு:

Program ProgramName (input, output);
Var
    variable_list : data_type;
Begin
    statements;
End.

உதாரணம் — இரண்டு எண்களின் கூட்டுத்தொகை

Program SumTwo (input, output);
Var n1, n2, sum : integer;
Begin
    Writeln('Enter two numbers');
    Read(n1, n2);
    sum := n1 + n2;
    Writeln('Sum = ', sum);
End.
முக்கிய அவதானிப்பு
Pascal-இல் ஒதுக்கப்பட்ட நியமச் சொற்கள் — Program, Var, Begin, End, If, Then, Else, For, To, Downto, Do, While, Repeat, Until, Read, Writeln. ஒவ்வொரு கூற்றும் ; ஆல் முடிவடைய வேண்டும். மாறிக்கு பெறுமானம் வழங்கல் — := (இடப்பொருத்தல் வினைக்குறி).

9. அணி (Array)

ஒரே வகையான மாறிகளின் தொகுதியை ஒரு பெயரில் சேமிக்கும் கட்டுப்பாட்டு அமைப்பு அணி (Array) எனப்படும். ஒவ்வொரு மூலகத்தையும் எழுத்தாற்றுச் சுட்டியாக (Index) எடுத்துக்காட்டலாம்.

Var X : Array[1..5] of integer;
X[1] := 10;
X[2] := 20;
...
Var marks : array[0..39] of integer;
    i : integer;
For i := 0 to 39 do
   Begin
      Writeln('Enter marks');
      Read(marks);
      marks[i] := marks;
   End;

மேற்காட்டிய உதாரணத்தில் 40 மாணவர்களின் கணித புள்ளிகளை marks என்னும் அணியில் சேமிக்கின்றோம். ஒவ்வொரு புள்ளியையும் தனித் தனியான மாறிகளால் சேமிப்பதை விட இது மிக எளிது.

10. கணினி மொழிகளின் வகைகள்

கணினி மொழிகள் கணினியின் புரிதலின் மட்டத்திற்கு ஏற்ப மூன்று மட்டங்களாக வகைப்படுத்தப்படுகின்றன:

மட்டம்பெயர்உதாரணம்பண்பு
1எந்திர மொழி (Machine Language)0, 1 (இருமம்)கணினி நேரடியாகப் புரியும்; மனிதர்களுக்கு கடினம்
2தொகுதிக் கூட்டல் மொழி (Assembly)MOV, ADDநினைவகச் சொற்களைப் பயன்படுத்தும்; Assembler-ஆல் மாற்றப்படும்
3உயர் மட்ட மொழி (High-Level)Pascal, C, Python, Javaமனிதருக்கு எளிது; Compiler / Interpreter ஆல் மாற்றப்படும்
செய்நிரல் மொழி வகைப்பாடுகள் (Paradigms)
பெருங்கூறமான (Procedural) — Pascal, C; படிமுறையான கூற்றுகள்.
பொருள் சார்ந்த (Object Oriented) — Java, C++; பொருள்களைக் கொண்டது.
தருக்க (Logical) — Prolog; தருக்க விதிகளைப் பயன்படுத்துகிறது.
செயற்படு (Functional) — Lisp, Haskell; கணித செயற்பாடுகளைப் பயன்படுத்துகிறது.
செய்து பாருங்கள் — ஏன் உயர் மட்ட மொழி பயன்படுத்தப்படுகிறது?

உயர் மட்ட மொழி மனிதர்கள் புரிய எளிதானது. ஆனால் இவ்வாறான மொழியில் எழுதப்பட்ட நிரல்கள் (Source Code) கணினியால் நேரடியாகச் செயற்படுத்த முடியாது. ஆகவே Compiler அல்லது Interpreter மூலம் எந்திர மொழியில் மாற்றப்பட வேண்டும்.

📝 பரீட்சை வினாக்கள் (Past paper practice)

உண்மையான பரீட்சை வடிவம் — முதலில் உங்களே எழுதி, பின் மாதிரி விடை பார்க்க.

Paper I — பஹுவிடைத் தெரிவு வினாக்கள் (1 புள்ளி வீதம்)
Programming / Problem Solving தொடர்பான MCQ பயிற்சி.
G.C.E. O/L 2021 — Paper I
  • (a) பின்வரும் நிரலை (Program) கவனிக்கவும்:
    counter:=2
    WHILE counter <= 3 DO
    DISPLAY \'Enter a Number\'
    READ (number)
    count = counter + 1
    END WHILE

    மேலே உள்ள நிரல் எத்தனை முறை செயல்படும்?
    (1) 1
    (2) 2
    (3) 3
    (4) 4 (1 புள்ளி)
  • (b) பின்வரும் நிரலை (Algorithm) கவனிக்கவும்:
    count := 0
    FOR i:=1 TO 4 DO
    count := count + i
    END FOR
    DISPLAY count

    count-இன் இறுதி மதிப்பு என்ன?
    (1) 1
    (2) 3
    (3) 6
    (4) 10 (1 புள்ளி)
  • (c) கணினி வழிமுறை (Algorithm) வடிவியலில் (Flowchart) முடிவு (Decision) குறியீட்டின் வடிவம் எது?
    (1) செவ்வகம் (Rectangle)
    (2) இரட்டை கோடுகள் (Parallelogram)
    (3) வைரம் (Diamond)
    (4) நீள்வட்டம் (Oval) (1 புள்ளி)
Paper II — கட்டமைப்பு வினாக்கள் (Structured Questions)
Programming / Problem Solving பயிற்சி.
G.C.E. O/L 2021 — Paper II
  • (a) பின்வரும் Pascal நிரலை கவனிக்கவும்:

    VAR
    counter : integer
    BEGIN
    counter := 2
    WHILE counter <= 20 DO
    BEGIN
    DISPLAY \'Enter a Number\'
    READ (number)
    counter = counter + 1
    END
    END

    (a) மேலே உள்ள நிரலில் counter-இன் ஆரம்ப மதிப்பு என்ன?
    (b) இந்த நிரல் மொத்தம் எத்தனை முறை செயல்படும்?
    (c) FOR சுழற்சியை (FOR loop) பயன்படுத்தி மேலே உள்ள WHILE சுழற்சியை மாற்றி எழுதவும்.
    (d) count = count + 1 என்பதற்கு பதிலாக count = count + 2 என்று மாற்றினால் நிரல் எத்தனை முறை செயல்படும்? (8 புள்ளி)
  • (b) பின்வரும் வழிமுறை (Algorithm) வரைவை (Flowchart) கவனிக்கவும்:

    தொடக்கம் (Start)

    kandy_count = 0
    galle_count = 0
    student_count = 0

    ஒவ்வொரு மாணவரையும் சோதிக்கவும்:
    நகரம் = Kandy? → ஆம்: kandy_count = kandy_count + 1
    இல்லை → Galle? → ஆம்: galle_count = galle_count + 1
    student_count = student_count + 1

    kandy_count, galle_count காட்டு

    முடிவு (End)

    (a)(i) மேலே உள்ள வழிமுறை வரைவை படிப்படியாக விளக்கவும்.
    (ii) kandy_count மற்றும் galle_count-இன் இறுதி மதிப்புகள் என்னவாகும் என்று விளக்கவும்.

    (b) பின்வரும் Pascal நிரலை கவனிக்கவும்:
    IF marks >= 75 THEN
    Output \'Qualified for the post\'
    ELSE
    Output \'Not qualified for the post\'

    (i) marks = 80 ஆக இருந்தால் வெளியீடு (Output) என்னவாகும்?
    (ii) மேலே உள்ள நிரலில் ஒரு மாணவர் \'Qualified for the post\' ஆக தேர்வு பெற குறைந்தது எத்தனை மதிப்பெண் பெற வேண்டும்? (8 புள்ளி)
Paper I — பஹுவிடைத் தெரிவு வினாக்கள் (1 புள்ளி வீதம்)
Programming / Problem Solving தொடர்பான MCQ பயிற்சி.
G.C.E. O/L 2022 — Paper I
  • (a) 18. ஒரு pascal நிரலில் பின்வரும் குறியீடு உள்ளது:
    begin
    x := 4;
    y := x+3;
    writeln(y)
    end.
    வெளியீடு என்ன?
    (A) 3
    (B) 4
    (C) 7
    (D) 12 (1 புள்ளி)
  • (b) 19. IF characters = 16 என்றால் Pascal நிரலில் எழுத்துகளை (characters) சேமிக்க எந்த தரவு வகை (data type) பொருத்தமானது?
    (A) Integer
    (B) Char
    (C) Boolean
    (D) String (1 புள்ளி)
  • (c) 20. IF variable = 43 சேமிக்கப்பட்டால் எந்த தரவு வகை சரியானது?
    (A) Integer
    (B) Real
    (C) Char
    (D) Boolean (1 புள்ளி)
  • (d) 21. Pascal நிரலில் WHILE loop மற்றும் REPEAT-UNTIL loop ஆகியவற்றுக்கு இடையே உள்ள முக்கிய வேறுபாடு என்ன?
    (A) WHILE loop குறைந்தது ஒரு முறையாவது இயங்கும்
    (B) REPEAT-UNTIL loop குறைந்தது ஒரு முறையாவது இயங்கும்
    (C) இரண்டும் ஒரே மாதிரி செயல்படும்
    (D) WHILE loop மட்டுமே நிபந்தனை சோதிக்கும் (1 புள்ளி)
  • (e) 22. Pascal நிரலில் FOR loop:
    For counter := 1 to 5 do
    writeln(counter);
    கீழ்காணும் வெளியீடுகளில் சரியானது எது?
    (A) 1 2 3 4
    (B) 1 2 3 4 5
    (C) 0 1 2 3 4 5
    (D) 2 3 4 5 (1 புள்ளி)
  • (f) 23. ஒரு algorithm-இல் flowchart-இல் diamond வடிவம் எதை குறிக்கும்?
    (A) தொடக்கம்/முடிவு
    (B) செயல்முறை (Process)
    (C) உள்ளீடு/வெளியீடு
    (D) முடிவு (Decision) (1 புள்ளி)
  • (g) 24. கீழ்காணும் Pascal நிரலை கவனியுங்கள்:
    program p1;
    var
    a : integer;
    begin
    a := 0;
    while a < 5 do
    begin
    a := a + 2;
    end;
    writeln(a);
    end.
    வெளியீடு என்ன?
    (A) 4
    (B) 5
    (C) 6
    (D) 8 (1 புள்ளி)
  • (h) 25. கீழ்காணும் flowchart-ஐ கவனியுங்கள். N=4 என்று உள்ளீடு கொடுக்கப்பட்டால் வெளியீடு என்ன?
    (A) APS
    (B) APF
    (C) NAPS
    (D) NAPF (1 புள்ளி)
Paper II — கட்டமைப்பு வினாக்கள் (Structured Questions)
Programming / Problem Solving பயிற்சி.
G.C.E. O/L 2022 — Paper II
  • (a) 4. (a) கீழ்காணும் Pascal நிரலைக் கவனியுங்கள்:
    program p2;
    var
    number : integer;
    begin
    number := 0;
    repeat
    number := number + 1;
    until number = 5;
    writeln(number);
    end.
    (i) இந்த நிரல் எத்தனை முறை loop ஆகும்?
    (ii) வெளியீடு என்ன?

    (b) 1 முதல் N வரை உள்ள எண்களின் கூட்டலை கணக்கிட Pascal நிரல் எழுதுக. N-ஐ பயனர் உள்ளீடாக கொடுப்பார்.

    (c) கீழ்காணும் Flowchart-ஐ கவனியுங்கள்:
    [Start → Read N → total := 0, i := 1 → i <= N? → ஆம்: total := total + i, i := i + 1 → மீண்டும் நிபந்தனைக்கு; இல்லை: Write total → Stop]
    N = 4 என்று கொடுக்கப்பட்டால்:
    (i) Loop எத்தனை முறை இயங்கும்?
    (ii) இறுதி வெளியீடு என்ன? (10 புள்ளி)
Paper I — பஹுவிடைத் தெரிவு வினாக்கள் (1 புள்ளி வீதம்)
Programming / Problem Solving தொடர்பான MCQ பயிற்சி.
G.C.E. O/L 2023 — Paper I
  • (a) 16. Pascal மொழியில் ஒரு variable ஐ integer வகையில் அறிவிக்க எந்த keyword பயன்படுகிறது?
    (A) REAL
    (B) CHAR
    (C) INTEGER
    (D) BOOLEAN (1 புள்ளி)
  • (b) 17. Pascal மொழியில் ஒரு F.Q.R என்ற function ஐப் பற்றிய கீழ்க்கண்ட கோட் துணுக்கை கவனிக்கவும். இந்த function ஆனது எந்த data type ஐ திருப்பி அனுப்பும்?
    (A) Integer
    (B) Real
    (C) Boolean
    (D) String (1 புள்ளி)
  • (c) 18. ஒரு Pascal நிரலில் FOR loop ஐப் பயன்படுத்தி 1 முதல் N வரை உள்ள எண்களின் கூட்டுத்தொகையை (sum) கணக்கிட ஒரு algorithm இன் flowchart கொடுக்கப்பட்டுள்ளது. அதில் காட்டப்பட்டுள்ள P, Q, R என்ற box இடங்களில் சரியாக இருப்பவை எவை?
    (A) P: Sum:=0, Q: Sum:=Sum+i, R: Print Sum
    (B) P: i:=1, Q: i:=i+1, R: Sum:=Sum+i
    (C) P: Sum:=Sum+1, Q: Print Sum, R: i:=0
    (D) P: Print Sum, Q: Sum:=0, R: Sum:=Sum+i (1 புள்ளி)
  • (d) 19. Pascal மொழியில் AND, NOT, OR என்ற logical operators பயன்படுத்தும்போது சரியான முன்னுரிமை (precedence) வரிசை எது?
    (A) NOT, AND, OR
    (B) OR, AND, NOT
    (C) AND, NOT, OR
    (D) AND, OR, NOT (1 புள்ளி)
Paper II — கட்டமைப்பு வினாக்கள் (Structured Questions)
Programming / Problem Solving பயிற்சி.
G.C.E. O/L 2023 — Paper II
  • (a) 2. (a) கீழே ஒரு Pascal நிரலின் ஒரு பகுதி கொடுக்கப்பட்டுள்ளது:

    Program example;
    Var
    i, Sum : Integer;
    Begin
    Sum := 0;
    FOR i := 1 TO 10 DO
    Begin
    Sum := Sum + i;
    End;
    Writeln(Sum);
    End.

    (i) இந்த நிரல் என்ன செய்கிறது என விளக்குக.
    (ii) நிரல் இயக்கப்பட்டால் வெளியீடு (output) என்னவாக இருக்கும்?
    (iii) FOR loop ஐ WHILE loop ஆக மாற்றி எழுதுக.

    (b) Pascal மொழியில் Procedure மற்றும் Function இன் வேறுபாடுகளை குறிப்பிடுக.

    (c) பின்வரும் flowchart ஐப் பார்த்து Pascal நிரல் எழுதுக:
    [Flowchart: Start → Input N → IF N>0 THEN print \'Positive\' ELSE print \'Negative\' → Stop] (10 புள்ளி)
  • (b) 5. (a) பின்வரும் Pascal நிரலின் வெளியீட்டை (output) எழுதுக:

    Program test;
    Var a, b, c : Integer;
    Begin
    a := 10;
    b := 4;
    c := a MOD b;
    Writeln(c);
    c := a DIV b;
    Writeln(c);
    End.

    (b) கீழே கொடுக்கப்பட்டுள்ள flowchart ஐ Pascal நிரலாக மாற்றுக:
    [Flowchart: Start → P=1 → Q=1 → P<=5? (Yes→R=P*Q, Print R, Q=Q+1, go back to Q loop; No→P=P+1, check P<=5?) → Stop]

    (c) Pascal இல் Array (வரிசை) என்றால் என்ன? ஒரு எடுத்துக்காட்டுடன் விளக்குக.

    (d) Pascal நிரல் எழுதும்போது கடைப்பிடிக்க வேண்டிய Debugging (பிழை திருத்தம்) முறைகளை விளக்குக. (10 புள்ளி)
Paper II — கட்டமைப்பு வினாக்கள் (Structured Questions)
Programming / Problem Solving பயிற்சி.
G.C.E. O/L 2024 — Paper II
  • (a) 5. (a) பின்வரும் Pascal நிரல் (Pascal program) ஒரு எண்ணை (Counter) 1 இலிருந்து 10 வரை பட்டியலிடுகிறது.

    BEGIN
    Counter := 1
    WHILE Counter <= 10 DO
    BEGIN
    DISPLAY Counter
    Counter = Counter + 1
    END
    END

    (i) மேற்கண்ட நிரலில் WHILE Counter <= 10 DO என்ற வரிசை REPEAT-UNTIL மாற்றமாக (alternative) எப்படி எழுதுவீர்கள்?

    (ii) மேற்கண்ட நிரலை FOR வளையமாக (FOR loop) மாற்றி எழுதுங்கள்.

    (iii) நிரலில் Counter = Counter + 1 என்பதன் பொருள் என்ன?

    (iv) நிரல் வெளியீடாக (output) என்ன காட்டும்?

    (v) Counter ஐ 2 இலிருந்து 20 வரை ஒற்றை எண்களை மட்டும் காட்ட (odd numbers only) நிரலை மாற்றவும்.

    (b) பின்வரும் நிரல் வரைபட (flowchart) ஐ கவனியுங்கள்.

    (i) நிரல் வரைபடத்தில் உள்ள முடிவு (Decision) சின்னம் எதை குறிக்கிறது?

    (ii) நிரல் வரைபடத்தில் முடிவு செய்யும் சின்னத்தின் வெளியீடு எத்தனை கிளைகள் (branches) கொண்டது?

    (c) Pascal இல் IF-THEN-ELSE பயன்படுத்தி ஒரு மாணவரின் மதிப்பெண்ணை (mark) தேர்ச்சி (pass) அல்லது தோல்வி (fail) என்று காட்டும் நிரல் எழுதுங்கள். (20 புள்ளி)
  • (b) 7. (a) பின்வரும் Pascal நிரல் (program) ஒரு எண்ணின் காரணிகளை (factors) கண்டறிகிறது.

    (i) நிரல் வரைபட (flowchart) சின்னங்களை அடையாளம் காணுங்கள்:
    (A) சுற்றளவு (oval) சின்னம் எதை குறிக்கிறது?
    (B) இணைகரம் (parallelogram) சின்னம் எதை குறிக்கிறது?
    (C) செவ்வகம் (rectangle) சின்னம் எதை குறிக்கிறது?
    (D) வைரம் (diamond) சின்னம் எதை குறிக்கிறது?

    (ii) தரவு வகைகளை (data types) அடையாளம் காணுங்கள்:
    (A) Integer என்றால் என்ன?
    (B) Real என்றால் என்ன?
    (C) Boolean என்றால் என்ன?
    (D) String என்றால் என்ன?
    (E) Char என்றால் என்ன?

    (b) (i) BEGIN பிரிவில் உள்ள counter_a மற்றும் counter_b என்ன செய்கின்றன?

    (ii) Flowchart இல் உள்ள எந்த படிமுறை (step) WHILE loop ஐ குறிக்கிறது?

    (iii) Flowchart இல் counter_a மற்றும் counter_b ஏன் பயன்படுத்தப்படுகின்றன?

    (c) Pascal இல் ஒரு நூறு வரை (1 to 100) எண்களின் தொகையை (sum) கணக்கிட நிரல் எழுதுங்கள்.

    (d) ஒரு எண் ஒற்றையா (odd) அல்லது இரட்டையா (even) என்று சரிபார்க்கும் Pascal நிரல் எழுதுங்கள். (20 புள்ளி)

✅ விரைவுச் சோதனை (Quick Check)

முக்கிய புள்ளிகளை உறுதிப்படுத்த — தவறான விடைகள் உங்கள் தவறுப் புத்தகத்தில் சேமிக்கப்படும்.

📝 மேலும் பயிற்சி (Practice more)