11.1.4 පුනර්කරණය සහිත ගැලීම් සටහන් සහ ව්‍යාජ කේත. - 11-වසර තොරතුරු හා සන්නිවේදන තාක්ෂණය

11.1.4 පුනර්කරණය සහිත ගැලීම් සටහන් සහ ව්‍යාජ කේත.

පුනර්කරණය (Iteration / Repetition) සහිත ගැලීම් සටහන් සහ ව්‍යාජ කේත.

යම් කොන්දේසියක් තෘප්ත වන තුරු ඇල්ගොරිතමයක ඇති පියවර හෝ පියවර කිහිපයක් නැවත නැවත සිදුවීම පුනර්කරණය ලෙස හැදින්වේ.

(ඇල්ගොරිතමයකඇති පියවර එක් පියවරක් නිමා වූ පසු අනෙක වශයෙන් පියවරෙන් පියවර ක්‍රියාත්මක වෙයි. නමුත් සමහර අවස්ථාවල දී ඇල්ගොරිතමයේ නිශ්චිත පියවරක් හෝ පියවර කිහිපයක් යම් කොන්දේසියක් තෘප්ත වන තෙක් නැවත නැවත ක්‍රියාත්මක කිරීමට සිදුවේ. මෙවැනි අවස්ථාවක පුනර්කරණය යොදාගත හැකිය.)

පුනර්කරණය භාවිතයෙන් අල්ගොරිතමයක අනවශ්‍ය පියවරයන් ඉවත් කර පහසුවෙන් විසදුම ලබාගත හැකිවේ.

Repeat , While සහ  For යොදාගනිමින් පුනර්කරණය කේත තුල යොදාගත  හැකිවේ. 

 

Repeat....Until / Do..... While ව්‍යුහය


 

  • ඇල්ගොරිතමයක ඇති පියවර හෝ පියවර කිහිපයක් නොදන්නා වාර ගණනක් නැවත නැවත සිදුවේ.
  • පුනර්කරණය කිරීමට අවශ්‍ය කොටස අවසානයේ දී කොන්දේසිය පරීක්ෂා කරනු ලබයි.
  • පුනර්කරණය කිරීමට අවශ්‍ය කොටස එක් වරක් අනිවාර්යෙන් ම ක්‍රියාත්මක වේ. 
  • කොන්දේසිය අසත්‍යව පවතිනතාක් පුනර්කරණය නැවත නැවත සිදුවේ (කොන්දේසිය සත්‍ය වූ විට පුනර්කරණය අවසන් වී, ඊළඟ පියවර වෙත යයි).  

Syntax :     

BEGIN

            REPEATE

                        කාර්යය           

            UNTIL කොන්දේසිය

END

(Repeate යන ඇවිරුණු පදයෙන් (keyword) පටන් ගන්නා පුනර්කරණය Until හි ඇති කොන්දේසිය සත්‍ය වූ පසු පුන්ර්කරණය අවසන් වේ. Repeate සහ  Until අතර ඇති කේත (code) පුනර්කරණය / නැවත නැවත ක්‍රියාත්මක වේ. )

1. සංඛ්‍යා කිහිපයක එකතුව සෙවීම.

ආදානය : සංඛ්‍යා

ක්‍රියාවලිය : එකතුකිරීම 

ප්‍රතිදානය : සංඛ්‍යා කිහිපයේ එකතුව 

ගැලීම් සටහන  ව්‍යාජ කේතය 

BEGIN

Total = 0

REPEATE

INPUT Number as N

PROCESS Total = Total + N

UNTIL Numbers are over

OUTPUT Total

END

 

 

 

