പ്രോഗ്രാമുകളുടെ ഘടനാപരമായ രൂപകൽപ്പന. സോഫ്റ്റ്വെയർ ഘടന പ്രോഗ്രാം ബ്ലോക്ക് ഡയഗ്രം ഉദാഹരണം

സബ്സ്ക്രൈബ് ചെയ്യുക
"nikanovgorod.ru" കമ്മ്യൂണിറ്റിയിൽ ചേരുക!
VKontakte:

കോഴ്സ് പ്രോജക്റ്റ്

"ഒരു ഉയർന്ന തലത്തിലുള്ള ഭാഷയിൽ പ്രോഗ്രാമിംഗ്" എന്ന വിഷയത്തിൽ

"കുതിരകൾ" എന്ന ഗെയിമിൻ്റെ ഉദാഹരണം ഉപയോഗിച്ച് ദീർഘകാല സംഭരണത്തിനും വിവരങ്ങളുടെ പ്രോസസ്സിംഗിനുമായി ഒരു സോഫ്റ്റ്വെയർ ഉപകരണത്തിൻ്റെ വികസനം

വിശദീകരണ കുറിപ്പ്

OSU 27.03.03.0316.000PZ

സൂപ്പർവൈസർ

അധ്യാപകൻ

V. V. ചെക്രിജിന "___"_____ 2016

ഗ്രൂപ്പിലെ വിദ്യാർത്ഥി 14SAU(ba)SAUIT _______ _________I.O. കുടുംബപ്പേര്

"___"_____________ 2016

ഒറെൻബർഗ് 2016


വ്യാഖ്യാനം

കോഴ്‌സ് വർക്കിൽ 4 അക്കങ്ങളും 5 ഉറവിടങ്ങളും ഒരു പ്രോഗ്രാം ലിസ്റ്റിംഗും ഉൾപ്പെടെ 18 പേജുകൾ അടങ്ങിയിരിക്കുന്നു.

ഇതിൽ കോഴ്സ് ജോലിഡെൽഫി ഒബ്ജക്റ്റ് ഓറിയൻ്റഡ് പ്രോഗ്രാമിംഗ് സിസ്റ്റം ഉപയോഗിച്ച് ഒരു സോഫ്റ്റ്വെയർ ഉൽപ്പന്നം സൃഷ്ടിക്കുന്നതിനുള്ള സാങ്കേതികവിദ്യ വിശദമായി ചർച്ചചെയ്യുന്നു. ഹ്രസ്വമായി അവലോകനം ചെയ്തു നിലവിലുള്ള ഭാഷകൾഒബ്ജക്റ്റ് ഓറിയൻ്റഡ് പ്രോഗ്രാമിംഗ്. സാങ്കേതിക സവിശേഷതകളും അൽഗോരിതം പ്രോഗ്രാമും ഒരു വിവരണം ഉണ്ടാക്കിയിട്ടുണ്ട്. ജോലിയുടെ അവസാനം, സോഫ്റ്റ്വെയർ ഉൽപ്പന്നത്തിൻ്റെ പരിശോധനയും അതിൻ്റെ ലിസ്റ്റിംഗും അവതരിപ്പിക്കുന്നു.


ആമുഖം. 5

1 സാങ്കേതിക സവിശേഷതകൾ. 6

2 പ്രോഗ്രാമിൻ്റെ വിവരണം.. 7

3 ഉപയോക്തൃ ഗൈഡ്... 9

4 പ്രോഗ്രാം പരിശോധിക്കുന്നു.. 10

ഉപസംഹാരം. 11

ഉപയോഗിച്ച ഉറവിടങ്ങളുടെ പട്ടിക. 12

അനുബന്ധം എ... 13


ആമുഖം

നിലവിൽ, ഒബ്ജക്റ്റ്-ഓറിയൻ്റഡ് പ്രോഗ്രാമിംഗ് സിസ്റ്റം ഡെൽഫി നിരവധി ഉപയോക്താക്കൾക്കിടയിൽ പ്രചാരത്തിലുണ്ട്, ഇതിൻ്റെ അടിസ്ഥാനം ഒബ്ജക്റ്റ് പാസ്കൽ ഭാഷയാണ്, ഇത് യഥാർത്ഥത്തിൽ കഴിഞ്ഞ നൂറ്റാണ്ടിൻ്റെ 60 കളുടെ തുടക്കത്തിൽ എൻ. വിർത്ത് വികസിപ്പിച്ചെടുത്തു. പ്രോഗ്രാമിംഗ്. വിഷ്വൽ പ്രോഗ്രാമിംഗ് സാങ്കേതികവിദ്യയെ അടിസ്ഥാനമാക്കി വിവിധ സങ്കീർണ്ണതയുടെ ആപ്ലിക്കേഷനുകൾ വേഗത്തിൽ സൃഷ്ടിക്കാൻ ഡെൽഫി നിങ്ങളെ അനുവദിക്കുന്നു.



ഡെൽഫി സംവിധാനം മികച്ച നേട്ടങ്ങൾ ഉൾക്കൊള്ളുന്നു ആധുനിക സിദ്ധാന്തംപ്രോഗ്രാമിംഗ്. ഈ സംയോജിത പരിസ്ഥിതി ഉപയോക്തൃ പ്രോഗ്രാമുകൾ - പ്രോജക്റ്റുകൾ - കൂട്ടിച്ചേർക്കപ്പെടുന്ന നിരവധി ഉപയോഗപ്രദമായ ടൂളുകളും റെഡിമെയ്ഡ് ഘടകങ്ങളും സംയോജിപ്പിക്കുന്നു. ഡെൽഫി ഒരു വിഷ്വൽ സോഫ്റ്റ്‌വെയർ വികസന അന്തരീക്ഷമാണ്. എന്നാണ് ഇതിനർത്ഥം രൂപംഓരോ പ്രോഗ്രാമും (ഇൻ്റർഫേസ്) ലളിതമായി ചലിക്കുന്ന ഘടകങ്ങളാൽ സൃഷ്ടിക്കപ്പെട്ടതാണ്.

ഒബ്ജക്റ്റ് പാസ്കൽ - ഒബ്ജക്റ്റ് ഓറിയൻ്റഡ് പാസ്കൽ ആണ് അടിസ്ഥാന പ്രോഗ്രാമിംഗ് ഭാഷ. അടിസ്ഥാനപരമായ വ്യത്യാസംഡെൽഫി, ടർബോ പാസ്കൽ പ്രോഗ്രാമിംഗ് സിസ്റ്റങ്ങൾ (ടർബോ സിസ്റ്റം ഡെവലപ്പർ ബോർലാൻഡ് ഇൻ്റർനാഷണൽ, ഇൻക്. (യുഎസ്എ) വ്യാപാരമുദ്രയാണ്) മോണിറ്ററിൻ്റെ സ്ക്രീൻ മോഡ് ഉപയോഗിക്കുന്നത് ഉൾക്കൊള്ളുന്നു: ടർബോ പാസ്കൽ ഡോസ് സിസ്റ്റത്തിൻ്റെ ടെക്സ്റ്റ് മോഡിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു, കൂടാതെ ഡെൽഫി, വിൻഡോസ് പോലെ, ഗ്രാഫിക് മോഡിൽ ശ്രദ്ധ കേന്ദ്രീകരിച്ചിരിക്കുന്നു. അതിനാൽ, ഡെൽഫി 7-ൻ്റെ ഏറ്റവും പുതിയ പതിപ്പുകളിലൊന്നിന് ഇതിനകം തന്നെ ഏറ്റവും പുതിയ .NET പരിതസ്ഥിതിക്കായി ആപ്ലിക്കേഷനുകൾ സൃഷ്ടിക്കാൻ കഴിയും. മാത്രമല്ല ഏറ്റവും പുതിയ പതിപ്പുകൾ Linux ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിനായുള്ള പ്രോഗ്രാമിംഗ് അനുവദിക്കുന്നു.

ഡെൽഫി സിസ്റ്റം ഒബ്ജക്റ്റ് ഓറിയൻ്റഡ് വെർച്വൽ പ്രോഗ്രാമിംഗ് (OOP) സാങ്കേതികവിദ്യ നടപ്പിലാക്കുന്നു. എല്ലാ വേരിയബിളുകളും സ്ഥിരാങ്കങ്ങളും നിർവചിക്കുന്നതിലെ കാഠിന്യം, മോഡുലാർ പ്രോഗ്രാമിംഗ്, നിങ്ങളുടെ സ്വന്തം ഡാറ്റ ഘടനകൾ സൃഷ്ടിക്കുന്നതിനുള്ള ധാരാളം അവസരങ്ങൾ, ഒബ്ജക്റ്റ് ഓറിയൻ്റഡ് പ്രോഗ്രാമിംഗിൻ്റെ ഉപയോഗം, മെഷീൻ അധിഷ്ഠിത നിർമ്മാണങ്ങളുടെ അഭാവം എന്നിവയാൽ ഇത് മറ്റെല്ലാ പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ നിന്നും വേർതിരിക്കപ്പെടുന്നു. ഡെൽഫിയുടെ സ്ഥാപകനായ ബോർലാൻഡ് കോർപ്പറേഷൻ, തുടക്കം മുതൽ തന്നെ ഏത് ഡാറ്റാബേസിലും പ്രവർത്തിക്കാനുള്ള കഴിവുള്ള വിഷ്വൽ ഒബ്ജക്റ്റ് ഓറിയൻ്റഡ് പ്രോഗ്രാമിംഗിനെ ആശ്രയിച്ചിരുന്നു. നിലവിൽ, C++, C#, Visual C++, C-Builder, Visual Basic മുതലായ പ്രോഗ്രാമിംഗ് ഭാഷകളേക്കാൾ ഡെൽഫി പ്രോഗ്രാമിംഗ് സിസ്റ്റം അതിൻ്റെ കഴിവുകളിൽ ഒരു തരത്തിലും താഴ്ന്നതല്ല.


1 റഫറൻസ് നിബന്ധനകൾ

ചുമതല സജ്ജീകരിച്ചു: സംഘടിത വാതുവെപ്പ് സംവിധാനം ഉപയോഗിച്ച് ഡെൽഫി പരിതസ്ഥിതിയിലെ ഒരു ഹിപ്പോഡ്രോമിൽ കുതിരപ്പന്തയം എന്ന വിഷയത്തിൽ ഒരു ഗെയിം വികസിപ്പിക്കുക.

ഈ പ്രശ്നം പരിഹരിക്കുന്ന പ്രക്രിയയിൽ ഞങ്ങൾക്ക് ഇനിപ്പറയുന്ന അപേക്ഷ ലഭിച്ചു:

