Je unataka kujua mbinu ya kuandika programu iliyo bora? unataka kuwa tofauti na programmer wengine wa kawaida?
Algorithm ni nini?
Algorithm ni MFULULIZO wa hatua zilizo katika MPANGILIO MAALUMU zinazofanikisha kazi fulani.
Mfano unaweza kuwa na kazi ya kuhesabu watu, au kazi ya kuamka asubuhi au kazi ya kula chakula au kazi na kutengeneza juisi.
Katika kazi ya kula chakula, algorithm inaweza kuwa hivi
Katika hatua hizi za algorithm utagundua kwamba tukigeuza hatua tu, tunaweza kuharibu hiyo kazi. Kwa mfano, katika kazi ya kutengeneza juisi ya nanasi, tukihamisha hatua ya kwanza kuwa ya mwisho, tutakuwa tumetengeneza juisi yenye uchafu katika maganda yake. Hivyo basi wakati wa kutengeneza algorithm ya kazi fulani ni vizuri kuelewa hiyo kazi vizuri, kabla ya kubuni algorithm.
Umuhimu wa Algorithm
Algorithm ndio zinazoongeza neno sayansi katika “sayansi ya kompyuta”. Kwa maana, tatizo moja linaweza kuwa na suluhu nyingi tofauti, utajuaje suluhu ipi ni bora? Ndipo hapo uchambuzi wa algorithm kutokana na muda utakaotumika au ukubwa wa memory itakayotumika na kadhalika unapokuwa muhimu. Kama programmer ni muhimu sana kufahamu algorithms kwani itafanya programu zako ziwe zinafanya kazi kwa ufanisi zaidi kwa kuzingatia muda na memory inayotumika.
Tofauti ya programmer wa kawaida na programmer ambaye ni mtaalamu wa algorithm ni sawa na fundi nyumba wa mtaani na mhandisi wa ujenzi(Civil Engineer). Fundi nyumba wa mtaani anaweza kutengeneza nyumba ya chini vizuri tu, lakini ukimpa kazi ya kukutengenezea jengo la ghorofa kumi hatoweza, kwa sababu hafahamu mahesabu yanayotumika kufanya jengo lisimame imara.
Baadhi ya algorithm ambazo wanasayansi wa kompyuta wamehangaika nazo kwa muda mrefu ni kama Sorting Algorithms(Algorithm za kupanga vitu), Search Algorithms (Algorithm za kutafuta kitu) na zingine nyingi. Kuna Sorting Algorithms zaidi ya 30 katika sayansi ya kompyuta.
Jedwali lifuatalo linaonesha aina zaidi ya 30 za Sorting Algorithms
Programmer mahiri anatumia algorithm ambazo zimeshagunduliwa au anatengeneza algorithm yake kama zilizopo sio bora.
JE WAJUA?
Neno algorithm limetokana na jina la mgunduzi wa Algebra yaani Al-Khwarizmi, ambaye walatini walimwita Algoritmi.
Pseudocode ni nini?
Pseudocode ni lugha isiyo rasmi, iliyobuniwa kwa lengo la kurahisisha utengenezaji wa Algorithm. Lugha hii inatumia maneno ya kawaida ya kimazungumzo. Lengo la lugha hii ni kusaidia kuwaza algorithm vizuri kabla haijabadilishwa kuwa programu ya kompyuta.
Ufuatao ni mfano wa pseudocode
if grade ya mwanafunzi ni kubwa kuliko au sawa na 80
Andika “Grade ni A!”
Kama tunavyoona pseudocode yetu imetumia neno if ambalo lipo katika C, lakini maneno mengine ni maneno ya kawaida ya lugha ya mazungumzo. Pseudocode hii inasaidia kuwa na picha kamili ya namna programu itakavyofanya kazi kabla ya kuiandika.
Ni muhimu kutengeneza picha kamili kichwani ya namna programu itakavyofanya kazi kabla ya kuandika programu yoyote. Hii inasaidia kugundua errors(makosa) za kilogik kabla programu haijaandikwa.
JE WAJUA?
Pseudocode imeundwa na neno pseudo na code. Neno Pseudo lina maana ya inayofanana(LIKE), kwa hiyo pseudocode maana yake ni “Inayofanana na code”
Algorithm ni nini?
Algorithm ni MFULULIZO wa hatua zilizo katika MPANGILIO MAALUMU zinazofanikisha kazi fulani.
Mfano unaweza kuwa na kazi ya kuhesabu watu, au kazi ya kuamka asubuhi au kazi ya kula chakula au kazi na kutengeneza juisi.
Katika kazi ya kula chakula, algorithm inaweza kuwa hivi
- Pika chakula
- Andaa chakula mezani
- Nawa mikono
- Kula
- Osha tunda
- Menya nanasi
- Kata vipande vidogo vidogo
- Weka vipande katika blenda
- Ongeza maji na sukari
- Saga mchanganyiko katika blenda
Katika hatua hizi za algorithm utagundua kwamba tukigeuza hatua tu, tunaweza kuharibu hiyo kazi. Kwa mfano, katika kazi ya kutengeneza juisi ya nanasi, tukihamisha hatua ya kwanza kuwa ya mwisho, tutakuwa tumetengeneza juisi yenye uchafu katika maganda yake. Hivyo basi wakati wa kutengeneza algorithm ya kazi fulani ni vizuri kuelewa hiyo kazi vizuri, kabla ya kubuni algorithm.
Umuhimu wa Algorithm
Algorithm ndio zinazoongeza neno sayansi katika “sayansi ya kompyuta”. Kwa maana, tatizo moja linaweza kuwa na suluhu nyingi tofauti, utajuaje suluhu ipi ni bora? Ndipo hapo uchambuzi wa algorithm kutokana na muda utakaotumika au ukubwa wa memory itakayotumika na kadhalika unapokuwa muhimu. Kama programmer ni muhimu sana kufahamu algorithms kwani itafanya programu zako ziwe zinafanya kazi kwa ufanisi zaidi kwa kuzingatia muda na memory inayotumika.
Tofauti ya programmer wa kawaida na programmer ambaye ni mtaalamu wa algorithm ni sawa na fundi nyumba wa mtaani na mhandisi wa ujenzi(Civil Engineer). Fundi nyumba wa mtaani anaweza kutengeneza nyumba ya chini vizuri tu, lakini ukimpa kazi ya kukutengenezea jengo la ghorofa kumi hatoweza, kwa sababu hafahamu mahesabu yanayotumika kufanya jengo lisimame imara.
Baadhi ya algorithm ambazo wanasayansi wa kompyuta wamehangaika nazo kwa muda mrefu ni kama Sorting Algorithms(Algorithm za kupanga vitu), Search Algorithms (Algorithm za kutafuta kitu) na zingine nyingi. Kuna Sorting Algorithms zaidi ya 30 katika sayansi ya kompyuta.
Jedwali lifuatalo linaonesha aina zaidi ya 30 za Sorting Algorithms
Programmer mahiri anatumia algorithm ambazo zimeshagunduliwa au anatengeneza algorithm yake kama zilizopo sio bora.
JE WAJUA?
Neno algorithm limetokana na jina la mgunduzi wa Algebra yaani Al-Khwarizmi, ambaye walatini walimwita Algoritmi.
Pseudocode ni nini?
Pseudocode ni lugha isiyo rasmi, iliyobuniwa kwa lengo la kurahisisha utengenezaji wa Algorithm. Lugha hii inatumia maneno ya kawaida ya kimazungumzo. Lengo la lugha hii ni kusaidia kuwaza algorithm vizuri kabla haijabadilishwa kuwa programu ya kompyuta.
Ufuatao ni mfano wa pseudocode
if grade ya mwanafunzi ni kubwa kuliko au sawa na 80
Andika “Grade ni A!”
Kama tunavyoona pseudocode yetu imetumia neno if ambalo lipo katika C, lakini maneno mengine ni maneno ya kawaida ya lugha ya mazungumzo. Pseudocode hii inasaidia kuwa na picha kamili ya namna programu itakavyofanya kazi kabla ya kuiandika.
Ni muhimu kutengeneza picha kamili kichwani ya namna programu itakavyofanya kazi kabla ya kuandika programu yoyote. Hii inasaidia kugundua errors(makosa) za kilogik kabla programu haijaandikwa.
JE WAJUA?
Pseudocode imeundwa na neno pseudo na code. Neno Pseudo lina maana ya inayofanana(LIKE), kwa hiyo pseudocode maana yake ni “Inayofanana na code”
Comments
Post a Comment