സ്ട്രക്ചേർഡ് പ്രോഗ്രാമിങ്
പ്രോഗ്രാമിംഗ് മാതൃകൾ |
---|
|
ഒരു കമ്പ്യൂട്ടർ പ്രോഗ്രാമിന്റെ വ്യക്തതയും നിലവാരവും വികസന സമയവും മെച്ചപ്പെടുത്തുന്നതിന് ലക്ഷ്യമിടുന്ന ഒരു പ്രോഗ്രാമിങ് മാതൃകയാണ് സ്ട്രക്ചേർഡ് പ്രോഗ്രാമിംഗ്. സ്ട്രക്ചേർഡ് കണ്ട്രോൾ ഫ്ലോ തെരഞ്ഞെടുക്കലുകൾ നിർമ്മിക്കുന്നത് (if/then/else)ആവർത്തനം,(while and for), ബ്ലോക്ക് സ്ട്രക്ച്റുകൾ, സബ്റൂട്ടീനുകൾ എന്നിവയിലൂടെയാണ്.
1950 കളുടെ അവസാനത്തിൽ ഇത് ഉയർന്നു വന്നു, അൽഗോൾ 58(ALGOL 58) ഉം അൽഗോൾ 60(ALGOL 60) പ്രോഗ്രാമിംഗ് ഭാഷകളും ഉത്ഭവിച്ചു, [1]ബ്ലോക് സ്ട്രക്ച്ചറുകൾക്കുള്ള പിന്തുണയും ഉൾപ്പെടുന്നു. ജനകീയതയ്ക്കും വ്യാപകമായ അംഗീകാരത്തിനും കാരണമാകുന്ന ഘടകങ്ങൾ, ആദ്യം അക്കാഡമിയിലും പിന്നീട് പ്രാക്ടീഷണന്മാരുടെ ഇടയിലും, 1966 ൽ സ്ട്രക്ചേർഡ് പ്രോഗ്രാം സിദ്ധാന്തം എന്ന് ഇപ്പോൾ അറിയപ്പെടുന്ന കണ്ടുപിടിത്തം,[2] "ഗോടു(GOTO) പ്രസ്താവന ഹാനികരമായതായി കണക്കാക്കപ്പെടുന്നു" എന്ന സ്വാധീനശക്തിയുള്ള പ്രസിദ്ധീകരണത്തിൽ 1968 ൽ ഡച്ച് കംപ്യൂട്ടർ ശാസ്ത്രജ്ഞനായ എഡ്സേർ ഡബ്ല്യൂ ഡിജ്ക്സ്ട്ര എഴുതിയ തുറന്ന കത്തിൽ "സ്ട്രക്ചേർഡ് പ്രോഗ്രാമിങ്" എന്ന പദം ഉപയോഗിച്ചു.[3]
സ്ട്രക്ചേർഡ് പ്രോഗ്രാമിങ് മിക്കപ്പോഴും വ്യതിയാനങ്ങൾ ഉപയോഗിക്കുന്നു, ചില പ്രത്യേക സാഹചര്യങ്ങളിൽ കൂടുതൽ വ്യക്തമായ പ്രോഗ്രാമുകൾ അനുവദിക്കുക, ഉദാഹരണത്തിന് ഒഴിവാക്കൽ കൈകാര്യം ചെയ്യൽ നടത്തേണ്ടതാണ്.
തത്വങ്ങൾ[തിരുത്തുക]
ഘടനകളുടെ നിയന്ത്രണം[തിരുത്തുക]
ഘടനാപരമായ പ്രോഗ്രാം സിദ്ധാന്തം ഇനിപറയുന്ന പ്രകാരം എല്ലാ പ്രോഗ്രാമുകളും കൺസ്ട്രക്ഷൻ സ്ട്രക്ച്ചറുകളായിട്ടാണ് കാണപ്പെടുന്നത്:
- "സീക്വൻസ്"; ഓർഡർ സ്റ്റേറ്റ്മെന്റുകൾ അല്ലെങ്കിൽ സബ്റൂട്ടീനുകൾ ക്രമത്തിൽ നിർവ്വഹിച്ചിരിക്കുന്നു.
- "തിരഞ്ഞെടുക്കൽ"; പ്രോഗ്രാമിന്റെ അവസ്ഥയെ ആശ്രയിച്ച് ഒന്നോ അതിലധികമോ പ്രസ്താവനകൾ നടക്കുന്നു. സാധാരണയായി if..then..else..endif പോലെയുള്ള കീവേഡുകൾ കൊണ്ട് സൂചിപ്പിക്കപ്പെടുന്നു.
- "ആവർത്തനം"; പ്രോഗ്രാമിൽ ഒരു നിശ്ചിത അവസ്ഥയിൽ എത്തുന്നതുവരെ ഒരു പ്രസ്താവന അല്ലെങ്കിൽ ബ്ലോക്ക് എക്സിക്യൂട്ട് ചെയ്യുന്നു, അല്ലെങ്കിൽ ശേഖരത്തിലെ ഓരോ ഘടകത്തിലേക്കും പ്രവർത്തനങ്ങൾ പ്രയോഗിക്കപ്പെട്ടിട്ടുണ്ട്.
- ഇത് സാധാരണയായി കീവേഡുകൾ ഉപയോഗിച്ച് സൂചിപ്പിക്കപ്പെടുന്നു ഉദാഹരണമായി
while, repeat, for or do..until
.പലപ്പോഴും ഓരോ ലൂപ്പിനും ഒരു എൻട്രി പോയിന്റ് ഉണ്ടായിരിക്കണം (ഒറിജിനൽ സ്ട്രക്ചറൽ പ്രോഗ്രാമിംഗിലും, ഒരു എക്സിറ്റ് പോയിന്റ് മാത്രം, കുറച്ച് ഭാഷകൾ ഇത് നടപ്പിലാക്കുന്നു).
അവലംബം[തിരുത്തുക]
- ↑ Clark, Leslie B. Wilson, Robert G.; Robert, Clark (2000). Comparative programming languages (3rd പതിപ്പ്.). Harlow, England: Addison-Wesley. പുറം. 20. ISBN 9780201710120. മൂലതാളിൽ നിന്നും 26 November 2015-ന് ആർക്കൈവ് ചെയ്തത്. ശേഖരിച്ചത് 25 November 2015.
- ↑ Bohm, Corrado; Giuseppe Jacopini (May 1966). "Flow Diagrams, Turing Machines and Languages with Only Two Formation Rules" (PDF). Communications of the ACM. 9 (5): 366–371. CiteSeerX 10.1.1.119.9119. doi:10.1145/355592.365646. മൂലതാളിൽ നിന്നും 2015-09-23-ന് ആർക്കൈവ് ചെയ്തത് (PDF).
- ↑ Dijkstra 1968, "The unbridled use of the go to statement has as an immediate consequence that it becomes terribly hard to find a meaningful set of coordinates in which to describe the process progress. ... The go to statement as it stands is just too primitive, it is too much an invitation to make a mess of one's program."