Zalia mifululizo ya kihesabu papo hapo. Weka aya ya kwanza, tofauti ya kawaida, na idadi ya vipindi ili kuunda mifumo ya namba kwa hesabu, fedha, na programu.
Safu ya kihesabu (pia inaitwa mwendelezo wa kihesabu) ni safu ya nambari ambapo tofauti kati ya vipindi zinaibaki sawa. Thamani iliyowekwa hii ni tofauti ya kawaida. Fikiria kama kupanda ngazi—kila hatua juu ni sawa kabisa. Katika safu 2, 5, 8, 11, 14, unazidisha 3 kila wakati, kwa hivyo 3 ni tofauti yako ya kawaida.
Unaposhugulika na masafu ya kihesabu katika uchambuzi wa spreadsheet au programu, utakuja haraka kuona mara ngapi zinatokea—kutoka kwa kuhesabu vipimo hadi projeksoni za kifedha. Hizi ni mojawapo ya vipimo vya msingi ambavyo huonekana kila mahali mara tu unavyojua kuelewa.
Jenereta ya safu ya kihesabu inakuwezesha kuunda masafu kwa kubainisha vigezo vitatu muhimu:
Muundo wa kawaida wa safu ya kihesabu ni: a₁, a₁+d, a₁+2d, a₁+3d, ..., a₁+(n-1)d
Kidokezo cha kitaalamu: Unapochunguza uendeshaji wa safu,anza na mfululizo rahisi kama kihesabu cha kwanza = 0, tofauti sawa = 1 ili uthibitishe mantiki yako ya kuunganisha kabla ya kutumia mifumo mingine.
Kalkuleta huthibitisha uingizaji wako ili kuzuia makosa:
Kosa la kawaida ni kujaribu kutengeneza mifululizo yenye idadi ya vihesabu ya kidesimali kama "vihesabu 10.5"—haifai kimatikali. Kalkuleta itashika hili na kukuambia tumia namba kamili tu. Vile vile, mifululizo mikubwa sana (zaidi ya vihesabu 10,000) inaweza kupunguza kasi ya kuonyesha kivinjari, kwa hivyo kuna kiwango cha juu cha busara.
Formula ya kila kielelezo katika mfuatano wa kihesabu ni ya kushangaza kwa urahisi wake:
Ambapo:
Kwa nini (n-1) na sio tu n? Kwa sababu wakati wewe uko katika nafasi 1, bado haujajumuisha tofauti ya kawaida—bado uko kwenye kielelezo cha kwanza. Katika nafasi 2, umejumuisha mara moja. Katika nafasi 3, mara mbili. Kwa hivyo katika nafasi n, umejumuisha mara (n-1). Hii ni chanzo cha mara kwa mara cha makosa ya off-by-one wakati wa kutekeleza mifuatano katika programu.
Unahitaji kuongeza vielelezo vyote? Kuna formula ya hivyo:
Au kwa njia ya kuelewa vizuri zaidi:
Ambapo:
Muundo wa pili unaonyesha urahisi: unachukua wastani wa kielelezo cha kwanza na cha mwisho, kisha kuzidisha na idadi ya vielelezo. Carl Friedrich Gauss mashuhuri alitumia muelewa huu wakati alikuwa mvulana shuleni kwa haraka kuwa na jumla ya 1 hadi 100 kwa kubaini kuwa kuunganisha vielelezo (1+100, 2+99, 3+98...) kila moja inakuwa 101, na vielelezo 50—kwa jumla ya 5,050.
Hapa inatokea nyuma ya mandhari wakati unazalisha mfuatano:
Mfano wa hatua kwa hatua na a₁ = 5, d = 3, na n = 6:
Matokeo: 5, 8, 11, 14, 17, 20
Hesabuni inatumia hesabu ya kuhifadhi ya kina mbili, yaani inashughulikia nambari kamili na desimali kwa usahihi. Hata hivyo, kuwa makini kuhusu matatizo ya usahihi wa desimali wakati unashughulikia tofauti ndogo sana za desimali juu ya vipimo vingi—kizuizi cha jinsi kompyutainavyowasilisha nambari za desimali.
Jenereta inafanya kazi na nambari safi—bila kitengo. Pembejeo za nambari kamili zinazalisha matokeo ya nambari kamili, wakati pembejeo za desimali zinahifadhi kiwango chao cha usahihi. Mifuatano yenye vipimo elfu inashughulikiwa, ingawa kivinjari chako inaweza kuchukua muda kidogo kuonyesha orodha kubwa sana (sababu nyingine ya kizuizi cha vipimo 10,000).
Elimu na msaada wa kazi za nyumbani bado ndiyo matumizi yanayotawala. Wanafunzi hutumia zana hii kuthibitisha kazi yao na kuelewa uundaji wa mifuatano. Jambo la kushangaza zaidi ni kuona mfuatano kamili ulio wazi—hufanya utambuzi wa mifuatano kuwa wazi zaidi kuliko kufanya kazi kwa mikono.
Modeli ya fedha ndiyo mahali ambapo mifuatano ya kihesabu inavutia. Fikiria kuchangia 25 kila mwezi. Mfuatano (100, 125, 150, 175...) unaonyesha mstari wa akiba kwa mshangao. Vile vile, baadhi ya ratiba za mikopo zinaofuata mifuatano ya kihesabu pale ambapo mahesabu ya riba yapo sawa.
Uchambuzi wa data na udhibiti wa kiwango mara nyingi hujumuisha kulinganisha vipimo vilivyoonekana dhidi ya mifuatano ya mstari wa moja kwa moja. Wakati vifaa vya kiwango vya kiwanda vikirekodi vipimo vya joto kila sekunde 30, unatarajia mfuatano wa kihesabu wa muda. Tofauti yoyote inaashiria tatizo la kipimo.
Maendeleo ya programu hutumia mifuatano ya kihesabu mara kwa mara—kubainisha mifuatano ya array, mzunguko wa iteration, mahesabu ya anwani ya kumbukumbu, na uzalishaji wa data ya jaribio yote yanategemea mfuatano huu. Wakati wa kuandika jaribio la utendaji, kuzalisha mifuatano ya kihesabu ya viwango vya pembejeo (10, 20, 30, 40...) husaidia kubainisha kiwango cha muda cha mstari dhidi ya mrbaa.
Mpangilio wa mradi huwa rahisi zaidi kwa mifuatano ya kihesabu. Je, unahitaji kupanga mikutano ya hali kila wiki 2? Matunzo ya vifaa kila siku 90? Haya ni mifuatano ya kihesabu ya muda. Mfuatano huu hufanya mpangilio wa miezi ijayo kuwa rahisi.
Jambo la kuvutia kuhusu matumizi haya yote ni kwamba yanawakilisha ukuaji au kupungua kwa mstari—hali ambapo kitu kinabadilika kwa kiasi sawa mara kwa mara. Hii tofauti na mifuatano ya kufuatia (kama riba ya ziada) ambapo ungehitaji mfuatano wa zao badala yake.
Wakati mifuatano ya kihesabu isifanye kazi, fikiria:
Mifuatano ya zao kwa ukuaji wa kufuatia—kila sehemu inazidisha kwa kiwango cha kudumu (2, 6, 18, 54...). Hii ndiyo unayohitaji kwa riba ya ziada, ukuaji wa idadi, au mifuatano ya kuenea kwa virusi.
Mifuatano ya Fibonacci ambapo kila sehemu sawa na jumla ya sehemu mbili zilizotangulia (1, 1, 2, 3, 5, 8, 13...). Haya yanazoonekana mara nyingi katika asili na algoritmu za sayansi ya kompyuta.
Mifuatano ya mraba pale ambapo tofauti ya pili inabakia sawa. Ikiwa data yako inaonyesha kasi badala ya mabadiliko ya moja kwa moja, mifuatano ya mraba hufuatilia ukuaji wa kuvunja zaidi kuliko mifuatano ya kihesabu.
Mifuatano ya kihesabu iko miongoni mwa kubuni za kimagharibu za kimatamatheka za ubinadamu. Karatasi ya Papyrus ya Kihesabu ya Rhind (karibu 1650 BCE) inaonyesha Wayahudi wa kale wakitumia mifuatano ya kihesabu kusambaza bidhaa na kuhesabu maeneo. Wababilonia walifanya kazi na haya muundo hata mapema zaidi, karibu 2000 BCE.
Wamagharibu, haswa Wapythagora (karne ya 6 BCE), walishangaa na tabia za namba na kuchunguza mifuatano ya kihesabu kwa undani. Vipengele vya Euclid (karibu 300 BCE) vina vipengele vingi kuhusu mifuatano ya kihesabu ambavyo bado ni muhimu leo.
Hadithi ya mashuhuri ya Gauss iliyotajwa awali—ambapo kijana Carl Friedrich Gauss aliyashirikisha haraka 1 hadi 100—inaonyesha kwa nini haya muundo yalizishangaza wamagharibu. Utunzaji wa formula ya jumla inawakilisha vizazi vya maarifa ya kihesabu yaliyounganishwa katika formula moja.
Wakati wa Enzi ya Dhahabu ya Kiislamu, wamagharibu kama Al-Karaji (karne ya 10) walitengeneza formula za jumla za mifuatano ya kihesabu ambazo zilikuwa zaidi ya zile za Wamagharibu. Mchango huu ulikuwa muhimu kwa msingi wa matematheka za Renaissance na maendeleo ya hesabu.
Katika sayansi ya kompyuta ya kisasa, mifuatano ya kihesabu ina msingi wa dhana kama vile kuhesabu vifungu na uchambuzi wa kina cha maudhui. Kile ambacho Wayahudi wa kale walikitumia kwa hesabu ya kawaida sasa tunakitumia kuchunguza jinsi programu inavyofanya kazi.
Unahitaji kutekeleza uzalishaji wa mfuatano wa kihesabu katika programu yako mwenyewe? Hapa kuna mifano katika lugha za kawaida:
1' Kazi ya Excel VBA ya Uzalishaji wa Mfuatano wa Kihesabu
2Function ArithmeticSequence(firstTerm As Double, commonDiff As Double, numTerms As Integer) As String
3 Dim sequence As String
4 Dim term As Double
5 Dim i As Integer
6
7 sequence = ""
8 For i = 1 To numTerms
9 term = firstTerm + (i - 1) * commonDiff
10 sequence = sequence & "Term " & i & ": " & term & vbCrLf
11 Next i
12
13 ArithmeticSequence = sequence
14End Function
15
16' Matumizi katika seli ya Excel:
17' =ArithmeticSequence(5, 3, 10)
18'
19' Au kupata tu tebu ya nth:
20Function NthTerm(firstTerm As Double, commonDiff As Double, n As Integer) As Double
21 NthTerm = firstTerm + (n - 1) * commonDiff
22End Function
23' =NthTerm(5, 3, 10)
241def generate_arithmetic_sequence(first_term, common_difference, num_terms):
2 """
3 Zalishagenerate mfuatano wa kihesabu.
4
5 Vigezo:
6 first_term: Tebu ya kwanza ya mfuatano
7 common_difference: Tofauti ya mara kwa mara kati ya vipimo
8 num_terms: Idadi ya vipimo vya kuzalisha
9
10 Rudisha:
11 Orodha yenye mfuatano wa kihesabu
12 """
13 sequence = []
14 for n in range(1, num_terms + 1):
15 term = first_term + (n - 1) * common_difference
16 sequence.append(term)
17 return sequence
18
19def nth_term(first_term, common_difference, n):
20 """Hesabu tebu ya nth ya mfuatano wa kihesabu."""
21 return first_term + (n - 1) * common_difference
22
23# Mfano wa matumizi:
24first_term = 5
25common_diff = 3
26num_terms = 10
27
28sequence = generate_arithmetic_sequence(first_term, common_diff, num_terms)
29print("Mfuatano wa Kihesabu:")
30for i, term in enumerate(sequence, 1):
31 print(f"Term {i}: {term}")
32
33# Hesabu tebu maalum
34term_10 = nth_term(first_term, common_diff, 10)
35print(f"\nTebu ya 10 ni: {term_10}")
361function generateArithmeticSequence(firstTerm, commonDifference, numTerms) {
2 /**
3 * Zalishagenerate mfuatano wa kihesabu.
4 * @param {number} firstTerm - Tebu ya kwanza ya mfuatano
5 * @param {number} commonDifference - Tofauti ya mara kwa mara kati ya vipimo
6 * @param {number} numTerms - Idadi ya vipimo vya kuzalisha
7 * @returns {Array} Orodha yenye mfuatano wa kihesabu
8 */
9 const sequence = [];
10 for (let n = 1; n <= numTerms; n++) {
11 const term = firstTerm + (n - 1) * commonDifference;
12 sequence.push(term);
13 }
14 return sequence;
15}
16
17function nthTerm(firstTerm, commonDifference, n) {
18 /**
19 * Hesabu tebu ya nth ya mfuatano wa kihesabu.
20 */
21 return firstTerm + (n - 1) * commonDifference;
22}
23
24// Mfano wa matumizi:
25const firstTerm = 5;
26const commonDiff = 3;
27const numTerms = 10;
28
29const sequence = generateArithmeticSequence(firstTerm, commonDiff, numTerms);
30console.log("Mfuatano wa Kihesabu:");
31sequence.forEach((term, index) => {
32 console.log(`Term ${index + 1}: ${term}`);
33});
34
35// Hesabu tebu maalum
36const term10 = nthTerm(firstTerm, commonDiff, 10);
37console.log(`\nTebu ya 10 ni: ${term10}`);
381public class ArithmeticSequenceGenerator {
2
3 /**
4 * Zalishagenerate mfuatano wa kihesabu.
5 * @param firstTerm Tebu ya kwanza ya mfuatano
6 * @param commonDifference Tofauti ya mara kwa mara kati ya vipimo
7 * @param numTerms Idadi ya vipimo vya kuzalisha
8 * @return Safu ya vipimo vya mfuatano wa kihesabu
9 */
10 public static double[] generateArithmeticSequence(double firstTerm,
11 double commonDifference,
12 int numTerms) {
13 double[] sequence = new double[numTerms];
14 for (int n = 1; n <= numTerms; n++) {
15 sequence[n - 1] = firstTerm + (n - 1) * commonDifference;
16 }
17 return sequence;
18 }
19
20 /**
21 * Hesabu tebu ya nth ya mfuatano wa kihesabu.
22 */
23 public static double nthTerm(double firstTerm, double commonDifference, int n) {
24 return firstTerm + (n - 1) * commonDifference;
25 }
26
27 public static void main(String[] args) {
28 double firstTerm = 5.0;
29 double commonDiff = 3.0;
30 int numTerms = 10;
31
32 double[] sequence = generateArithmeticSequence(firstTerm, commonDiff, numTerms);
33
34 System.out.println("Mfuatano wa Kihesabu:");
35 for (int i = 0; i < sequence.length; i++) {
36 System.out.printf("Term %d: %.2f%n", i + 1, sequence[i]);
37 }
38
39 // Hesabu tebu maalum
40 double term10 = nthTerm(firstTerm, commonDiff, 10);
41 System.out.printf("%nTebu ya 10 ni: %.2f%n", term10);
42 }
43}
44Haya mifano inaonyesha jinsi ya kuzalisha mifuatano ya kihesabu na kuhesabu vipimo maalum kwa kutumia lugha mbalimbali za programu. Kila utekelezaji unafuata formula sawa ya kihesabu na inaweza kukabidhiwa kwa urahisi kulingana na mahitaji yako maalum au kuunganishwa katika programu kubwa zaidi.
Kuhesabu kwa moja: a₁ = 1, d = 1, n = 10 → Matokeo: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Kuhesabu kwa kuruka: a₁ = 5, d = 3, n = 8 → Matokeo: 5, 8, 11, 14, 17, 20, 23, 26
Mfululizo wa kupunguza: a₁ = 50, d = -5, n = 10 → Matokeo: 50, 45, 40, 35, 30, 25, 20, 15, 10, 5 (Muhimu kwa onyesho la kipimo cha muda au kupunguza bidhaa)
Kupita sifuri: a₁ = -10, d = 4, n = 7 → Matokeo: -10, -6, -2, 2, 6, 10, 14 (Mabadiliko ya joto, mabadiliko ya kimo chini/juu ya kiwango cha bahari)
Usahihi wa desimali: a₁ = 2.5, d = 0.5, n = 6 → Matokeo: 2.5, 3.0, 3.5, 4.0, 4.5, 5.0 (Vipimo vya sayansi, mahesabu ya fedha)
Mfululizo wa mara moja: a₁ = 7, d = 0, n = 5 → Matokeo: 7, 7, 7, 7, 7 (Halali kiufundi—tofauti ni sifuri kabisa)
Mpango wa kuokoa kila mwezi: a₁ = 100, d = 25, n = 12 → Matokeo: 100, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350, 375 (Mwezi wa kwanza okoa 25 kila mwezi)
Ratiba ya mikutano: a₁ = 9.0, d = 1.5, n = 5 → Matokeo: 9.0, 10.5, 12.0, 13.5, 15.0 (Mikutano saa 9:00 AM, 10:30 AM, 12:00 PM, 1:30 PM, 3:00 PM)
Nambari za shufwa: a₁ = 2, d = 2, n = 10 → Matokeo: 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
Nambari za witiri: a₁ = 1, d = 2, n = 10 → Matokeo: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19
Orodha ya nambari ambapo unazidisha (au kupunguza) kiasi sawa kila wakati. Katika mfululizo 2, 5, 8, 11, unazidisha 3 mara kwa mara—hiyo ndio tofauti yako ya kawaida.
Tumia formula a_n = a₁ + (n-1) × d. Unataka nambari ya 50 ya mfululizo unaoanza na 3 na tofauti ya 7? Hiyo ni 3 + (49 × 7) = 346. Hakuna haja ya kuandika nambari zote 50.
Mfululizo wa kihesabu unazidisha thamani sawa kila wakati (2, 5, 8, 11...). Mfululizo wa kijeometri unazidisha kwa thamani sawa kila wakati (2, 6, 18, 54...). Fikiria kama kuongeza dhidi ya kuzidisha—ukuaji wa mstari dhidi ya ukuaji wa kielelezo.
Kabisa. Viashiria vya kuanza vya kuchezesha na tofauti za kawaida zilizoinuka vinafanya kazi vizuri. Mfululizo -10, -6, -2, 2, 6 ana d = 4. Kiorodeshi kama 100, 90, 80, 70 ana d = -10.
Tumia S_n = n/2 × (a₁ + a_n)—hiyo ni nambari ya vipimo mara ya wastani wa kipimo cha kwanza na cha mwisho. Kwa mfululizo wa 1 hadi 100, hiyo ni 100/2 × (1 + 100) = 5,050. Hii ndiyo njia ambayo Gauss alitumia akiwa mtoto.
Mara kwa mara. Hali yoyote ya mabadiliko ya sawa, ya sawa: kuokoa $50 ziada kila mwezi, kupanga matukio kila masaa 2, kupima joto kila dakika 30, au kupanga malipo yanayoongezeka kwa kiasi cha maalum.
Ndiyo, kipimo cha kwanza na tofauti ya kawaida zinakubali desimali. Mfululizo 2.5, 3.0, 3.5, 4.0 (d = 0.5) ni halali kabisa. Hii inakuja mara nyingi katika vipimo vya sayansi na mahesabu ya fedha.
Punguza kipimo fulani na kipimo kijacho: d = a₂ - a₁. Katika mfululizo 7, 12, 17, 22, unapata 12 - 7 = 5, kwa hivyo d = 5. Kagua kwa kuthibitisha kuwa 17 - 12 pia sawa na 5.
Kihesabaji kinasaidia hadi vipimo 10,000. Zaidi ya hapo, utendaji wa kubainisha kivinjari unakuwa tatizo. Kwa maombi mengi ya praktiki, huna haja ya zaidi ya vipimo vichache mia.
Gundua zana zaidi ambazo zinaweza kuwa na manufaa kwa mtiririko wako wa kazi