Skip to main content

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", &namba1); /* soma integer(tarakimu) */
    
    printf("Andika namba ya pili\n"); /* julisha kuwa namba inatakiwa kuingizwa */
    scanf("%d", &namba2); /* soma integer(tarakimu) */

    jumla = namba1 + namba2; /* hifadhi jibu kwenye jumla */
    
    printf("Jumla ni %d\n", jumla); /* onesha jibu kwenye screen */
    
    return 0; /* Programu imemalizika bila tatizo */
    
} /* Mwisho wa main */

Output
Andika namba ya kwanza
25
Andika namba ya pili
39
Jumla ni 64

#include <stdio.h>
Kama tulivyojadili kabla, stdio.h ni file lenye function za input na output. Katika programu hii tumetumia printf na scanf ambazo zote zipo kwenye hili file, hivyo ni lazima tuliinclude kwenye programu yetu.

/* function main - Hapa ndipo programu inapoanzia kufanya kazi */
Hizi ni comments, kama tulivyosema awali, hazina athari yoyote katika ufanyaji kazi wa programu.

int main(void)
Hapa ndipo programu inaanzia kufanya kazi yake. Kuanza kuandika programu yetu tunafungua mabano kwa alama { na kuyafunga kwa } .

int namba1; /* namba ya kwanza itakayoingizwa */
Hii inaitwa definition, na namba1 inaitwa variable. variable ni sehemu katika memory ya kompyuta ambapo tunaweza kuhifadhi data. Kabla hatujatumia variable flani ni lazima tuitaje(declare) kabla, ili kompyuta ituandalie. Wakati tunaitaja inabidi tuseme kwenye hiyo sehemu ya memory ni aina gani ya data itahifadhiwa, kwa mfano hapa int inamaanisha aina ya data itakayohifadhiwa ni tarakimu(integer). Integer ni namba kamili isiyo na sehemu wala desimali kwa mfano 1, 100 , 123. 1.5 sio integer.
namba1, namba2 na jumla zote ni variable ambazo zinahifadhi data aina ya tarakimu. Kuna aina nyingine za data katika C, kwa mfano kuhifadhi desimali tunatumia float, tutakuja kuziona kwa mapana zaidi.
vile vile hizi definitions tatu, tungeweza kuziandika hivi
int namba1, namba2, namba3;
Jina la variable kwenye C linaundwa na muunganiko wa herufi, namba na _(mstari chini - underscore), lakini halitakiwi kuanza na namba. Hivyo namba1 ni jina sahihi la variable lakini 1namba sio sahihi. Pia C ipo case-sensitive kwa hiyo namba1 na Namba1 ni variable mbili tofauti.

printf(“Andika namba ya kwanza\n”); /* julisha kuwa namba inatakiwa kuingizwa */
Hii inaiambia printf iandike “Andika namba ya kwanza”, kisha cursor ipelekwe kwenye mstari unaofuata.

scanf("%d", &namba1); /* soma integer(tarakimu) */
Hii inasoma data inayoingizwa na mtumiaji. scanf inasoma data inayoingizwa kupitia standard input ambayo kwa kawaida ni keyboard ya kompyuta. scanf inahitaji kujua aina ya data mtumiaji ataingiza na hiyo data ipo kwenye variable ipi. “%d” inatumika kuiambia scanf kwamba, mtumiaji ataingiza data ya aina ya tarakimu. Herufi d inamaanisha decimal integer, kwa maana ni integer iliyo katika base 10. Tusije tukachanganya na desimali. Alama ya % hutumika kama alama maalumu inayoiambia scanf (pia printf) ifanye mbadilisho flani wa data.
Input ya pili kwenye scanf, yaani &namba1 inaiambia scanf ihifadhi hichi kilichobadilishwa kuwa tarakimu kwenye variable namba1. Alama ya & inaitwa address operator kwenye C, kwa maana tukitaka kujua address(sehemu ya memory) ya variable yoyote kwenye programu yetu tutaitumia hii alama. kwa hiyo hizi “%d” na &namba1 zinaiambia scanf isome tarakimu kutoka kwenye keyboard kisha hiyo tarakimu ihifadhiwe kwenye sehemu ya memory ambapo variable namba1 inahifadhiwa.
Programu ikifika kwenye huu mstari wa scanf, programu itasubiri mtumiaji aingize data. Mtumiaji akisha ingiza data anabonyeza ENTER kwenye keyboard ili kuituma kwa kompyuta. Baada ya hapo data aliyoingiza itawekwa kwenye variable namba1. Katika hii programu sehemu yoyote ambayo tutaitumia variable namba1, itatupatia thamani iliyoingizwa na mtumiaji.

