Skip to main content

Posts

Showing posts with the label C

Control structures katika C

Control Structures katika C Katika somo hili tutajifunza vitu au vipande mbali mbali vinavyounda programu kwa ujumla. Kwa kawaida kompyuta inarun programu mstari mmoja baada ya mwingine kwa kufuatana upi umeanza na upi unafuata. Mstari wa kwanza unarun, kisha unaofuatia na kuendelea hadi mwisho wa programu. Ili kuwepo na wigo mpana wa kuunda programu inabidi tuweze kuhama au kuruka mstari mmoja kwenda mwingine kutegemeana na masharti. Hii huwa inaitwa "Transfer of Control". Hapo awali programmers walikuwa wanatumia goto statement, ambayo inaiambia programu iende kwenye mstari fulani kutegemea na sharti fulani. Ilikuja kugundulika kuwa hii goto statement ilisababisha ugumu mkubwa kwa watengenezaji wa programu kwani kwenye programu kubwa ya kiuhalisia unakuta kuna goto nyingi ambapo inafika kipindi inakua vigumu kujua au kukumbuka statement fulani ilikua kwa sababu gani. Katika utafiti uliofanywa na Bohm na Jacopini walifanikiwa kuonesha kuwa programu zinaweza kutenge...

Algorithm na Pseudocode

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 Pika chakula Andaa chakula mezani Nawa mikono Kula Na katika kazi ya kutengeneza juisi, mfano juisi ya nanasi, algorithm inaweza kuwa hivi Osha tunda Menya nanasi Kata vipande vidogo vidogo Weka vipande katika blenda Ongeza maji na sukari Saga mchanganyiko katika blenda Mpangilio katika Algorithm 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 wa...

Maamuzi katika programu - Alama za usawa na uhusiano

Katika somo hili tutajifunza jinsi ya kutumia alama zingine za hesabu katika programu zetu. Tutajifunza alama za aina mbili yaani alama za usawa (Equality Operators) na alama za uhusiano (Relational Operators). Alama hizi ni muhimu kufahamu matumizi yake kwani katika alama tutakazozitumia sana katika programu zetu. Kwa mfano tunataka kutengeneza programu itakayopanga matokeo ya wanafunzi katika grade A, B, C na kuendelea. Ili kujua kama grade ya mwanafunzi ni A, itabidi tucheki kama grade ni kubwa kuliko au sawa na 80 ( grade >= 80). 80 tumeitumia kama mfano tu, bila shaka utatumia namna grade zinavyopangwa katika level flani. Mfano mwingine, tunaweza kutaka kujua wanafunzi wote ambao hawajapata sifuri, katika programu hii tutacheki kama grade sio sawa na sifuri ( grade != 0 ). Jedwali lifuatalo linaonesha alama za usawa. Alama katika hesabu Alama katika C Mfano Maana = == x == y x ni sawa na y ≠ != x != y x sio sawa na y Jedwali ilifuatalo linaonesha ...

Arithmetic katika C

Ni kawaida katika programu kutaka kutumia mlinganyo(equation) au kanuni(formula) flani katika programu yako. Kwa mfano unaweza kuandika programu ya kukokotoa eneo la duara, katika programu hii itabidi uandike kanuni ya eneo la duara, hivyo ni muhimu kufahamu alama tofauti za hesabu zinavyoweza kuandikwa katika programu zetu za C. Jedwali lifuatalo linaonyesha alama katika C na katika aljebra Alama Aljebra C Kujumlisha a + b a + b Kutoa y - x y - x Kuzidisha ab a * b Kugawanya x / y au x ÷ y x / y Baki(Remainder) a mod b a % b Katika jedwali hili utagundua kwamba alama nyingi za kihesabu zinafanana na zile za C, isipokuwa alama mbili za kuzidisha na baki. Kuzidisha katika C kunawakilishwa na alama ya asterisk(*), katika hesabu tukiandika ab, inamaanisha a zidisha na b, lakini katika C tukiandika ab inamaanisha jina la variable ab, hivyo ili kuondoa mgongano wa maana, alama ya asterisk(*) hutumika. Alama ya asilimia(%) inawakilisha baki au salio ...

Programu rahisi ya C: kujumlisha namba mbili

Je unataka kujua namna ya kufanya mahesabu katika programu? Programu yetu ya sasa itaonyesha namna ya kujumlisha namba mbili ambazo mtumiaji atakuwa ameingiza kwa kuandika na keyboard yake. Kama tulivyojifunza hapo awali kuwa stdio.h ni “Standard Input/Output header”, ambalo ni file lenye functions zinazohusiana na input(kuingiza) au output kama vile printf, kwenye somo hili tutajifunza function mpya ya scanf. Kazi ya scanf ni kuchukua/kusoma alichoandika mtumiaji kwa keyboard na kukihifadhi katika kompyuta kwa matumizi ya baadae kwenye programu. Programu ifuatayo inaonyesha kujumlisha tarakimu mbili #include <stdio.h> /* function main - Hapa ndipo programu inapoanzia kufanya kazi */ int main(void) { int namba1; /* namba ya kwanza itakayoingizwa */ int namba2; /* namba ya pili itakayoingizwa */ int jumla; /* variable itakayohifadhi jumla */ printf("Andika namba ya kwanza\n"); /* julisha kuwa namba inatakiwa kuingizwa */ scanf("%d"...