5 കുതിരകൾ നേർരേഖയിൽ ഓടണം, 2 ചിത്രങ്ങൾ അടങ്ങുന്ന ഒരു സംഘടിത ചലന ആനിമേഷൻ ഉണ്ട്, കൂടാതെ ഒരു വാതുവെപ്പ് യന്ത്രവും ഉണ്ടായിരിക്കണം. വ്യത്യസ്ത ഓർഡറുകളിൽ കുതിരകൾ വിജയിക്കണം.

വാതുവെപ്പിൽ കഴിയുന്നത്ര "പണം" നേടുക എന്നതാണ് കളിക്കാരൻ്റെ ചുമതല.

പ്രോഗ്രാം ഉപയോഗിക്കുന്നതിനുള്ള ഏറ്റവും കുറഞ്ഞ ആവശ്യകതകൾ: IBM-അനുയോജ്യമായ 486dx അല്ലെങ്കിൽ ഉയർന്നത്, 5 MB. സൗജന്യ ഹാർഡ് ഡിസ്ക് സ്പേസ്, OS Win9x/Me, Win2000/XP/Vista/Seven.

പ്രോഗ്രാം നൽകുന്നു:

ഒരു സീറോ ബാലൻസ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് കടം എടുക്കാം;

കുതിരകൾ വ്യത്യസ്ത വേഗതയിൽ നീങ്ങുന്നു, വിജയിയെ മുൻകൂട്ടി അറിയുക അസാധ്യമാണ്.


2 പ്രോഗ്രാമിൻ്റെ വിവരണം

ബ്ലോക്ക് ഡയഗ്രംപ്രോഗ്രാമുകൾ

പ്രധാന പ്രോഗ്രാം ഘടകങ്ങളുടെ സ്ഥാനം ചിത്രം 1 കാണിക്കുന്നു, സോഫ്റ്റ്വെയർ ഉൽപ്പന്നത്തിൻ്റെ പ്രധാന വിൻഡോ ഇങ്ങനെയാണ്.

ചിത്രം 1 - പ്രധാന പ്രോഗ്രാം വിൻഡോ

പ്രഭാഷണത്തിൻ്റെ ഉദ്ദേശ്യം:ഘടനാപരമായ സമീപനം ഉപയോഗിച്ച് സോഫ്‌റ്റ്‌വെയർ ഡിസൈനുമായി പരിചയപ്പെടുക.

സങ്കീർണ്ണമായ സോഫ്‌റ്റ്‌വെയർ രൂപകൽപ്പന ചെയ്യുന്ന പ്രക്രിയ അതിൻ്റെ ഘടന വ്യക്തമാക്കുന്നതിലൂടെ ആരംഭിക്കുന്നു, അതായത്, ഘടനാപരമായ ഘടകങ്ങളും അവ തമ്മിലുള്ള ബന്ധങ്ങളും നിർവചിക്കുന്നു. ഘടനയുടെ ശുദ്ധീകരണത്തിൻ്റെ ഫലം രൂപത്തിൽ അവതരിപ്പിക്കാവുന്നതാണ് ഘടനാപരമായകൂടാതെ/അല്ലെങ്കിൽ പ്രവർത്തനക്ഷമമായഘടകങ്ങളുടെ ഡയഗ്രമുകളും വിവരണങ്ങളും (സ്പെസിഫിക്കേഷനുകൾ).

ഘടനാപരമായവികസിപ്പിച്ചുകൊണ്ടിരിക്കുന്ന സോഫ്‌റ്റ്‌വെയറിൻ്റെ ഭാഗങ്ങൾ കൈകാര്യം ചെയ്യുന്നതിലെ ഘടനയും ഇടപെടലും പ്രതിഫലിപ്പിക്കുന്ന ഒരു ഡയഗ്രം എന്ന് വിളിക്കുന്നു. സോഫ്‌റ്റ്‌വെയർ പാക്കേജുകളുടെ ഘടനാപരമായ ഡയഗ്രമുകൾ വിവരദായകമല്ല, കാരണം പാക്കേജുകളായി പ്രോഗ്രാമുകളുടെ ഓർഗനൈസേഷൻ അവയ്‌ക്കിടയിലുള്ള നിയന്ത്രണം കൈമാറ്റം ചെയ്യുന്നില്ല. അതിനാൽ, പാക്കേജിലെ ഓരോ പ്രോഗ്രാമിനും ബ്ലോക്ക് ഡയഗ്രമുകൾ വികസിപ്പിച്ചെടുക്കുന്നു, കൂടാതെ സാങ്കേതിക സവിശേഷതകളിൽ വ്യക്തമാക്കിയ പ്രവർത്തനങ്ങൾ വിശകലനം ചെയ്തുകൊണ്ടാണ് പാക്കേജിലെ പ്രോഗ്രാമുകളുടെ പട്ടിക നിർണ്ണയിക്കുന്നത്.

ഏറ്റവും ലളിതമായ സോഫ്‌റ്റ്‌വെയറിൻ്റെ ബ്ലോക്ക് ഡയഗ്രം വികസിപ്പിക്കുന്നത് - സബ്‌റൂട്ടീനുകളും റിസോഴ്‌സ് ലൈബ്രറികളും മാത്രം ഘടനാപരമായ ഘടകങ്ങളായി ഉൾക്കൊള്ളുന്ന ഒരു പ്രോഗ്രാം - ഒരു ഘട്ടം ഘട്ടമായുള്ള രീതി ഉപയോഗിച്ചാണ് നടപ്പിലാക്കുന്നത്. ഘടനാപരമായ ഘടകങ്ങൾ സോഫ്റ്റ്വെയർ സിസ്റ്റം(സങ്കീർണ്ണമായ) പ്രോഗ്രാമുകൾ, റിസോഴ്സ് ലൈബ്രറികൾ, സബ്സിസ്റ്റങ്ങൾ, ഡാറ്റാബേസുകൾ എന്നിവയാണ്. സോഫ്‌റ്റ്‌വെയർ കോംപ്ലക്‌സിൻ്റെ ബ്ലോക്ക് ഡയഗ്രം ഡിസ്‌പാച്ചർ പ്രോഗ്രാമിൽ നിന്ന് അനുബന്ധ പ്രോഗ്രാമിലേക്കുള്ള നിയന്ത്രണം കൈമാറ്റം കാണിക്കുന്നു (ചിത്രം 11.1 എ).

ചിത്രം 11.1 - സോഫ്റ്റ്വെയർ പാക്കേജ് ഡയഗ്രമുകളുടെ ഉദാഹരണം: a) ഘടനാപരമായ;

ബി) ഫങ്ഷണൽ

ഒരു സോഫ്‌റ്റ്‌വെയർ സിസ്റ്റത്തിൻ്റെ ബ്ലോക്ക് ഡയഗ്രം ഉപസിസ്റ്റങ്ങളുടെ അല്ലെങ്കിൽ മറ്റ് ഘടനാപരമായ ഘടകങ്ങളുടെ സാന്നിധ്യം കാണിക്കുന്നു. ഒരു സോഫ്‌റ്റ്‌വെയർ കോംപ്ലക്‌സിൽ നിന്ന് വ്യത്യസ്തമായി, ഒരു സോഫ്റ്റ്‌വെയർ സിസ്റ്റത്തിൻ്റെ വ്യക്തിഗത ഭാഗങ്ങൾ (ഉപസിസ്റ്റങ്ങൾ) പരസ്പരം ഡാറ്റയും പ്രധാന പ്രോഗ്രാമുമായി തീവ്രമായി കൈമാറുന്നു. സോഫ്റ്റ്വെയർ സിസ്റ്റത്തിൻ്റെ ബ്ലോക്ക് ഡയഗ്രം ഇത് കാണിക്കുന്നില്ല (ചിത്രം 11.2a).

ചിത്രം 11.2 - ഒരു സോഫ്റ്റ്വെയർ സിസ്റ്റത്തിൻ്റെ ഡയഗ്രമുകളുടെ ഉദാഹരണം: a) ഘടനാപരമായ;

ബി) ഫങ്ഷണൽ

രൂപകല്പന ചെയ്ത സോഫ്റ്റ്‌വെയറിനെ കുറിച്ചുള്ള കൂടുതൽ പൂർണ്ണമായ ധാരണ അതിൻ്റെ ഘടകങ്ങളുടെ പരസ്പരവും ബാഹ്യ പരിതസ്ഥിതിയും തമ്മിലുള്ള ഇടപെടലിൻ്റെ വീക്ഷണകോണിൽ നിന്ന് നൽകുന്നു. പ്രവർത്തനക്ഷമമായപദ്ധതി. ഫങ്ഷണൽ ഡയഗ്രം (ഡാറ്റ സ്കീമ, GOST 19.701-90) - വിവര ഫ്ലോകളുടെ വിവരണം, ഫ്ലോകളിലെ ഡാറ്റയുടെ ഘടന, ഉപയോഗിച്ച ഫയലുകളുടെയും ഉപകരണങ്ങളുടെയും സൂചന എന്നിവയുള്ള സോഫ്റ്റ്വെയർ ഘടകങ്ങളുടെ ഇടപെടലിൻ്റെ ഒരു ഡയഗ്രം. ഫങ്ഷണൽ ഡയഗ്രമുകൾ ചിത്രീകരിക്കുന്നതിന്, സ്റ്റാൻഡേർഡ് സ്ഥാപിച്ച പ്രത്യേക ചിഹ്നങ്ങൾ ഉപയോഗിക്കുന്നു. ഡാറ്റാ സ്കീമുകളുടെ പ്രധാന പദവികൾ പട്ടിക D.1 ൽ നൽകിയിരിക്കുന്നു. ഘടനാപരമായ ഡയഗ്രമുകളേക്കാൾ ഫങ്ഷണൽ ഡയഗ്രമുകൾ കൂടുതൽ വിവരദായകമാണ്. 11.1b, 11.2b എന്നീ ചിത്രങ്ങൾ സോഫ്റ്റ്‌വെയർ കോംപ്ലക്സുകളുടെയും സിസ്റ്റങ്ങളുടെയും ഫങ്ഷണൽ ഡയഗ്രമുകൾ കാണിക്കുന്നു. ഘടനാപരവും പ്രവർത്തനപരവുമായ ഡയഗ്രമുകളുടെ എല്ലാ ഘടകങ്ങളും വിവരിക്കേണ്ടതാണ്. ഇൻ്റർപ്രോഗ്രാം ഇൻ്റർഫേസുകളുടെ സവിശേഷതകൾ ശ്രദ്ധാപൂർവ്വം പ്രവർത്തിക്കണം, കാരണം അവയുടെ വിവരണത്തിൻ്റെ ഗുണനിലവാരം ഏറ്റവും ചെലവേറിയ പിശകുകളുടെ എണ്ണം നിർണ്ണയിക്കുന്നു, അതിൽ സമഗ്രമായ പരിശോധനയിൽ കണ്ടെത്തിയ പിശകുകൾ ഉൾപ്പെടുന്നു.