While ව්‍යුහය


 

  • ඇල්ගොරිතමයක ඇති පියවර හෝ පියවර කිහිපයක් නොදන්නා වාර ගණනක් නැවත නැවත සිදුවේ.
  • පුනර්කරණය වීමට පෙර කොන්දේසිය පරීක්ෂා කරනු ලබයි.
  • කොන්දේසිය තෘප්ත වන්නේ නම් පමණක් පුනර්කරණය ආරම්භ වේ.
  • කොන්දේසිය අසත්‍ය වූ විට පුනර්කරණය අවසන් වී ඊලඟ පියවර වෙත යයි.
  • මෙහි විශේෂත්වය වන්නේ යම් දෙන ලද ඉලක්කයක් (කොන්දේසියක්) සපුරාගන්නා තුරු නැවත නැවත ක්‍රියාත්මක වීමයි.

 

Syntax :     

BEGIN

            WHILE කොන්දේසිය

                        කාර්යය           

            ENDWHILE 

END

(මෙය WHILE නම් ඇවිරිණු පදය (keyword) සමඟ ආරම්භ වේ. මෙහි while සහ  end while අතර කොටස තුළ මෙයට අයත් කර්‍යයන් දැක්විය හැකිය. while සහ  end while අතර දක්වන කේත (code) නැවත නැවත සිදුවේ. කොන්දේසිය තෘප්ත (සත්‍ය) වූ පසු පුනර්කරණය අවසන් වී ඊලඟ පියවර වෙත ගමන් කරයි.

1. සංඛ්‍යා 5ක එකතුව සෙවීම.

ආදානය : සංඛ්‍යා පහ 

ක්‍රියාවලිය : එකතු කිරීම 

ප්‍රතිදානය : සංඛ්‍යා පහේ එකතුව 

ගැලීම් සටහන  ව්‍යාජ කේතය 

BEGIN

Total = 0

Count = 0

WHILE Count < 5

INPUT Number as N

PROCESS Total = Total + N

END WHILE

OUTPUT Total

END

 

 

 

 

 

 

   

 

For ව්‍යුහය


 

  • ඇල්ගොරිතමයක ඇති පියවර හෝ පියවර කිහිපයක් නිශ්චිත වාර ගණනක් නැවත  නැවත සිදුවේ.
  • මෙහි විශේෂත්වය වන්නේ පුනර්කරණය ආරම්භයේ එය ක්‍රියාත්මක කල යුතු වාර ගණන දැක්විය යුතු වීමයි. 

Syntax :     

BEGIN

            FOR විචල්‍යය TO අගය 

                        කාර්යය  

NEXT        

END

(මෙහි for නම් ඇවිරුණු පදය මගින් පුනර්කරණය ආරම්භ වේ. ඊලලඟ පියවර ලෙස විචල්‍ය සඳහන් කිරීමේදී එම විචල්‍යය සඳහා අගයක් ද ලබාදිය යුතුය. එම අගය පුර්කරණයේ ආරම්භක අගය වන අතර TO යන්නට පසුව දෙක්වෙන අගයෙන් පුනර්කරණය අවසන් වේ. එනම් එම අගයන් දෙක අතර ප්‍රමාණයක් පුනර්කරණය සිදුවේ. NEXT මගින් විචල්‍යයේ අගය වැඩි හෝ අඩු වන ආකාරය දක්වයි. For .. To සහ  Next අතර කේත / පියවර පුනර්කරණය වේ.)

 

1. 1 සිට 5 තෙක් සංඛ්‍යා අනුපිළිවෙලින් ප්‍රතිදානය කරන්න.

ගැලීම් සටහන  ව්‍යාජ කේතය 

BEGIN

FOR N=1 TO 5  

OUTPUT N

NEXT N = N+1

END

 

 

 

 

 

 

 

 

 

1. 1 සිට 10 තෙක් සංඛ්‍යා ලබාගෙන ඒවායේ එකතුව ප්‍රතිදානය කරන්න.

ගැලීම් සටහන  ව්‍යාජ කේතය 

BEGIN

Total = 0

FOR COUNT = 1 TO 10

PROCESS Total = Total + Count

NEXT Count + 1

OUTPUT Total

END