Programu rahisi ya C: kuandika maandishi kwenye screen

Je unataka kuona jinsi programu ya C inavyoandikwa? Katika somo hili tutajifunza machache katika C, kadri tunavyoendelea kujifunza ntaongeza vitu mbali mbali kidogo kidogo, ili na wewe uweze kutafuna uliyojifunza! 1. Kuandika maandishi kwenye screen Programu ifuatayo itakuonyesha namna ya kuandika maandishi kwenye screen #include <stdio.h> /* function main - Hapa ndipo programu inapoanzia kufanya kazi */ int main(void) { printf("Karibu C Programu!\n"); return 0; /* Programu imemalizika bila tatizo */ } /* Mwisho wa main */ Output Karibu C Programu! 1.0. #include <stdio.h> Hii inaiambia C Preprocessor kuweka yaliyomo katika file la stdio.h kwenye hii programu. File la stdio.h yaani standard input/output header lina maelezo ambayo yanasaidia COMPILER kucompile programu yako kama umetumia function zilizomo humo. Kwa mfano printf ni moja ya function ambazo zipo kwenye stdio.h, kuna zingine nyingi tutaendelea kujifunza. function ni kipan...

Jinsi ya kujifunza lugha ya kuprogramu ya C

Je unataka kuwa mtaalamu wa kutengeneza programu za kompyuta? unataka kufahamu njia ya kutimiza lengo lako kirahisi? Waswahili wanasema "Mtaka cha uvunguni sharti ainame" basi ndivyo hivyo hivyo ili kuwa mtaalamu wa kuprogramu inabidi uwe unaandika programu. Ujuzi wowote unaushika vizuri zaidi ukiwa ni mtendaji. Utajifunza mengi sana kwa kuandika programu zaidi ya kusoma C kwenye vitabu na mtandaoni. Hivyo weka bidii kufanya mazoezi tofauti tofauti ya kuprogramu iwe kwenye vitabu au kutengeneza programu ya suluhisho ya matatizo uliyoyaona mtaani, kwenye biashara au sehemu nyingine. Pia wakati unafanya mazoezi haya jitahidi kufuata miongozo ya kuandika programu nzuri yaani GOOD PROGRAMMING GUIDELINES. Kwenye programu zako hakikisha zinasomeka vizuri kwa maana nafasi kati ya maneno au mistari iwe ya kutosha. Pia jitahidi kuweka maoni (COMMENTS) ili iwe rahisi wewe kuelewa au mtu mwingine kuelewa programu yako. Ni kawaida kwa programmer kusahau sehemu flani ya programu yake ...

Historia fupi ya C

Je unataka kujua C ilitokea wapi? na kipindi gani? Lugha ya kuandikia programu za kompyuta ya C ilianzishwa mnamo mwaka 1970 na mbunifu wake Dennis Ritchie. Aliita C kwa sababu kipindi hicho alikuwa akitumia lugha iitwayo B katika kazi zake, hivyo C ilifuata baada ya B. Mbunifu wa C alichukua mazuri ya B na kuyaweka kwenye C, vile vile akaongeza maboresho ambayo kwenye B yalikuwa ni vikwazo. C ilitengenezwa maalum kwa ajili ya kutengenezea OPERATING SYSTEMS kwa kipindi hicho UNIX. Hata mbunifu wa B alipotengeneza B alianza kuitumia kuandikia UNIX OPERATING SYSTEM. C ilikuwa rahisi sana kutumia, hivyo ikaanza kutumika katika matumizi mengine nje ya OPERATING SYSTEMS. Haikuchukua muda mrefu C ikawa lugha maarufu sana duniani kote ya kuandikia programu za kompyuta. Umaarufu wa C ulichangiwa na urahisi wake, ambapo programmer aliweza kufanya chochote alichotaka kirahisi bila kupitia vikwazo vingi. Vile vile programu za kubadilisha C kwenda kwenye MACHINE CODE yaani COMPILER zilipatik...

Jinsi kuprogramu kompyuta kunavyofanya kazi

Je unajiuliza ni namna gani kuprogramu kompyuta kunavyofanya kazi? Leo tutaingia ndani ya kompyuta na kuelewa namna inavyofanya kazi. MACHINE CODE NA ASSEMBLY LANGUAGE Kwanza kabisa inabidi tuelewe kwamba kompyuta inaelewa sifuri na moja au ON na OFF pekee, ambazo huitwa BINARY DIGITS. Mfululizo wa hizi binary digits kwa namna ambayo kompyuta inaelewa huitwa MACHINE CODE yaani lugha ya mashine. Kwa mfano, Kujumlisha kunaweza kuwakilishwa na 1010 kutoa kukawakilishwa na 1011 ufuatao ni mfano wa programu katika MACHINE CODE: 0011 1111 1010 0111 1011 0110 ... na kuendelea sasa huu mfululizo wa haya maelezo (INSTRUCTIONS) ndio unaounda programu ya kompyuta. Lakini kuna tatizo moja ni vigumu sana kuandika programu kwa machine code, yaani kwa sifuri na moja. kutokana na ugumu huu lugha nyingine ambayo ni rahisi kwa mwanadamu iliundwa ambayo ni ASSEMBLY LANGUAGE. Lugha hii inatumia maneno kuwakilisha zile zile binary digits. kwa hivyo badala ya programmer kuandika 1010 anaandika A...