പ്രോഗ്രാമിംഗിലേക്കുള്ള ഘടനാപരമായ സമീപനം, ഘട്ടം ഘട്ടമായുള്ള വിശദാംശങ്ങളുടെ രീതി ഉപയോഗിച്ച് വിഘടിപ്പിക്കുന്ന പ്രോഗ്രാമുകൾ നിർദ്ദേശിച്ചു. ഫലം പ്രോഗ്രാമിൻ്റെ ഒരു ബ്ലോക്ക് ഡയഗ്രം ആണ്, അതായത്. കൺട്രോൾ സബ്റൂട്ടീനുകളുടെ പരസ്പര പ്രവർത്തനത്തിൻ്റെ മൾട്ടി-ലെവൽ ഹൈറാർക്കിക്കൽ സ്കീം. കുറഞ്ഞത്, അത്തരമൊരു ഡയഗ്രം രണ്ട് തലത്തിലുള്ള ശ്രേണി കാണിക്കുന്നു (പ്രോഗ്രാമിൻ്റെ പൊതുവായ ഘടന കാണിക്കുന്നു). വലിയ അളവിലുള്ള ലെവലുകളുള്ള ഘടനാപരമായ ഡയഗ്രമുകൾ ലഭിക്കാൻ ഇതേ രീതി നിങ്ങളെ അനുവദിക്കുന്നു. മൊഡ്യൂളുകളിലേക്കുള്ള വിഭജനം ശുപാർശ ചെയ്യുന്ന മൊഡ്യൂൾ വലുപ്പങ്ങളും (20-60 ലൈനുകൾ) ഘടനയുടെ സങ്കീർണ്ണതയും (2-3 നെസ്റ്റഡ് കൺട്രോൾ ഘടനകൾ) അടിസ്ഥാനമാക്കി ഹ്യൂറിസ്റ്റിക് ആയി നടത്തുന്നു. മൊഡ്യൂളുകളുടെ ശ്രേണിയുടെ നിർമ്മാണക്ഷമത വിശകലനം ചെയ്യുന്നതിന്, രീതികൾ ഉപയോഗിക്കുന്നു കോൺസ്റ്റൻ്റൈൻഅല്ലെങ്കിൽ ജാക്സൺ.

ഓൺ ഘടനാപരമായ ഭൂപടം കോൺസ്റ്റൻ്റൈൻമൊഡ്യൂളുകൾ തമ്മിലുള്ള ബന്ധങ്ങൾ ഒരു ഗ്രാഫിൻ്റെ രൂപത്തിലാണ് പ്രതിനിധീകരിക്കുന്നത്, ഇവയുടെ ലംബങ്ങൾ മൊഡ്യൂളുകളോടും പൊതുവായ ഡാറ്റ ഏരിയകളോടും യോജിക്കുന്നു, കൂടാതെ ആർക്കുകൾ ഇൻ്റർമോഡ്യൂൾ കോളുകളോടും പൊതുവായ ഡാറ്റ ഏരിയകളിലേക്കുള്ള ആക്‌സസുകളോടും യോജിക്കുന്നു. നാല് തരം ലംബങ്ങളുണ്ട്: മൊഡ്യൂൾ- സബ്റൂട്ടിൻ; ഉപസിസ്റ്റം- പ്രോഗ്രാം; ലൈബ്രറി- ഒരു പ്രത്യേക മൊഡ്യൂളിൽ സ്ഥിതിചെയ്യുന്ന ഒരു കൂട്ടം സബ്റൂട്ടീനുകൾ; ഡാറ്റ ഏരിയ- പുറത്ത് നിന്ന് ആക്സസ് ചെയ്യാൻ കഴിയുന്ന പ്രത്യേകം രൂപകൽപ്പന ചെയ്ത ഡാറ്റ സെറ്റ്. ഈ സാഹചര്യത്തിൽ, സോഫ്‌റ്റ്‌വെയർ സിസ്റ്റത്തിൻ്റെ വ്യക്തിഗത ഭാഗങ്ങളെ തുടർച്ചയായി, സമാന്തരമായി അല്ലെങ്കിൽ കോറൗട്ടിനുകളായി വിളിക്കാം.

ഏതാണ്ട് ഒരേസമയം പ്രത്യക്ഷപ്പെട്ടു ടെക്നിക്കുകൾസോഫ്റ്റ്വെയർ ഡിസൈൻ ജാക്സൺഒപ്പം വാർണിയർ-ഓറ, കൂടാതെ ഡാറ്റ വിഘടനത്തെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്. സങ്കീർണ്ണവും എന്നാൽ ശ്രേണിക്രമത്തിൽ ക്രമീകരിച്ചതുമായ ഡാറ്റാ ഘടനകളിൽ പ്രവർത്തിക്കുന്ന "ലളിതമായ" പ്രോഗ്രാമുകൾ സൃഷ്ടിക്കുന്നതിനാണ് രണ്ട് ടെക്നിക്കുകളും രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്. സോഫ്‌റ്റ്‌വെയർ സിസ്റ്റങ്ങൾ വികസിപ്പിക്കുമ്പോൾ, ആദ്യം സിസ്റ്റത്തെ പ്രത്യേക പ്രോഗ്രാമുകളായി വിഭജിക്കാനും തുടർന്ന് ഈ സാങ്കേതിക വിദ്യകൾ ഉപയോഗിക്കാനും നിർദ്ദേശിക്കുന്നു. വികസിപ്പിച്ചുകൊണ്ടിരിക്കുന്ന പ്രോഗ്രാമുകളുടെ ഡാറ്റ ഒരു ശ്രേണിയുടെയോ ഒരു കൂട്ടം ശ്രേണികളുടെയോ രൂപത്തിൽ പ്രതിനിധീകരിക്കാൻ കഴിയുമെങ്കിൽ മാത്രമേ അവ ഉപയോഗിക്കാൻ കഴിയൂ.

ജാക്സൺ ടെക്നിക്ഉറവിട ഡാറ്റയുടെ ഘടനകളും ഫലങ്ങളും തമ്മിലുള്ള കത്തിടപാടുകൾക്കായി തിരയുന്നതിനെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്. എന്നിരുന്നാലും, ഇത് ഉപയോഗിക്കുമ്പോൾ, ചില തലങ്ങളിൽ കത്തിടപാടുകൾ ഇല്ലാത്ത സാഹചര്യങ്ങൾ സാധ്യമാണ്. ഉദാഹരണത്തിന്, ഉറവിട ഫയലിലെ റെക്കോർഡുകൾ റിപ്പോർട്ടിൽ അനുബന്ധ വരികൾ ദൃശ്യമാകുന്ന ക്രമത്തിൽ അടുക്കിയിട്ടില്ല. അത്തരം സാഹചര്യങ്ങളെ വിളിക്കുന്നു " ഏറ്റുമുട്ടലുകൾ».

വാർണിയർ-ഓർ ടെക്നിക്ജാക്സൻ്റെ ടെക്നിക്കിൻ്റെ അതേ തത്വത്തെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്, എന്നാൽ ഒരു പ്രോഗ്രാം നിർമ്മിക്കുമ്പോൾ ഔട്ട്പുട്ട് ഡാറ്റയുടെ ഘടനകൾ പ്രധാനമായി കണക്കാക്കപ്പെടുന്നു, കൂടാതെ ഇൻപുട്ട് ഡാറ്റയുടെ ഘടനകൾ ഔട്ട്പുട്ടിൻ്റെ ഘടനയുമായി പൊരുത്തപ്പെടുന്നില്ലെങ്കിൽ, അവയ്ക്ക് കഴിയും മാറ്റപ്പെടും. അങ്ങനെ, കൂട്ടിയിടികളുടെ പ്രധാന കാരണം ഇല്ലാതാക്കുന്നു. എന്നിരുന്നാലും, പ്രായോഗികമായി, ഇൻപുട്ട് ഡാറ്റയുടെ ഘടനകൾ പുനഃപരിശോധിക്കുന്നത് എല്ലായ്പ്പോഴും സാധ്യമല്ല: ഈ ഘടനകൾ ഇതിനകം തന്നെ കർശനമായി വ്യക്തമാക്കിയിരിക്കാം, ഉദാഹരണത്തിന്, മറ്റ് പ്രോഗ്രാമുകളുടെ നിർവ്വഹണ വേളയിൽ ഡാറ്റ ലഭിച്ചിട്ടുണ്ടെങ്കിൽ, അതിനാൽ ഈ സാങ്കേതികത കുറവാണ് ഉപയോഗിക്കുന്നത്.

രൂപകൽപ്പനയ്ക്ക് കീഴിൽ ഡാറ്റ ഘടനകൾമെമ്മറിയിൽ അവരുടെ പ്രതിനിധാനങ്ങളുടെ വികസനം മനസ്സിലാക്കുക. ഡാറ്റ ഘടനകൾ രൂപകൽപ്പന ചെയ്യുമ്പോൾ പരിഗണിക്കേണ്ട പ്രധാന പാരാമീറ്ററുകൾ ഇവയാണ്:

    ഓരോ ഡാറ്റ എലമെൻ്റിൻ്റെയും സംഭരിച്ച വിവരങ്ങളുടെ തരം - അനുബന്ധ മെമ്മറി ഫീൽഡിൻ്റെ തരം നിർണ്ണയിക്കുന്നു;

    ഡാറ്റ ഘടകങ്ങളും നെസ്റ്റഡ് ഘടനകളും തമ്മിലുള്ള കണക്ഷനുകൾ, അതുപോലെ തന്നെ അവയിലെ പ്രവർത്തനങ്ങളുടെ ഒരു കൂട്ടം - ഡാറ്റയെ പ്രതിനിധീകരിക്കാൻ ഉപയോഗിക്കുന്ന മെമ്മറി ഘടനകൾ നിർണ്ണയിക്കുക;

    ഘടന ഡാറ്റയുടെ സംഭരണ ​​സമയം ("ജീവിതകാലം") - സ്റ്റാറ്റിക് അല്ലെങ്കിൽ ഡൈനാമിക് മെമ്മറിയിലും അതുപോലെ ബാഹ്യ മെമ്മറിയിലും ഡാറ്റ സ്ഥാപിക്കുമ്പോൾ കണക്കിലെടുക്കുന്നു.

