මම ඩග්ලස් මැක්ල්රෝයි පිළිබඳ විකිපීඩියා ලිපිය කියවමින් සිටියදී එහි සඳහන් උපුටා දැක්වීමක් හමු විය
"වැඩසටහන්කරණයේ සැබෑ වීරයා වන්නේ negative ණ කේත ලිවීමයි."
ඒ කියන්නේ මොකද්ද?
මම ඩග්ලස් මැක්ල්රෝයි පිළිබඳ විකිපීඩියා ලිපිය කියවමින් සිටියදී එහි සඳහන් උපුටා දැක්වීමක් හමු විය
"වැඩසටහන්කරණයේ සැබෑ වීරයා වන්නේ negative ණ කේත ලිවීමයි."
ඒ කියන්නේ මොකද්ද?
Answers:
එහි අර්ථය වන්නේ කේත රේඛා අඩු කිරීම, අතිරික්තයන් ඉවත් කිරීම හෝ වඩාත් සංක්ෂිප්ත ඉදිකිරීම් භාවිතා කිරීමෙනි.
මුල් ඇපල් ලීසා සංවර්ධක කණ්ඩායමේ මෙම සුප්රසිද්ධ කථාව උදාහරණයක් ලෙස බලන්න :
1982 දී ලීසා කණ්ඩායම සිය මෘදුකාංගය අවසන් කිරීමට පෙළඹෙද්දී, ව්යාපෘති කළමණාකරුවන් විසින් ඔවුන් ලියා ඇති කේත රේඛා ගණන වාර්තා කරමින් සතිපතා ආකෘති පත්ර ඉදිරිපත් කරන ලෙස වැඩසටහන්කරුවන්ගෙන් ඉල්ලා සිටියහ. බිල් ඇට්කින්සන් සිතුවේ එය මෝඩ ක්රියාවක් බවයි. ඔහු ක්වික්ඩ්රෝ හි කලාපීය ගණනය කිරීම් හය ගුණයකින් වේගවත් හා පේළි 2000 ක් කෙටි බව නැවත ලියා ඇති සතිය සඳහා ඔහු "-2000" පෝරමය මත තැබීය. තවත් සති කිහිපයකට පසු කළමනාකරුවන් ඔහුගෙන් පෝරමය පුරවන ලෙස ඉල්ලා සිටීම නැවැත්වූ අතර ඔහු සතුටින් ඊට එකඟ විය.
ක්රමලේඛක produc ලදායිතාව කේත රේඛා මගින් මැනීමේ රේඛා ඔස්සේ බිල් ගේට්ස් උපුටා දැක්වීමක් බරින් ගුවන් යානා ගොඩනැගීමේ ප්රගතිය මැනීම හා සමාන වේ.
LOC මෙට්රික් විසින් ඕනෑවට වඩා දිගු සුළං සහිත භාෂාවන් භාවිතා කිරීම දිරිගැන්වූ බවත්, කෝටාව සපුරාලීම සඳහා හිතාමතාම රෝදය ප්රතිනිර්මාණය කරන බවත් මම එකතු කිරීමට කැමැත්තෙමි.
මම උසස් පෙළ කරන විට - ඔව්, අපට 70 දශකයේ පරිගණක තිබුනි, ගල් පිහි භාවිතයෙන් සත්ව හම් වලින් ඒවා සෑදිය යුතු වුවද - ගණිත ගුරුවරයෙක් වැඩසටහන් තරඟයක් පැවැත්වීය. නීති රීති වූයේ ජයග්රාහී වැඩසටහන නිවැරදි ප්රතිදානය නිපදවන වැඩසටහනක් වන අතර කේත වේලාවන්හි කුඩාම නිෂ්පාදන කාලය ක්රියාත්මක වන කාලයයි. එනම්, ඔබේ වැඩසටහන ගෙන, කේත පේළි 100 ක් කියවා තත්පර 5 ක් ධාවනය කළහොත්, ඔබේ ලකුණු 500 ක් විය. වෙනත් අයෙකු කේත පේළි 90 ක් ලියා තත්පර 6 ක් ධාවනය කළහොත්, ඔහුගේ ලකුණු 540 ක් විය. ගොල්ෆ් වැනි අඩු ලකුණු ජයග්රහණ.
එය සංක්ෂිප්තභාවයට හා කාර්යසාධනයට විපාක දෙන දීප්තිමත් ලකුණු ක්රමයක් ලෙස මට පහර දුන්නේය.
නමුත් ජයග්රාහී නිර්ණායක තාක්ෂණිකව සපුරාලන ප්රවේශය නුසුදුසු විය. ගැටළුව වූයේ 100 ට අඩු සියලුම ප්රාථමික සංඛ්යා ලැයිස්තුවක් මුද්රණය කිරීමයි. නුසුදුසු ප්රවේශය මේ හා සමාන දෙයක් විය (බොහෝ සිසුන් එවකට BASIC භාවිතා කරමින් සිටියහ):
100 print "2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61,"
110 print "67, 71, 73, 79, 83, 87, 89, 91, 97"
එම ප්රවේශය ලියා ඇති ශිෂ්යයා පෙන්වා දුන්නේ එය කෙටි හා ඉතා කාර්යක්ෂම වූවා පමණක් නොව, ක්රමලේඛනය පිළිබඳ අවම දැනුමක් ඇති ඕනෑම කෙනෙකුට ඇල්ගොරිතම පැහැදිලිව පෙනෙන අතර එමඟින් වැඩසටහන ඉහළ මට්ටමක පවත්වා ගත හැකි බවයි.
එය දිවෙන් කම්මුලකි. සාමාන්ය කේතගත රේඛාවකට එය ඔබට ඩොලර් N ක් වැය වේ නම්, “negative ණ රේඛා” කේතනය කිරීම නිසැකවම ජයග්රාහකයෙකි.
මෙයින් අදහස් කරන්නේ, ප්රායෝගික උපදෙස් ලෙස, කාර්යය ඉටු කරන කුඩා කේතය, එකම දේ කරන විශාල කේත වලට වඩා හොඳය, අනෙක් සියල්ල සමාන වේ.
එකම වැඩසටහන අඩු කේතයකින් ලිවීම සෑම කෙනෙකුගේම ඉලක්කයකි.
වැඩසටහනක් කේතයට LOC 200 ක් ගෙන, මම එය 150 කින් ලියන්නේ නම්, මම -50 LOC ලිවීය. ඒ නිසා මම negative ණ කේත ලිව්වා.
තිලෝගේ පිළිතුර බොහෝ විට ically තිහාසිකව වඩාත් නිවැරදි ය, නමුත් “negative ණ කේත” රූපකයට කාර්ය සාධනය සහ මතක භාවිතය ද ඇතුළත් විය හැකිය - යමක් අවශ්ය වන තෙක් ක්රියාත්මක කිරීම හෝ වෙන් කිරීම කල් දැමීමට උත්සාහ කිරීම.
මෙම "කල් දැමීමේ ගෙවීම්" මානසිකත්වය "කිසිවක් නොකර සිටීම සැමවිටම යමක් කිරීමට වඩා වේගවත් වේ", "වේගවත්ම කේතය යනු කිසි විටෙකත් ක්රියාත්මක නොවන කේතය" සහ "ඔබට එය දිගු කල් කල් දැමිය හැකි නම්" වැනි කම්මුල්වල අක්ෂර වින්යාසය නිපදවයි. ඔබට එය කිසි විටෙකත් කිරීමට සිදු නොවනු ඇත ”(සැබවින්ම අවශ්ය වන තෙක් මිල අධික මෙහෙයුම් කල් දැමීම ගැන සඳහන් කරමින්)
Negative ණ කේතය සාක්ෂාත් කර ගැනීමේ එක් තාක්ෂණයක් නම් ගැටලුවේ ආරම්භක උපකල්පන සහ අර්ථ දැක්වීම් අභියෝගයට ලක් කිරීමයි. "ඇලෙන සුළු නිකුතුව # 3" නිශ්චිතවම කළ නොහැකි වන පරිදි ඔබට ගැටළුව / ආදාන වසම නැවත අර්ථ දැක්විය හැකි නම්, ඇලෙන සුළු නිකුතුව # 3 සමඟ කටයුතු කිරීමට ඔබට කාලය හෝ කේත වැය කිරීමට අවශ්ය නැත. සැලසුම ප්රශස්තිකරණය කිරීමෙන් ඔබ කේතය ඉවත් කර ඇත.