1. Utangulizi
Katika programu, miundo ya kurepeat ni muhimu kwa kutekeleza kazi kwa ufanisi. Katika lugha ya C, kuna aina kadhaa za mikondo, na miongoni mwao, mkondo wa while ni bora wakati idadi ya mara za kurudia haijulikani mapema. Nakala hii inaeleza misingi na matumizi ya vitendo ya mkondo wa while katika C, kwa njia inayoeleweka kwa urahisi hata kwa wanaoanza. Kupitia mifano halisi ya code, utajifunza faida za mikondo ya while na jinsi ya kuitumia katika miradi yako mwenyewe.
2. Mkondo wa while Katika C Ni Nini?
Mkondo wa while ni muundo wa udhibiti ambao unarudia kutekeleza kuzuia code mradi sharti lililotajwa linabaki kweli. Wakati sharti linakuwa buzuri, mkondo unaacha. Mfano ufuatao unaonyesha syntax ya msingi ya mkondo wa while.
int i = 0;
while (i < 10) {
    printf("The value of i is: %dn", i);
    i++;  // Increment the counter
}
Katika mfano huu, thamani ya i inachapishwa mara kwa mara mradi iko chini ya 10. Mara i inapofikia 10, mkondo unaisha. Mkondo wa while ni muhimu hasa wakati idadi ya mara za kurudia haijulikani mapema, kwani inaruhusu kurudia kwa nguvu kulingana na masharti.
3. Wakati wa Kutumia Mkondo wa while
Mkondo wa while ni muhimu hasa wakati idadi ya mara za kurudia haijulikani mapema. Ni kamili kwa hali kama kusubiri mtumiaji kuandika “exit” au kuangalia mara kwa mara ingizo kutoka kwa sensor ya nje. Mfano ufuatao unaonyesha programu inayokubali nambari kutoka kwa mtumiaji hadi nambari hasi iingizwe.
int value = 0;
while (value >= 0) {
    printf("Please enter a number: ");
    scanf("%d", &value);
    printf("You entered: %dn", value);
}
Programu hii inaendelea kukimbia mradi mtumiaji anaingiza nambari isiyo hasi. Mara thamani hasi iingizwa, mkondo unaisha. Katika hali ambapo idadi ya mara za kurudia haiwezi kutabiriwa, mkondo wa while hutoa suluhisho lenye unyumbufu mkubwa.
4. Makosa ya Kawaida na Mikondo ya while
Kimoja ya makosa ya kawaida zaidi wakati wa kutumia mkondo wa while ni kuunda mkondo usioisha. Hii hutokea wakati sharti la kutoka la mkondo halijawahi kukidhiwa. Hii ni mfano wa kawaida:
int i = 0;
while (i < 10) {
    printf("The value of i is: %dn", i);
    // Forgot to increment i!
}
Katika code hii, thamani ya i haibadiliki kamwe, hivyo sharti i < 10 linabaki kweli milele. Kama matokeo, mkondo unaendesha bila mwisho na hauendi kamwe. Mikondo isiyoisha inaweza kuweka mzigo mzito kwenye mfumo wako, hivyo ni muhimu kuhakikisha daima kwamba sharti la kutoka litakidhiwa hatimaye.

5. Mifano ya Vitendo ya Mikondo ya while
Tuchukue muangalia mifano michache ya ulimwengu halisi inayotumia mikondo ya while.
Mfano 1: Kurudia Ingizo la Mtumiaji
Programu hii inaendelea kumtia mtumiaji ujumbe hadi waandike “終了” (ambayo inamaanish “exit” katika Kijapani).
char input[50];
while (strcmp(input, "終了") != 0) {
    printf("Enter a message (type 終了 to quit): ");
    scanf("%s", input);
    printf("You entered: %sn", input);
}
Mfano 2: Ongezeko Lililorudiwa
Programu hii inaendelea kuongeza nambari hadi jumla ipite 100.
int sum = 0;
int num = 1;
while (sum < 100) {
    sum += num;
    num++;
    printf("Current total: %dn", sum);
}
Mifano hii inaonyesha jinsi mikondo ya while inavyoweza kutumika kufanya kazi zenye unyumbufu na zinazorudiwa kulingana na masharti ya nguvu.
6. Matumizi ya Juu ya Mikondo ya while
Mkondo wa while unaweza pia kutumika katika kazi ngumu zaidi. Mfano ufuatao unatumia mikondo ya while iliyotiwa ndani ili kuchakata array ya pande mbili.
int i = 0, j = 0;
int matrix[3][3] = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};
while (i < 3) {
    j = 0;
    while (j < 3) {
        printf("%d ", matrix[i][j]);
        j++;
    }
    printf("n");
    i++;
}
Msimbo huu unatumia while loops zilizopachikwa ili kuonyesha maudhui ya matrix ya 3×3. Kama unavyoona, while loops ni zana zenye nguvu za kushughulikia miundo ya data ngumu zaidi na michakato.
7. Kulinganisha While Loops na Miundo Mingine ya Loop
C inatoa aina kadhaa za miundo ya loop isipokuwa while loop. Jedwali hapa chini linalinganisha aina za kawaida zaidi na wakati wa kutumia kila moja.
| Aina ya Mzunguko | Kesi Bora ya Utumiaji | Vipengele Muhimu | 
|---|---|---|
| loop wakati | Wakati idadi ya majaribio haijulikani | Inarudiwa wakati hali ni kweli; hali inaguliwa kabla ya kila iteresi | 
| loop ya for | Wakati idadi ya majaribio inajulikana | Inaanzisha, inakagua hali, na inasasisha hesabu katika mstari mmoja. | 
| loop ya do-while | Wakati msimbo unahitaji kukimbia angalau mara moja | Sharti inakathibitishwa baada ya mwili wa loop; inahakikisha utekelezaji wa angalau moja | 
Ulinganisho huu unaweza kukusaidia kuchagua muundo wa loop unaofaa zaidi kulingana na mahitaji maalum ya programu yako.
8. Hitimisho
Katika makala hii, tumechunguza while loop katika lugha ya programu ya C kwa undani. While loops hukuruhusu kutekeleza vitendo vinavyorudiwa kulingana na masharti yanayobadilika na yanayobadilika, na kuifanya iwe sahihi kwa aina nyingi za hali za programu. Lakini kuwa mwangalifu kuepuka loops zisizo na mwisho kwa kuhakikisha masharti yako ya kutoka yamewekwa ipasavyo. Jaribu mifano ya msimbo katika makala hii ili uone nguvu na ubunifu wa while loops mwenyewe, na uimarishe ujuzi wako wa programu katika mchakato!

 
 