ഡാറ്റ സംഘടിപ്പിക്കുന്നതിന് രണ്ട് അടിസ്ഥാന ഘടനകളുണ്ട് റാം: വെക്റ്റർഒപ്പം പട്ടിക. വെക്റ്റർ ഘടന- ഡാറ്റ ഫീൽഡുകൾ ഉൾക്കൊള്ളാൻ ഉപയോഗിക്കുന്ന മെമ്മറി ബൈറ്റുകളുടെ ഒരു ശ്രേണി. സംഘടിത ഡാറ്റാ ഘടനകളുടെ ക്രമാനുഗതമായ പ്ലെയ്‌സ്‌മെൻ്റ് ഘടകങ്ങളിലേക്ക് നേരിട്ട് പ്രവേശനം അനുവദിക്കുന്നു: സൂചിക (അറേകളിലോ സ്ട്രിംഗുകളിലോ) അല്ലെങ്കിൽ ഫീൽഡ് നാമം (രേഖകളിലോ ഒബ്‌ജക്റ്റുകളിലോ). എന്നിരുന്നാലും, അറേ മൂലകങ്ങൾ സ്ഥാപിക്കുന്നതിന് കൂട്ടിച്ചേർക്കൽ, ഇല്ലാതാക്കൽ പ്രവർത്തനങ്ങൾ നടത്തുന്നതിന് ഘടകങ്ങളുടെ ഒന്നിലധികം ഷിഫ്റ്റുകൾ ആവശ്യമാണ്. ഡൈനാമിക് മെമ്മറിയിലെ വെക്റ്റർ പ്രാതിനിധ്യങ്ങളുടെ സ്ഥാനം റാം ഉപയോഗിക്കുന്നതിൻ്റെ കാര്യക്ഷമത ഗണ്യമായി വർദ്ധിപ്പിക്കും. ലിസ്റ്റ് ഘടനകൾവിവര ഭാഗത്തിന് പുറമേ, ഒന്നോ അതിലധികമോ പോയിൻ്ററുകൾ ഉൾപ്പെടുന്ന പ്രത്യേക ഘടകങ്ങളിൽ നിന്നാണ് നിർമ്മിച്ചിരിക്കുന്നത് - മൂലകങ്ങളുടെ വിലാസങ്ങൾ അല്ലെങ്കിൽ ഈ ഘടകവുമായി ബന്ധപ്പെട്ട നെസ്റ്റഡ് ഘടനകൾ. അവയെ ഡൈനാമിക് മെമ്മറിയിൽ സ്ഥാപിക്കുന്നതിലൂടെ, വിവിധ ആന്തരിക ഘടനകൾ സംഘടിപ്പിക്കപ്പെടുന്നു. സാധാരണഗതിയിൽ, വെക്റ്റർ പ്രാതിനിധ്യം സ്റ്റാറ്റിക് സെറ്റുകൾ, ടേബിളുകൾ (ഏകമാനവും മൾട്ടിഡൈമൻഷണൽ: മെട്രിസുകൾ, വരികൾ, റെക്കോർഡുകൾ), അതുപോലെ ഒരു സമീപത്തെ മാട്രിക്സ്, ഒരു ഇൻസിഡൻസ് മാട്രിക്സ് അല്ലെങ്കിൽ വിശകലനാത്മകമായി പ്രതിനിധീകരിക്കുന്ന ഗ്രാഫുകൾ എന്നിവ സംഭരിക്കുന്നതിന് ഉപയോഗിക്കുന്നു. സങ്കീർണ്ണമായ ബന്ധങ്ങളുള്ള ചലനാത്മക (മാറ്റാവുന്ന) ഘടനകളും ഘടനകളും സംഭരിക്കുന്നതിന് ലിസ്റ്റ് പ്രാതിനിധ്യം സൗകര്യപ്രദമാണ്.

ആധുനിക ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ ബാഹ്യ മെമ്മറിയിൽ ഡാറ്റ ഓർഗനൈസ് ചെയ്യുന്നതിനുള്ള രണ്ട് വഴികളെ പിന്തുണയ്ക്കുന്നു: സ്ഥിരതയുള്ളഒപ്പം നേരിട്ടുള്ള പ്രവേശനത്തോടെ. ക്രമാനുഗതമായ പ്രവേശനത്തോടെഡാറ്റ തുടർച്ചയായി വായിക്കാനോ തുടർച്ചയായി എഴുതാനോ മാത്രമേ കഴിയൂ (ഒരു കീബോർഡ് അല്ലെങ്കിൽ ഡിസ്പ്ലേ ഉപയോഗിച്ച് പ്രവർത്തിക്കുക, ടെക്സ്റ്റ് ഫയലുകൾ അല്ലെങ്കിൽ പ്രവർത്തന സമയത്ത് റെക്കോർഡ് ഫോർമാറ്റ് മാറുന്ന ഫയലുകൾ പ്രോസസ്സ് ചെയ്യുക). നേരിട്ട്നിശ്ചിത ദൈർഘ്യമുള്ള റെക്കോർഡുകൾ (സി ബൈനറി ഫയലുകൾ അല്ലെങ്കിൽ പാസ്കൽ ടൈപ്പ് ചെയ്ത ഫയലുകൾ) ഉപയോഗിച്ച് വിവരങ്ങൾ കൈമാറുന്ന ഡിസ്ക് ഫയലുകൾക്ക് മാത്രമേ ആക്സസ് സാധ്യമാകൂ. അത്തരമൊരു ഫയലിലെ ഒരു റെക്കോർഡിൻ്റെ വിലാസം അതിൻ്റെ നമ്പർ ഉപയോഗിച്ച് നിർണ്ണയിക്കാനാകും, അത് ആവശ്യമുള്ള റെക്കോർഡ് നേരിട്ട് ആക്സസ് ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്നു. വായിക്കുന്നതിനും മാറ്റുന്നതിനും ദ്രുത ആക്സസ് ആവശ്യമുള്ള ഡാറ്റ റാം സംഭരിക്കുന്നു; ബാഹ്യമായതിൽ - പ്രോഗ്രാം അവസാനിച്ചതിന് ശേഷം സംരക്ഷിക്കേണ്ട ഡാറ്റ.

ജോലി സമയത്ത് അവയിലേക്കുള്ള ആക്സസ് വേഗത്തിലാക്കാൻ റാമിൽ ഡാറ്റ സംഭരിക്കുന്നത് ഉചിതമാണ്, അത് പൂർത്തിയാകുമ്പോൾ, അത് ബാഹ്യ മെമ്മറിയിലേക്ക് മാറ്റിയെഴുതുക. ദീർഘകാല സംഭരണം. മിക്ക ടെക്സ്റ്റ് എഡിറ്റർമാരും ഉപയോഗിക്കുന്ന രീതി ഇതാണ്: ടെക്സ്റ്റുമായി പ്രവർത്തിക്കുമ്പോൾ, അതിൻ്റെ മുഴുവൻ അല്ലെങ്കിൽ ഭാഗവും റാമിൽ സ്ഥാപിക്കുന്നു, അവിടെ നിന്ന് അത് ആവശ്യമായ ബാഹ്യ മെമ്മറിയിലേക്ക് പകർത്തുന്നു. അത്തരം സന്ദർഭങ്ങളിൽ, രണ്ട് ഡാറ്റാ പ്രാതിനിധ്യങ്ങൾ വികസിപ്പിച്ചെടുക്കുന്നു: റാമിലും ബാഹ്യ മെമ്മറിയിലും.

ഘടനകളുടെ ശരിയായ തിരഞ്ഞെടുപ്പ് പ്രധാനമായും വികസിപ്പിക്കുന്ന സോഫ്റ്റ്വെയറിൻ്റെ ഫലപ്രാപ്തിയും അതിൻ്റെ സാങ്കേതിക ഗുണങ്ങളും നിർണ്ണയിക്കുന്നു, അതിനാൽ ഈ പ്രശ്നം രൂപകൽപ്പന ചെയ്യുമ്പോൾ മതിയായ ശ്രദ്ധ നൽകണം.

വിഷയത്തെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ ഇതിൽ നിന്ന് ലഭിക്കും.

