<?xml version='1.0'?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:georss="http://www.georss.org/georss"  >
	<channel>
		<title><![CDATA[iTeach: Blog: Programare modulara]]></title>
		<link>https://iteach.ro:443/pg/blog/ofelia.corpodean/read/119384/programare-modulara?view=rss</link>
				
	<item>
	  <guid isPermaLink='true'>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara</guid>
	  <pubDate>Tue, 05 Jul 2022 11:43:41 +0300</pubDate>
	  <link>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara</link>
	  <title><![CDATA[Programare modulara]]></title>
	  <description><![CDATA[<p>
	Prin proiectare (programare) modulară &icirc;nţelegem metoda de proiectare (programare) a unui algoritm pentru rezolvarea unei probleme prin folosirea modulelor.</p>
<p>	Dar ce este un modul? Modulul este considerat o unitate structurală de sine stătătoare, fie program, fie subprogram, fie o unitate de program. Un modul poate conţine sau poate fi conţinut &icirc;ntr-alt modul. Un modul poate fi format din mai multe submodule. Astfel, &icirc;n Pseudocod fiecare SUBPROGRAM şi algoritmul principal sunt considerate module. &Icirc;n limbajele de programare cu structură de bloc UNIT-urile pot fi considerate module. La compilarea separată un grup de subprograme compilate<br />
	deodată constituie un modul, dar acest modul poate fi considerat ca o mulţime de submodule din care este compus.</p>
<p>
	Este &icirc;nsă important ca fiecare modul să-şi aibă rolul său bine precizat, să realizeze o funcţie &icirc;n cadrul &icirc;ntregului program. El apare &icirc;n mod natural &icirc;n descompunerea top-down.</p>
<p>
	Indiferent că privim modulul ca un singur SUBPROGRAM, un grup de SUBPROGRAMi, sau un algoritm de sine stătător ce apelează alţi SUBPROGRAMi, considerăm modulele relativ independente, dar cu posibilităţi de comunicare &icirc;ntre ele. Astfel, un modul nu trebuie să fie influenţat de maniera &icirc;n care se lucrează &icirc;n interiorul altui modul. Orice modificare ulterioară &icirc;n structura unui program, dacă funcţia pe care o realizează un modul M &icirc;ncă este necesară, acest modul trebuie să fie util şi folosit &icirc;n continuare fără modificări.</p>
<p>
	Rezultă că programarea modulară se bazează pe descompunerea problemei &icirc;n subprobleme şi proiectarea şi programarea separată a SUBPROGRAMilor corespunzători. De altfel, considerăm că &icirc;ntr-o programare serioasă nu se poate ajunge la implementare fără a avea &icirc;n prealabil algoritmii descrişi &icirc;ntr-un limbaj de descriere (la noi Pseudocod). Deci programarea modulară se referă &icirc;n primul r&acirc;nd la proiectarea modulară a algoritmilor şi apoi la traducerea lor &icirc;n limbajul de programare ales, ţin&acirc;nd seama de specificul acestui limbaj. Programarea modulară este str&acirc;ns legată de programarea ascendentă şi de programarea descendentă, ambele presupun&acirc;nd folosirea SUBPROGRAMilor pentru toate subproblemele &icirc;nt&acirc;lnite.</p>
<p>
	Avantajele programării modulare sunt multiple. Menţionăm &icirc;n cele ce urmează c&acirc;teva dintre ele. Descompunerea unei probleme complexe &icirc;n subprobleme este un mijloc convenabil şi eficient de a reduce complexitatea (Principiul Divide et impera acţionează şi &icirc;n programare). Este evident că probabilitatea apariţiei erorilor &icirc;n conceperea unui program creşte cu mărimea programului, lucru confirmat şi de experienţa practică. De asemenea, rezolv&acirc;nd o problemă mai simplă, testarea unui modul se poate face mult mai uşor dec&acirc;t testarea &icirc;ntregului algoritm.</p>
<p>
	Apoi, faptul că trebuiesc proiectate mai multe subprograme pentru subproblemele &icirc;nt&acirc;lnite, permite munca mai multor programatori. S-a ajuns astfel la munca &icirc;n echipă, modalitate prin care se ajunge la scurtarea termenului de realizare a produsului program.</p>
<p>
	Modulele se pot refolosi ori de c&acirc;te ori avem nevoie de ele. Astfel, s-a ajuns la compilarea separată a subprogramelor şi la păstrarea subprogramelor obţinute &icirc;n biblioteci de subprograme, de unde ele se pot refolosi la nevoie. Sunt cunoscute astăzi multe astfel de biblioteci de subprograme. Reutilizabilitatea acestor subprograme este o proprietate foarte importantă &icirc;n activitatea de programare. Ea duce la mărirea productivităţii &icirc;n programare, dar şi la creşterea siguranţei &icirc;n realizarea unui produs corect.</p>
<p>
	Uneori, &icirc;n timpul proiectării algoritmului sau a implementării lui, se ajunge la concluzia că proiectarea a fost incompletă sau că unele module sunt ineficiente. şi &icirc;n această situaţie programarea modulară este avantajoasă, ea permiţ&acirc;nd &icirc;nlocuirea modulului &icirc;n cauză cu altul mai performant.</p>
<p>
	Una din activităţile importante &icirc;n realizarea unui program este verificarea corectitudinii acestuia. Experienţa a arătat că modulele se pot verifica cu at&acirc;t mai uşor cu c&acirc;t sunt mai mici. Abilitatea omului de a &icirc;nţelege şi analiza corectitudinea unui SUBPROGRAM este mult mai mare pentru texte scurte. &Icirc;n unele cărţi chiar se recomandă a nu se folosi SUBPROGRAMi mai mari dec&acirc;t 50 de propoziţii. Sigur că o astfel de limită nu există, dar se recomandă descompunerea unui SUBPROGRAM &icirc;n alţi SUBPROGRAMi oric&acirc;nd acest lucru este posibil &icirc;n mod natural, deci aceşti noi SUBPROGRAMi rezolvă subprobleme de sine stătătoare, sau realizează funcţii bine definite.</p>
]]></description>
	  	  <dc:creator>Ofelia-Ioana Corpodean</dc:creator>
	  	  	</item>

	<item>
	  <guid isPermaLink='true'>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#164229</guid>
	  <pubDate>Tue, 05 Jul 2022 11:43:41 +0300</pubDate>
	  <link>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#164229</link>
	  <title><![CDATA[Mulțumim pentru informații!]]></title>
	  <description><![CDATA[<p>Mulțumim pentru informații!</p>
]]></description>
	  	  	  	</item>

	<item>
	  <guid isPermaLink='true'>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#164286</guid>
	  <pubDate>Tue, 05 Jul 2022 11:43:41 +0300</pubDate>
	  <link>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#164286</link>
	  <title><![CDATA[Foarte interesant acest articol!]]></title>
	  <description><![CDATA[<p>Foarte interesant acest articol!</p>
]]></description>
	  	  	  	</item>

	<item>
	  <guid isPermaLink='true'>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#164553</guid>
	  <pubDate>Tue, 05 Jul 2022 11:43:41 +0300</pubDate>
	  <link>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#164553</link>
	  <title><![CDATA[Util și inspirat articol, pentr ...]]></title>
	  <description><![CDATA[<p>Util și inspirat articol, pentru care vă mulțumim!</p>
]]></description>
	  	  	  	</item>

	<item>
	  <guid isPermaLink='true'>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#164778</guid>
	  <pubDate>Tue, 05 Jul 2022 11:43:41 +0300</pubDate>
	  <link>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#164778</link>
	  <title><![CDATA[Foarte interesant acest articol!]]></title>
	  <description><![CDATA[<p>Foarte interesant acest articol!</p>
]]></description>
	  	  	  	</item>

	<item>
	  <guid isPermaLink='true'>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#164877</guid>
	  <pubDate>Tue, 05 Jul 2022 11:43:41 +0300</pubDate>
	  <link>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#164877</link>
	  <title><![CDATA[Mulțumim!]]></title>
	  <description><![CDATA[<p>Mulțumim!</p>
]]></description>
	  	  	  	</item>

	<item>
	  <guid isPermaLink='true'>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#165804</guid>
	  <pubDate>Tue, 05 Jul 2022 11:43:41 +0300</pubDate>
	  <link>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#165804</link>
	  <title><![CDATA[Asta ne asteapta incepand din se ...]]></title>
	  <description><![CDATA[<p>Asta ne asteapta incepand din septembrie? Toti acesti termeni de specialitate vor intra in practica noastra profesionala, incepand de la gradinita?<br />
Cred ca ar fi bine sa ne tineti un curs, doamna profesoara! Eu as fi prima pe lista!!!</p>
]]></description>
	  	  	  	</item>

	<item>
	  <guid isPermaLink='true'>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#166321</guid>
	  <pubDate>Tue, 05 Jul 2022 11:43:41 +0300</pubDate>
	  <link>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#166321</link>
	  <title><![CDATA[Subscriu....dna Liliana Stefanic ...]]></title>
	  <description><![CDATA[<p>Subscriu....dna Liliana Stefanica puncteaza bine. Multumim pt informatii!</p>
]]></description>
	  	  	  	</item>

	<item>
	  <guid isPermaLink='true'>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#168908</guid>
	  <pubDate>Tue, 05 Jul 2022 11:43:41 +0300</pubDate>
	  <link>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#168908</link>
	  <title><![CDATA[Foarte interesant! Felicitări!]]></title>
	  <description><![CDATA[<p>Foarte interesant! Felicitări!</p>
]]></description>
	  	  	  	</item>

	<item>
	  <guid isPermaLink='true'>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#168923</guid>
	  <pubDate>Tue, 05 Jul 2022 11:43:41 +0300</pubDate>
	  <link>https://iteach.ro/pg/blog/ofelia.corpodean/read/119384/programare-modulara#168923</link>
	  <title><![CDATA[Am revenit asupra articolului si ...]]></title>
	  <description><![CDATA[<p>Am revenit asupra articolului si incerc sa aplic !!!</p>
]]></description>
	  	  	  	</item>
	</channel>
</rss>