printf(“Andika namba ya pili\n”); /* julisha kuwa namba inatakiwa kuingizwa */
Hii inaiambia printf iandike “Andika namba ya pili”, kisha cursor ipelekwe kwenye mstari unaofuata.

scanf("%d", &namba2); /* soma integer(tarakimu) */
Hii inasoma tarakimu kutoka kwa mtumiaji na kuiweka katika variable namba2.

jumla = namba1 + namba2; /* hifadhi jibu kwenye jumla */
Hapa tunaiambia kompyuta ijumlishe kilichopo kwenye variable namba1 na kile cha namba2, kisha jibu lake iliweke(assign) kwenye variable jibu. Hii ni assignment statement. Alama ya sawa sawa (=) kwenye C ni alama ya kuassign(assignment operator). Na sio alama ya kusema vitu viwili vipo sawa kama tulivyozoea katika hesabu. Kwenye C kuna alama ya (==) ambayo ndio ya kulinganisha usawa wa vitu. Kwa kawaida ukokotoaji mwingi kwenye programu unafanyika kwa assingment.

printf(“Jumla ni %d\n”, jumla); /* onesha jibu kwenye screen */
Hii inaiambia printf iandike "Jumla ni " ikifuatwa na tarakimu(integer) ambayo ipo kwenye variable jumla. Alama ya “%d” kwenye printf inamaana kuwa printf itapachika tarakimu kutoka kwenye variable jumla. Kama tunavyoona alama hii imetumika kwenye scanf pia.
Tungeweza kukokotoa ndani ya printf pia bila kuhifadhi jibu kwenye variable jumla, kwa mfano
printf(“Jumla ni %d\n”, namba1 + namba2);

return 0; /* Programu imemalizika bila tatizo */
Hii inarudisha sifuri kwa operating system. Sifuri inaiambia operating system kuwa programu imamalizika bila tatizo lolote.

Comments

Popular posts from this blog

Jinsi ya kuangalia faini za makosa ya barabarani Tanzania

Je ungependa kufahamu namna ya kucheck kama gari yako inadaiwa au haidaiwi? Unaweza kupata taarifa hizi kwa kutumia mtandao kwa wale wenye simu za internet, vile vile unaweza kutumia simu ya kawaida isiyo na internet. Kwa njia ya mtandao Kwa kutumia mtandao tembelea link ifuatayo. http://tms.tpf.go.tz Ukurasa ukifunguka ingiza namba ya gari lako, hapo utaona faini zilizopo katika gari lako. Pia unaweza kuchagua kuingiza namba ya leseni, ili upate faini zilizoandikwa katika leseni yako. Kwa njia ya simu Kwa kutumia simu ya kawaida piga *152*75#  , kisha fuata maelekezo, ukishamaliza utatumiwa ujumbe mfupi wenye taarifa za faini.

Jifunze kutype kwenye kompyuta bila kuangalia keyboard

Je unataka kuongeza ufanisi katika kazi zako za kompyuta? Katika somo hili tutajifunza jinsi ya kutype(kuandika) haraka haraka katika keyboard ya kompyuta bila kuangalia. Kutype haraka katika kompyuta ni ujuzi ambao kila mtu anaweza kujifunza japo wengi hudhani wataalamu wa kompyuta ndio wanafanya mambo hayo. Ni ujuzi rahisi sana kama mtu ni mwenye bidii hata ndani ya mwezi unaweza kujifunza. Kuna usemi usemao mti wa kudakia samaki (fishing rod) ni mwendelezo wa mkono wa mvuvi, kwa maana mvuvi mahiri anaweza kuhisi pindi samaki anapokuwa maaneo ya mti wake. Kama fishing rod ilivyo kwa mvuvi, keyboard ya kompyuta inabidi iwe mwendelezo wa vidole vyako ili uwe mtumiaji wa kompyuta mzuri. Katika keyboard ya kompyuta kila kidole kina sehemu yake na kina sehemu kinaweza kwenda. Kujifunza kutype ni kujifunza namna ya kutumia vidole vyako inavyotakiwa. Katika kutype jambo kubwa la kuepuka ni kuinua mkono ili kufuata kitufe fulani, bila shaka kuna wakati utahitaji kuinua mkono lakini hii...

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 ...