ഡിസൈൻ ടാസ്ക്കുകളിൽ രണ്ട് ഘടകങ്ങൾ ഉൾപ്പെടുന്നു: സോഫ്റ്റ്വെയർ ഉൽപ്പന്നങ്ങളുടെ ലോജിക്കൽ, ഫിസിക്കൽ ഡിസൈൻ. ലോജിക്കൽ ഡിസൈനിൽ ക്ലാസുകൾ വികസിപ്പിക്കുന്നത് അവരുടെ ഉദാഹരണങ്ങൾ - ഒബ്ജക്റ്റുകൾ നടപ്പിലാക്കാൻ ഉൾക്കൊള്ളുന്നു. ഇത് ആവശ്യമാണ് വിശദമായ വിവരണംക്ലാസുകളുടെ ഫീൽഡുകളും രീതികളും, അതോടൊപ്പം കണക്ഷനുകളും...

  • (സോഫ്റ്റ്‌വെയർ എഞ്ചിനീയറിംഗ് ടെക്നോളജി)
  • സോഫ്റ്റ്‌വെയർ ഡിസൈൻ
    രൂപകൽപ്പനയിൽ രണ്ട് ശൈലികളുണ്ട്: പരിണാമപരവും പ്രാഥമിക രൂപകൽപ്പനയും. എക്‌സ്ട്രീം പ്രോഗ്രാമിംഗ് (എക്‌സ്‌പി) രീതിശാസ്ത്രം സോഫ്റ്റ്‌വെയർ വികസനത്തെക്കുറിച്ചുള്ള പല പരമ്പരാഗത ജ്ഞാനങ്ങളെയും വെല്ലുവിളിച്ചു. ഒരുപക്ഷേ ഏറ്റവും വിവാദപരമായ ആശയം മുൻകൂർ ഡിസൈൻ ഉപേക്ഷിക്കുന്നതാണ്...
    (സോഫ്റ്റ്‌വെയർ എഞ്ചിനീയറിംഗ് ടെക്നോളജി)
  • ഒബ്ജക്റ്റ് അധിഷ്ഠിത സമീപനം ഉപയോഗിച്ച് സോഫ്റ്റ്വെയർ ഘടനയുടെ വികസനം
    ഡിസൈൻ ഘട്ടത്തിൽ, ക്ലാസുകളുടെ ഫീൽഡുകളും രീതികളും ക്ലാസുകൾ തമ്മിലുള്ള ബന്ധങ്ങളും വ്യക്തമാക്കിയിരിക്കുന്നു. ഇതെല്ലാം ക്ലാസ് ഡയഗ്രാമിൽ പ്രതിഫലിക്കുന്നു. ഡയഗ്രാമിലെ ചില ക്ലാസുകളുടെ ഉള്ളടക്കം വ്യക്തമാക്കുന്നതിന്, ഇനിപ്പറയുന്ന നൊട്ടേഷൻ ഉപയോഗിക്കുന്നു: നിയന്ത്രണ ക്ലാസ്(നിയന്ത്രണ ക്ലാസ്) പ്രവർത്തനങ്ങൾ ഏകോപിപ്പിക്കുന്നതിന് ഉത്തരവാദിയാണ്...
    (സോഫ്റ്റ്‌വെയർ എഞ്ചിനീയറിംഗ് ടെക്നോളജി)
  • സോഫ്റ്റ്വെയർ വികസനത്തിൻ്റെ ഘടനാപരമായ രീതി
    ഒരു ഓട്ടോമേറ്റഡ് ഇൻഫർമേഷൻ സിസ്റ്റം വികസിപ്പിക്കുന്നതിനുള്ള ഘടനാപരമായ സമീപനത്തിൻ്റെ സാരാംശം അതിൻ്റെ വിഘടനത്തിൽ (തകർച്ച) ഓട്ടോമേറ്റഡ് ഫംഗ്ഷനുകളായി തിരിച്ചിരിക്കുന്നു: സിസ്റ്റം ഫംഗ്ഷണൽ സബ്സിസ്റ്റങ്ങളായി വിഭജിക്കപ്പെട്ടിട്ടുണ്ട്, അവ ഉപഫംഗ്ഷനുകളായി തിരിച്ചിരിക്കുന്നു, ടാസ്ക്കുകളായി തിരിച്ചിരിക്കുന്നു. - നിർദ്ദിഷ്ട നടപടിക്രമങ്ങൾ വരെ. അതേസമയം, ഓട്ടോമേറ്റഡ്...
    (സാമ്പത്തിക ശാസ്ത്രത്തിലെ വിവര സംവിധാനങ്ങൾ)
  • ലബോറട്ടറി വർക്ക് നമ്പർ 1. പ്രോഗ്രാമിംഗിലേക്കുള്ള ഘടനാപരമായ സമീപനം ഉപയോഗിച്ച് സോഫ്റ്റ്വെയർ വികസനത്തിൻ്റെ ഘട്ടങ്ങൾ. ഘട്ടം "സാങ്കേതിക സവിശേഷതകൾ"
    ജോലിയുടെ ഉദ്ദേശ്യം: സാങ്കേതിക സവിശേഷതകൾ എഴുതുന്നതിനുള്ള നിയമങ്ങൾ സ്വയം പരിചയപ്പെടാൻ. ലബോറട്ടറി പ്രവർത്തനം 4 അക്കാദമിക് മണിക്കൂറുകൾക്കായി രൂപകൽപ്പന ചെയ്തിരിക്കുന്നു. വേണ്ടി തയ്യാറെടുക്കുന്നു ലബോറട്ടറി ജോലി 1. "സോഫ്റ്റ്‌വെയർ വികസനത്തിൻ്റെ ഘട്ടങ്ങൾ" എന്ന വിഷയത്തെക്കുറിച്ചുള്ള പ്രഭാഷണ സാമഗ്രികൾ സ്വയം പരിചയപ്പെടുത്തുക. പ്രശ്നത്തിൻ്റെ പ്രസ്താവന" എന്ന അക്കാദമിക് അച്ചടക്കത്തിൻ്റെ "സാങ്കേതികവിദ്യ...
    (സോഫ്റ്റ്‌വെയർ എഞ്ചിനീയറിംഗ് ടെക്നോളജി)
  • ബ്ലോക്ക് ഡയഗ്രം മോഡൽ
    മുകളിൽ സൂചിപ്പിച്ച മൂന്ന് മോഡലുകളാണ് സിസ്റ്റത്തെ പ്രതിനിധീകരിക്കുന്നതെങ്കിൽ, നമുക്ക് ഒരു ആശയം ഉണ്ടാകും: ബാഹ്യ പരിതസ്ഥിതിയിൽ നിന്ന് സിസ്റ്റത്തിലേക്ക് എന്താണ് പ്രവേശിക്കുന്നത്, സിസ്റ്റം ബാഹ്യ പരിതസ്ഥിതിയിലേക്ക് എന്താണ് കൈമാറുന്നത്; സിസ്റ്റം ഉൾക്കൊള്ളുന്ന ഭാഗങ്ങളും ഘടകങ്ങളും; സിസ്റ്റത്തിൻ്റെ ഭാഗങ്ങൾ എങ്ങനെ പരസ്പരം ബന്ധിപ്പിച്ചിരിക്കുന്നു. നാലാമത്തെ മോഡൽ ഉണ്ട്, അത്...
    (ഓർഗനൈസേഷൻ സിദ്ധാന്തം)

  • ഘട്ടം 1. നിയന്ത്രണ പ്രോഗ്രാമിൻ്റെ ഘടന ഞങ്ങൾ നിർണ്ണയിക്കുന്നു, അത് ഞങ്ങളുടെ കാര്യത്തിൽ കീബോർഡ് വഴി മെനുവിനൊപ്പം പ്രവർത്തിക്കുന്നു: പ്രോഗ്രാം
    ഘട്ടം 2. എക്സിക്യൂട്ട് കമാൻഡ് ഓപ്പറേഷൻ വിശദമായി നോക്കാം: കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുക
    സമാനമായ മെറ്റീരിയൽ:
    • N. E. Bauman ഫാക്കൽറ്റി ഓഫ് ഇൻഫോർമാറ്റിക്സ് ആൻഡ് കൺട്രോൾ സിസ്റ്റംസ് ഡിപ്പാർട്ട്മെൻ്റ് ഓഫ് കമ്പ്യൂട്ടർ സിസ്റ്റംസ്, 254.77kb.
    • എൻ.ഇ. ബൗമാൻ ഡിപ്പാർട്ട്‌മെൻ്റ് ഓഫ് കമ്പ്യൂട്ടർ സിസ്റ്റംസ് ആൻഡ് നെറ്റ്‌വർക്കുകൾ ജി.എസ്. ഇവാനോവ, ടി.എൻ. നിച്ചുഷ്കിന ഡിസൈൻ, 109.65kb.
    • N. E. Bauman ഫാക്കൽറ്റി ഓഫ് എഞ്ചിനീയറിംഗ് ബിസിനസ് ആൻഡ് മാനേജ്‌മെൻ്റ് ഡിപ്പാർട്ട്‌മെൻ്റ് ഓഫ് മാനേജ്‌മെൻ്റ്, 786.11kb.
    • സോഫ്‌റ്റ്‌വെയറിൻ്റെ ഡിസൈനും ആർക്കിടെക്ചറും അച്ചടക്കത്തിൻ്റെ ഏകദേശ പ്രോഗ്രാമിൻ്റെ പേര്, 182.2kb.
    • S. V. ചുവിക്കോവ് മെട്രോളജിയും സോഫ്റ്റ്‌വെയർ സർട്ടിഫിക്കേഷനും പാഠപുസ്തകം, 1298.56kb.
    • "നിയന്ത്രണ സിദ്ധാന്തത്തിൻ്റെ അടിസ്ഥാനങ്ങൾ" എന്ന വിഷയത്തെക്കുറിച്ചുള്ള ഇലക്ട്രോണിക് ഹൈപ്പർലിങ്ക് പാഠപുസ്തകം, 57.71kb.
    • N. E. Bauman ഫാക്കൽറ്റി ഓഫ് കമ്പ്യൂട്ടർ സയൻസ് ആൻഡ് കൺട്രോൾ സിസ്റ്റംസ് ഡിപ്പാർട്ട്‌മെൻ്റ് ഓഫ് പ്രോസസ്സിംഗ് സിസ്റ്റംസ്, 128.07kb.
    • M. V. Krasilnikova വിവര സംവിധാന വിഭാഗത്തിൻ്റെ രൂപകൽപ്പന: സൈദ്ധാന്തിക അടിത്തറ, 1088.26kb.
    • മാസ്റ്റേഴ്സ് പ്രോഗ്രാമുകളിലേക്കുള്ള അപേക്ഷകർക്കുള്ള പ്രവേശന പരീക്ഷകളുടെ (ഇൻ്റർവ്യൂ) പ്രോഗ്രാം, 87.89kb.
    • പരിശീലന മാനുവൽ, 2003. പരിശീലന മാനുവൽ വികസിപ്പിച്ചെടുത്തത് ഒരു പ്രമുഖ വിദ്യാഭ്യാസ, രീതിശാസ്ത്ര വിദഗ്ധനാണ്, 454.51kb.

    4. ഘടനാപരമായ സമീപനം ഉപയോഗിച്ച് സോഫ്റ്റ്വെയർ ഡിസൈൻ

    4.1. ഘടനാപരവും പ്രവർത്തനപരവുമായ ഡയഗ്രമുകളുടെ വികസനം

    സങ്കീർണ്ണമായ സോഫ്‌റ്റ്‌വെയർ രൂപകൽപ്പന ചെയ്യുന്ന പ്രക്രിയ അതിൻ്റെ ഘടന വ്യക്തമാക്കുന്നതിലൂടെ ആരംഭിക്കുന്നു, അതായത്. ഘടനാപരമായ ഘടകങ്ങളുടെയും അവ തമ്മിലുള്ള ബന്ധങ്ങളുടെയും നിർണ്ണയം. ഘടന വ്യക്തമാക്കുന്നതിൻ്റെ ഫലം ഘടനാപരമായ കൂടാതെ/അല്ലെങ്കിൽ പ്രവർത്തനപരമായ ഡയഗ്രമുകളുടെ രൂപത്തിൽ അവതരിപ്പിക്കാവുന്നതാണ്.

    വികസിപ്പിച്ചുകൊണ്ടിരിക്കുന്ന സോഫ്റ്റ്‌വെയറിൻ്റെ ബ്ലോക്ക് ഡയഗ്രം. ഘടനാപരമായപ്രതിഫലിപ്പിക്കുന്ന ഒരു ഡയഗ്രം എന്ന് വിളിക്കുന്നു മാനേജ്മെൻ്റിനെക്കുറിച്ചുള്ള ഘടനയും ഇടപെടലുംവികസിപ്പിച്ചുകൊണ്ടിരിക്കുന്ന സോഫ്റ്റ്‌വെയറിൻ്റെ ഭാഗങ്ങൾ.

    ഘടനാപരമായ ഘടകങ്ങളായി സബ്റൂട്ടീനുകളും റിസോഴ്സ് ലൈബ്രറികളും മാത്രം ഉൾപ്പെടുത്താൻ കഴിയുന്ന ഒരു പ്രോഗ്രാമാണ് ഏറ്റവും ലളിതമായ സോഫ്റ്റ്വെയർ. ഒരു പ്രോഗ്രാം ബ്ലോക്ക് ഡയഗ്രം വികസിപ്പിക്കുന്നത് സാധാരണയായി ഒരു ഘട്ടം ഘട്ടമായുള്ള വിശദാംശ രീതി ഉപയോഗിച്ചാണ് നടത്തുന്നത് (§ 4.2 കാണുക).

    ഒരു സോഫ്റ്റ്‌വെയർ സിസ്റ്റത്തിൻ്റെയോ സോഫ്റ്റ്‌വെയർ സമുച്ചയത്തിൻ്റെയോ ഘടനാപരമായ ഘടകങ്ങൾ പ്രോഗ്രാമുകൾ, സബ്സിസ്റ്റങ്ങൾ, ഡാറ്റാബേസുകൾ, റിസോഴ്‌സ് ലൈബ്രറികൾ മുതലായവ ആകാം. അങ്ങനെ, ഒരു സോഫ്റ്റ്‌വെയർ സിസ്റ്റത്തിൻ്റെ ഘടനാപരമായ ഡയഗ്രം, ഒരു ചട്ടം പോലെ, ഉപസിസ്റ്റങ്ങളുടെ അല്ലെങ്കിൽ മറ്റ് ഘടനാപരമായ ഘടകങ്ങളുടെ സാന്നിധ്യം കാണിക്കുന്നു (ചിത്രം 4.1 ).

    സോഫ്‌റ്റ്‌വെയറിൻ്റെ കൂടുതൽ പൂർണ്ണമായ ചിത്രം അതിൻ്റെ ഘടകങ്ങളുടെ പരസ്പരവും ബാഹ്യ പരിതസ്ഥിതിയുമായും ഇടപഴകുന്നതിൻ്റെ അടിസ്ഥാനത്തിൽ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത് ഒരു ഫങ്ഷണൽ ഡയഗ്രം വഴിയാണ്.

    ഫങ്ഷണൽ ഡയഗ്രം.ഫങ്ഷണൽ ഡയഗ്രംഅല്ലെങ്കിൽ ഡാറ്റ സ്കീമ(GOST 19.701-90) - വിവര ഫ്ലോകളുടെ വിവരണം, ഫ്ലോകളിലെ ഡാറ്റയുടെ ഘടന, ഉപയോഗിച്ച ഫയലുകളുടെയും ഉപകരണങ്ങളുടെയും സൂചന എന്നിവയുള്ള സോഫ്റ്റ്വെയർ ഘടകങ്ങളുടെ ഇടപെടലിൻ്റെ ഒരു ഡയഗ്രം. ചിത്രത്തിന് ഫങ്ഷണൽ ഡയഗ്രമുകൾസ്റ്റാൻഡേർഡ് സ്ഥാപിച്ച പ്രത്യേക പദവികൾ ഉപയോഗിക്കുക.

    ഘടനാപരമായ ഡയഗ്രമുകളേക്കാൾ ഫങ്ഷണൽ ഡയഗ്രമുകൾ കൂടുതൽ വിവരദായകമാണ്. അങ്ങനെ, സോഫ്റ്റ്വെയർ കോംപ്ലക്സുകളുടെയും സിസ്റ്റങ്ങളുടെയും ഫങ്ഷണൽ ഡയഗ്രമുകൾ അവ തമ്മിലുള്ള വ്യത്യാസം വ്യക്തമായി പ്രകടമാക്കുന്നു (ചിത്രം 4.2).

    ഘടനാപരവും പ്രവർത്തനപരവുമായ ഡയഗ്രമുകളുടെ എല്ലാ ഘടകങ്ങളും വിവരിക്കേണ്ടതാണ്. ഒരു ഘടനാപരമായ സമീപനത്തിലൂടെ, ഇൻ്റർപ്രോഗ്രാം ഇൻ്റർഫേസുകളുടെ സവിശേഷതകൾ തയ്യാറാക്കേണ്ടത് പ്രത്യേകിച്ചും ആവശ്യമാണ്, കാരണം ഏറ്റവും ചെലവേറിയ പിശകുകളുടെ എണ്ണം അവയുടെ വിവരണത്തിൻ്റെ ഗുണനിലവാരത്തെ ആശ്രയിച്ചിരിക്കുന്നു. ഘടനാപരമായ സമീപനത്തിലെ ഏറ്റവും ചെലവേറിയ പിശകുകൾ സമഗ്രമായ പരിശോധനയ്ക്കിടെ കണ്ടെത്തിയവയാണ്, കാരണം അവ ഇല്ലാതാക്കുന്നതിന് ഇതിനകം ഡീബഗ്ഗുചെയ്‌ത പാഠങ്ങളിൽ വലിയ മാറ്റങ്ങൾ ആവശ്യമായി വന്നേക്കാം.

    4.2. സോഫ്‌റ്റ്‌വെയർ ഘടന രൂപകൽപ്പന ചെയ്യുന്നതിനായി ഘട്ടം ഘട്ടമായുള്ള രീതി ഉപയോഗിക്കുന്നു

    ഘട്ടം ഘട്ടമായുള്ള വിശദാംശ രീതി ഉപയോഗിച്ച് പ്രോഗ്രാമുകൾ വിഘടിപ്പിക്കാൻ ഘടനാപരമായ സമീപനം നിർദ്ദേശിക്കുന്നു. വിഘടനത്തിൻ്റെ ഫലം - പ്രോഗ്രാം ബ്ലോക്ക് ഡയഗ്രം - കൺട്രോൾ സബ്റൂട്ടീനുകളുടെ പ്രതിപ്രവർത്തനത്തിൻ്റെ ഒരു മൾട്ടി-ലെവൽ ഹൈറാർക്കിക്കൽ ഡയഗ്രം ആണ്. കുറഞ്ഞത്, അത്തരമൊരു ഡയഗ്രം രണ്ട് തലത്തിലുള്ള ശ്രേണി കാണിക്കുന്നു, അതായത്. പ്രോഗ്രാമിൻ്റെ പൊതു ഘടന കാണിക്കുന്നു. എന്നിരുന്നാലും, അതേ രീതി ഒരു വലിയ അളവിലുള്ള ലെവലുകളുള്ള ഘടനാപരമായ ഡയഗ്രമുകൾ നേടുന്നത് സാധ്യമാക്കുന്നു.

    സ്റ്റെപ്പ്-ബൈ-സ്റ്റെപ്പ് രീതി ഒരു ടോപ്പ്-ഡൌൺ സമീപനം നടപ്പിലാക്കുന്നു, ഇത് ഘടനാപരമായ പ്രോഗ്രാമിംഗിൻ്റെ അടിസ്ഥാന ഘടനകളെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്. അൽഗോരിതത്തിൻ്റെ ഘട്ടം ഘട്ടമായുള്ള വികസനം ഇതിൽ ഉൾപ്പെടുന്നു. ഓരോ ഘട്ടത്തിലും ഒരു ഫംഗ്ഷൻ സബ്ഫംഗ്ഷനുകളായി വിഘടിപ്പിക്കുന്നത് ഉൾപ്പെടുന്നു. അതിനാൽ, ആദ്യ ഘട്ടത്തിൽ, പൊതുവായ ഉപടാസ്കുകൾ എടുത്തുകാണിച്ചുകൊണ്ട് അവർ പ്രശ്നത്തിനുള്ള പരിഹാരം വിവരിക്കുന്നു. അടുത്തത് സമാനമായ രീതിയിൽ സബ് ടാസ്‌ക്കുകളുടെ പരിഹാരം വിവരിക്കുന്നു, അടുത്ത ലെവലിൻ്റെ ഉപ ടാസ്‌ക്കുകൾ രൂപപ്പെടുത്തുന്നു. അങ്ങനെ, ഓരോ ഘട്ടത്തിലും രൂപകൽപ്പന ചെയ്ത സോഫ്റ്റ്വെയറിൻ്റെ പ്രവർത്തനങ്ങൾ വ്യക്തമാക്കപ്പെടുന്നു. സൊല്യൂഷൻ അൽഗോരിതങ്ങൾ വ്യക്തമാകുന്ന ഉപ ടാസ്‌ക്കുകളിൽ എത്തുന്നതുവരെ പ്രക്രിയ തുടരുന്നു.

    ഘട്ടം ഘട്ടമായുള്ള വിശദാംശങ്ങളുടെ രീതി ഉപയോഗിച്ച് ഒരു പ്രോഗ്രാം വിഘടിപ്പിക്കുമ്പോൾ, ലംബ മാനേജുമെൻ്റിൻ്റെ തത്വത്തിൽ നിന്ന് പിന്തുടരുന്ന ഘടനാപരമായ വിഘടനത്തിൻ്റെ അടിസ്ഥാന നിയമം ഒരാൾ പാലിക്കണം: ഒന്നാമതായി, വിശദാംശങ്ങൾ നിയന്ത്രണ പ്രക്രിയകൾവിഘടിപ്പിച്ച ഘടകം, അവസാനം വരെ ഡാറ്റ പ്രവർത്തനങ്ങളുടെ പരിഷ്ക്കരണം അവശേഷിക്കുന്നു.

    കൂടാതെ, ഇനിപ്പറയുന്ന ശുപാർശകൾ പാലിക്കുന്നത് നല്ലതാണ്:

    • സമാരംഭവും പൂർത്തീകരണ പ്രവർത്തനങ്ങളും അനുബന്ധ പ്രോസസ്സിംഗിൽ നിന്ന് വേർതിരിക്കരുത്, കാരണം ഇനീഷ്യലൈസേഷനും പൂർത്തീകരണ മൊഡ്യൂളുകളും മോശം കപ്ലിംഗും (ടെമ്പറൽ) ശക്തമായ കപ്ലിംഗും (നിയന്ത്രണവും) ഉള്ളതിനാൽ;
    • വളരെ പ്രത്യേകമായതോ പൊതുവായതോ ആയ മൊഡ്യൂളുകൾ രൂപകൽപ്പന ചെയ്യരുത്, കാരണം അമിതമായ പ്രത്യേക മൊഡ്യൂളുകൾ രൂപകൽപ്പന ചെയ്യുന്നത് അവയുടെ എണ്ണം വർദ്ധിപ്പിക്കുന്നു, കൂടാതെ അമിതമായ പൊതുവായ ഉദ്ദേശ്യ മൊഡ്യൂളുകൾ രൂപകൽപ്പന ചെയ്യുന്നത് അവയുടെ സങ്കീർണ്ണത വർദ്ധിപ്പിക്കുന്നു;
    • വ്യത്യസ്ത മൊഡ്യൂളുകളിലെ പ്രവർത്തനങ്ങൾ തനിപ്പകർപ്പാക്കുന്നത് ഒഴിവാക്കുക, കാരണം അവ മാറുമ്പോൾ, അവ നടപ്പിലാക്കുന്ന എല്ലാ സ്ഥലങ്ങളിലും തിരുത്തലുകൾ വരുത്തേണ്ടതുണ്ട് - ഈ സാഹചര്യത്തിൽ, ഈ പ്രവർത്തനങ്ങൾ ഒരു പ്രത്യേക മൊഡ്യൂളിൽ നടപ്പിലാക്കുന്നത് നല്ലതാണ്;
    • റിസോഴ്‌സ് ലൈബ്രറി തരം അനുസരിച്ച് പിശക് സന്ദേശങ്ങൾ ഒരു മൊഡ്യൂളിലേക്ക് ഗ്രൂപ്പുചെയ്യുന്നത് പദങ്ങൾ അംഗീകരിക്കുന്നതും സന്ദേശങ്ങൾ തനിപ്പകർപ്പാക്കുന്നതും ഒഴിവാക്കുന്നതും സന്ദേശങ്ങൾ മറ്റൊരു ഭാഷയിലേക്ക് വിവർത്തനം ചെയ്യുന്നതും എളുപ്പമാക്കുന്നു.
    അതേ സമയം, ഓരോ പ്രശ്നത്തിനും പരിഹാരം വിവരിക്കുമ്പോൾ, സംഘടിത കമ്പ്യൂട്ടേഷണലിൻ്റെ ഘടന കൂടുതൽ വ്യക്തമായി സങ്കൽപ്പിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു സമയത്ത്-ലൂപ്പ് അല്ലെങ്കിൽ ബ്രാഞ്ചിംഗ് പോലുള്ള ഒന്നോ രണ്ടോ ഘടനാപരമായ നിയന്ത്രണ ഘടനകൾ ഉപയോഗിക്കാതിരിക്കുന്നതാണ് ഉചിതം. പ്രക്രിയ.

    ഉദാഹരണം 4.2.ആർഗ്യുമെൻ്റിലെ മാറ്റത്തിൻ്റെ ഒരു നിശ്ചിത ഇടവേളയിൽ ഒരു വേരിയബിളിൻ്റെ ഫംഗ്‌ഷനുകളുടെ ഗ്രാഫുകൾ നിർമ്മിക്കുന്നതിനുള്ള ഒരു പ്രോഗ്രാമിനായി ഒരു അൽഗോരിതം വികസിപ്പിക്കുക, നിർവചനത്തിൻ്റെ മുഴുവൻ ഇടവേളയിലും ഫംഗ്ഷൻ തുടർച്ചയായി തുടരുകയാണെങ്കിൽ.

    പൊതുവേ, ഒരു ഫംഗ്ഷൻ്റെ ഒരു ഗ്രാഫ് നിർമ്മിക്കുന്നതിനുള്ള ചുമതല ഒരു യഥാർത്ഥ ഗ്രാഫ് പ്രദർശിപ്പിക്കുന്നതിനുള്ള ചുമതലയാണ് (ചിത്രം 4.3, ), ഒരു നിശ്ചിത സ്കെയിലിൽ, സ്ക്രീനിലെ വിൻഡോയിലെ അനുബന്ധ ചിത്രത്തിലേക്ക് (ചിത്രം 4.3, ബി).

    ഒരു ഗ്രാഫ് നിർമ്മിക്കുന്നതിന്, നിങ്ങൾ ഫംഗ്ഷൻ വ്യക്തമാക്കേണ്ടതുണ്ട്, ഫംഗ്ഷൻ തുടർച്ചയായി നടക്കുന്ന ആർഗ്യുമെൻ്റിൻ്റെ മാറ്റത്തിൻ്റെ ഇടവേള, ഗ്രാഫ് പോയിൻ്റുകളുടെ എണ്ണം n, നിങ്ങൾ നിർമ്മിക്കാൻ ആഗ്രഹിക്കുന്ന സ്‌ക്രീൻ വിൻഡോയുടെ വലുപ്പവും സ്ഥാനവും ഗ്രാഫ്: wx1, wy1, wx2, wy2 കൂടാതെ തിരശ്ചീനമായും ലംബമായും nlx, nly ഗ്രിഡ് ലൈനുകളുടെ എണ്ണം. wx1, wy1, wx2, wy2, nlx, nly എന്നിവയുടെ മൂല്യങ്ങൾ സ്‌ക്രീൻ വലുപ്പത്തെ അടിസ്ഥാനമാക്കി സജ്ജമാക്കാൻ കഴിയും, കൂടാതെ ഗ്രാഫ് പോയിൻ്റുകളുടെ ഇടവേളയും എണ്ണവും നൽകണം.

    ഒരു ഘട്ടം ഘട്ടമായുള്ള രീതി ഉപയോഗിച്ച് ഞങ്ങൾ അൽഗോരിതം വികസിപ്പിക്കുന്നു, അത് ഡോക്യുമെൻ്റ് ചെയ്യുന്നതിന് സ്യൂഡോകോഡ് ഉപയോഗിക്കുന്നു.

    "ഫോർമുല", "സെഗ്മെൻ്റ്", "സ്റ്റെപ്പ്", "ഫല തരം", "ഔട്ട്പുട്ട്" എന്നിവ ഉൾക്കൊള്ളുന്ന പരമ്പരാഗത ശ്രേണിപരമായ മെനുവിലൂടെ പ്രോഗ്രാം ഉപയോക്താവുമായി സംവദിക്കുമെന്ന് നമുക്ക് അനുമാനിക്കാം. ഈ മെനുവിൻ്റെ ഓരോ ഇനത്തിനും, സാങ്കേതിക സവിശേഷതകളിൽ നൽകിയിരിക്കുന്ന സാഹചര്യം നടപ്പിലാക്കേണ്ടത് ആവശ്യമാണ്.

    ഘട്ടം 1.നിയന്ത്രണ പ്രോഗ്രാമിൻ്റെ ഘടന ഞങ്ങൾ നിർണ്ണയിക്കുന്നു, അത് ഞങ്ങളുടെ കാര്യത്തിൽ കീബോർഡ് വഴി മെനുവിൽ പ്രവർത്തിക്കുന്നു:

    പ്രോഗ്രാം.

    ആഗോള വേരിയബിളുകൾ ആരംഭിക്കുക

    ശീർഷകവും മെനുവും പ്രദർശിപ്പിക്കുക

    നിറവേറ്റുക

    എങ്കിൽടീമിനെ തിരഞ്ഞെടുത്തു

    അത്കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുക

    അല്ലാത്തപക്ഷം

    എല്ലാം-എങ്കിൽ

    വരെകമാൻഡ്=എക്സിറ്റ്

    അവസാനിക്കുന്നു.

    സ്‌ക്രീൻ ക്ലിയർ ചെയ്യുക, ശീർഷകവും മെനുവും പ്രദർശിപ്പിക്കുക, കമാൻഡുകൾ തിരഞ്ഞെടുക്കൽ എന്നിവ താരതമ്യേന ലളിതമായ പ്രവർത്തനങ്ങളാണ്, അതിനാൽ അവ വിശദമായി പറയേണ്ടതില്ല.

    ഘട്ടം 2.ഓപ്പറേഷൻ എക്സിക്യൂട്ട് കമാൻഡ് വിശദമായി നോക്കാം:

    കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുക:

    ചോയ്സ്ടീം

    പ്രവർത്തനം:

    പാഴ്സ് ഫോർമുല

    മുറിക്കുക:

    x1,x2 മൂല്യങ്ങൾ നൽകുക

    h മൂല്യം നൽകുക

    ഫല തരം:

    result_type നൽകുക

    എങ്കിൽ Result_type=ഗ്രാഫ്

    തുടർന്ന് ഒരു ഗ്രാഫ് നിർമ്മിക്കുക

    അല്ലാത്തപക്ഷംഡിസ്പ്ലേ ടേബിൾ

    എല്ലാം-എങ്കിൽ

    എല്ലാം-തിരഞ്ഞെടുപ്പ്

    സബ്റൂട്ടീനുകളായി നടപ്പിലാക്കേണ്ട ശകലങ്ങൾ ഏതൊക്കെയാണെന്ന് നമുക്ക് നിർണ്ണയിക്കാം. ആദ്യം, ശകലം ശീർഷകവും മെനുവും ഔട്ട്‌പുട്ട് ചെയ്യുന്നു, കാരണം ഇത് ഓപ്പറേറ്റർമാരുടെ ഒരു നീണ്ട ലീനിയർ സീക്വൻസ് ആയതിനാൽ അതിനെ ഒരു പ്രത്യേക നടപടിക്രമമായി വേർതിരിക്കുന്നത് നിയന്ത്രണ പ്രോഗ്രാം ചെറുതാക്കാൻ നിങ്ങളെ അനുവദിക്കും. രണ്ടാമതായി, ശകലങ്ങൾ ഒരു ഫോർമുല പാഴ്‌സ് ചെയ്യുക, ഫംഗ്‌ഷൻ മൂല്യങ്ങൾ കണക്കാക്കുക, ഒരു ഗ്രാഫ് പ്ലോട്ട് ചെയ്യുക, ഒരു ടേബിൾ ഔട്ട്‌പുട്ട് ചെയ്യുക, കാരണം ഇവ വളരെ സങ്കീർണ്ണമായ പ്രവർത്തനങ്ങളാണ്. ഇവ ഫസ്റ്റ്-ലെവൽ സബ്റൂട്ടീനുകളാണ്, ഇത് പ്രധാനമായും പ്രോഗ്രാമിൻ്റെ ഘടന നിർണ്ണയിക്കുന്നു (ചിത്രം 4.4).

    പ്രധാന പ്രോഗ്രാമിനൊപ്പം ഈ സബ്റൂട്ടീനുകൾക്കുള്ള ഡാറ്റ ഇൻ്റർഫേസുകൾ നമുക്ക് നിർവചിക്കാം, അതായത്. ഈ സാഹചര്യത്തിൽ പരാമീറ്ററുകളുടെ പട്ടിക.

    ഔട്ട്‌പുട്ട് ശീർഷകവും മെനു പാരാമീറ്ററുകളും സബ്റൂട്ടീന് പാരാമീറ്ററുകളൊന്നുമില്ല.

    ഫോർമുല പാഴ്സിംഗ് സബ്റൂട്ടീന് രണ്ട് പാരാമീറ്ററുകൾ ഉണ്ടായിരിക്കണം: ഫൺ - ഫംഗ്ഷൻ്റെ അനലിറ്റിക്കൽ ടാസ്ക്ക്, ട്രീ - റിട്ടേൺ പാരാമീറ്റർ - പാഴ്സ് ട്രീയുടെ വിലാസം.

    ട്രീ പാഴ്‌സ് ട്രീയുടെ വിലാസം, സെഗ്‌മെൻ്റ് x1, x2, സ്റ്റെപ്പ് h എന്നിവ കണക്കാക്കിയ ഫംഗ്‌ഷൻ മൂല്യങ്ങൾ സബ്‌റൂട്ടീന് ലഭിക്കണം. പ്രോഗ്രാമിലേക്ക് മടങ്ങുക, അത് X(n), Y(n) എന്നീ ഫംഗ്‌ഷൻ മൂല്യങ്ങളുടെ ഒരു പട്ടിക നൽകണം, ഇവിടെ n എന്നത് ഫംഗ്‌ഷൻ്റെ പോയിൻ്റുകളുടെ എണ്ണമാണ്.

    ടേബിൾ ഔട്ട്‌പുട്ടിനും ഗ്രാഫ് ഡ്രോയിംഗ് ദിനചര്യകൾക്കും ഫംഗ്‌ഷൻ മൂല്യങ്ങളുടെയും പോയിൻ്റുകളുടെ എണ്ണത്തിൻ്റെയും ഒരു പട്ടിക ലഭിക്കണം.

    വേരിയബിൾ പേരുകൾ വ്യക്തമാക്കിയ ശേഷം, പ്രധാന പ്രോഗ്രാം അൽഗോരിതം ഇതുപോലെ കാണപ്പെടും:

    പ്രോഗ്രാം.

    തലക്കെട്ടും മെനു പ്രദർശനവും

    നിറവേറ്റുക

    എങ്കിൽടീമിനെ തിരഞ്ഞെടുത്തു

    അത്

    ചോയ്സ്ടീം

    പ്രവർത്തനം:

    ഫൺ ഫോർമുല നൽകുക അല്ലെങ്കിൽ തിരഞ്ഞെടുക്കുക

    ഫോർമുല പാഴ്‌സ് ചെയ്യുന്നു (തമാശ; വർ ട്രീ)

    മുറിക്കുക:

    x1,x2 മൂല്യങ്ങൾ നൽകുക

    h മൂല്യങ്ങൾ നൽകുക

    ഫല തരം:

    result_type നൽകുക

    പ്രവർത്തിപ്പിക്കുക:

    പട്ടിക കണക്കുകൂട്ടൽ(x1,x2,h,Tree; Var X, Y, n)

    എങ്കിൽ Result_type=ഗ്രാഫ്

    തുടർന്ന് ഗ്രാഫ്(X, Y, n)

    മറ്റുള്ളവ പട്ടിക ഔട്ട്പുട്ട് (X, Y, n)

    എല്ലാം-എങ്കിൽ

    എല്ലാം-തിരഞ്ഞെടുപ്പ്

    അല്ലാത്തപക്ഷംനിയന്ത്രണ കീ അമർത്തലുകൾ കൈകാര്യം ചെയ്യുക

    എല്ലാം-എങ്കിൽ

    വരെകമാൻഡ്=എക്സിറ്റ്

    അവസാനിക്കുന്നു.

    അടുത്ത ഘട്ടങ്ങളിൽ, സബ്റൂട്ടീനുകളുടെ അൽഗോരിതങ്ങൾ വിശദമായി വിവരിക്കേണ്ടത് ആവശ്യമാണ്. പ്രോഗ്രാം അൽഗോരിതം പൂർണ്ണമായും വ്യക്തമാകുന്നതുവരെ വിശദാംശങ്ങൾ നടപ്പിലാക്കുന്നു. ഈ പ്രോഗ്രാമിൻ്റെ പൂർണ്ണമായ ബ്ലോക്ക് ഡയഗ്രാമിനുള്ള സാധ്യമായ ഓപ്ഷനുകളിലൊന്ന് ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നു. 4.5

    പ്രോഗ്രാം അൽഗോരിതങ്ങൾ രൂപകൽപ്പന ചെയ്യുമ്പോൾ ഘട്ടം ഘട്ടമായുള്ള വിശദാംശങ്ങളുടെ രീതി ഉപയോഗിക്കുന്നത് വികസിപ്പിച്ച സോഫ്റ്റ്വെയറിൻ്റെ ഉയർന്ന തലത്തിലുള്ള നിർമ്മാണക്ഷമത ഉറപ്പാക്കുന്നു, കാരണം നിയന്ത്രണം കൈമാറ്റം ചെയ്യുന്നതിനുള്ള ഘടനാപരമായ രീതികൾ മാത്രം ഉപയോഗിക്കാൻ ഈ രീതി അനുവദിക്കുന്നു.

    ശുപാർശ ചെയ്യുന്ന മൊഡ്യൂൾ വലുപ്പങ്ങളും (20-60 ലൈനുകൾ) ഘടനയുടെ സങ്കീർണ്ണതയും (രണ്ടോ മൂന്നോ നെസ്റ്റഡ് കൺട്രോൾ ഘടനകൾ) അടിസ്ഥാനമാക്കി ഇത്തരത്തിലുള്ള രൂപകൽപ്പനയിൽ മൊഡ്യൂളുകളായി വിഭജനം ഹ്യൂറിസ്റ്റിക് ആയി നടത്തുന്നു. ഒരു പ്രോഗ്രാമിനെ മൊഡ്യൂളുകളായി വിഭജിക്കുമ്പോൾ നിർണ്ണായക പങ്ക് വഹിക്കുന്നത് മൊഡ്യൂളുകളുടെ നിർമ്മാണക്ഷമത ഉറപ്പാക്കുന്നതിനുള്ള തത്വങ്ങളാണ്.

    തത്ഫലമായുണ്ടാകുന്ന മൊഡ്യൂളുകളുടെ ശ്രേണിയുടെ നിർമ്മാണക്ഷമത വിശകലനം ചെയ്യുന്നതിന്, കോൺസ്റ്റൻ്റൈൻ അല്ലെങ്കിൽ ജാക്സൺ ഘടനാപരമായ മാപ്പുകൾ ഉപയോഗിക്കുന്നത് നല്ലതാണ്.

    വിവരസംവിധാനം പ്രവർത്തിക്കുന്ന വിവരങ്ങൾ MySQL ഉപയോഗിച്ച് സൃഷ്ടിച്ച ഒരു ഡാറ്റാബേസിൻ്റെ രൂപത്തിൽ ക്രമീകരിച്ചിരിക്കുന്നു (ചിത്രം 16).

    MySQL ഉപയോഗിച്ച് സൃഷ്ടിച്ച ഒരു ഡാറ്റാബേസിൻ്റെ ചിത്രം 16 ഡയഗ്രം

    കണക്കുകൂട്ടലുകളുടെ ഔപചാരികവൽക്കരണം (കണക്കുകൂട്ടലും പ്രശ്നപരിഹാര അൽഗോരിതങ്ങളും)

    ഔട്ട്പുട്ട് ഡോക്യുമെൻ്റേഷൻ ലഭിക്കുന്നതിന്, ഇൻപുട്ട് ഡാറ്റ ഒരു നിർദ്ദിഷ്ട അൽഗോരിതം അനുസരിച്ച് പരിവർത്തനം ചെയ്യപ്പെടുന്നു.

    ഇൻസ്റ്റാളേഷൻ്റെ ചെലവ് കണക്കാക്കുമ്പോൾ സ്ട്രെച്ച് സീലിംഗ്നിങ്ങൾ "കോസ്റ്റ്" ഫോം പൂരിപ്പിക്കണം, അതിൽ ഡാറ്റ എൻട്രിക്കായി 3 ഫീൽഡുകൾ അടങ്ങിയിരിക്കുന്നു: സീലിംഗ് വീതി, സീലിംഗ് നീളം, മെറ്റീരിയൽ ടെക്സ്ചർ. ഈ ഫീൽഡുകൾ പൂരിപ്പിച്ച ശേഷം, ഈ ഇൻവോയ്‌സുള്ള മെറ്റീരിയലിൻ്റെ വിലയെക്കുറിച്ചുള്ള MySQL ഡാറ്റാബേസ് ഡാറ്റയിൽ നിന്ന് പ്രോഗ്രാം അഭ്യർത്ഥിക്കുന്നു. സീലിംഗ് കവറിൻ്റെ വിസ്തീർണ്ണം 1 മീ 2 ന് മെറ്റീരിയലിൻ്റെ വില കൊണ്ട് ഗുണിച്ചാണ് ചെലവ് കണക്കാക്കുന്നത്.

    "ചെലവുകൾ" ഫോമിൽ, "അവശേഷിപ്പുകൾ" ബട്ടണിൽ ക്ലിക്ക് ചെയ്യുമ്പോൾ, സോഫ്റ്റ്വെയർ മൊഡ്യൂൾ വെയർഹൗസിൽ ശേഷിക്കുന്ന വസ്തുക്കളുടെ അളവ് കണക്കാക്കുന്നു. “ബാലൻസ്” ഫോമിൽ രണ്ട് ഫീൽഡുകൾ പൂരിപ്പിക്കുമ്പോൾ: മെറ്റീരിയൽ ലഭിച്ച തീയതി, മെറ്റീരിയൽ ഉപഭോഗ തീയതി, ഒരു നിശ്ചിത മാസത്തിലെ മെറ്റീരിയൽ രസീതിൻ്റെ അളവിനെക്കുറിച്ചും ഈ മാസത്തെ ഉപഭോഗത്തെക്കുറിച്ചും അന്വേഷണം MySQL ഡാറ്റാബേസിൽ നിന്ന് ഡാറ്റ എടുക്കുന്നു. . ഒരു നിശ്ചിത സമയത്തേക്ക് മെറ്റീരിയലിൻ്റെ രസീതും ഉപഭോഗവും തമ്മിലുള്ള വ്യത്യാസം കൊണ്ടാണ് ശേഷിക്കുന്ന മെറ്റീരിയൽ കണക്കാക്കുന്നത്.

    പ്രോഗ്രാം കോംപ്ലക്സ് (ഡയലോഗ് ട്രീ) ഉപയോഗിക്കുന്നതിൻ്റെ ബ്ലോക്ക് ഡയഗ്രം

    പ്രയോഗിച്ച ഡാറ്റാ പ്രോസസ്സിംഗ് സിസ്റ്റങ്ങളിലെ ഡയലോഗിൻ്റെ പ്രധാന രൂപമാണ് സിസ്റ്റം മെനു, നിർദ്ദിഷ്ട ജോലികൾ ചെയ്യാൻ രൂപകൽപ്പന ചെയ്ത കമാൻഡുകൾ അടങ്ങിയിരിക്കുന്നു.

    വികസിപ്പിച്ച ആപ്ലിക്കേഷന് അവബോധജന്യമായ ഒരു മെനു ഉണ്ട്. ഡാറ്റാബേസ് ടേബിളുകളിൽ പ്രവർത്തിക്കുന്നതിന്, IS "എൻ്റർപ്രൈസ് മാനേജ്മെൻ്റ്" മൊഡ്യൂളിൽ ഇവ ഉൾപ്പെടുന്നു:

    മടങ്ങുക

    ×
    "nikanovgorod.ru" കമ്മ്യൂണിറ്റിയിൽ ചേരുക!
    VKontakte:
    ഞാൻ ഇതിനകം "nikanovgorod.ru" കമ്മ്യൂണിറ്റിയിൽ സബ്‌സ്‌ക്രൈബ് ചെയ്തിട്ടുണ്ട്