Skip to content

sommen_van_rijen

Harry Broeders edited this page Dec 30, 2022 · 2 revisions

Sommen van rijen

In de wiskunde kennen we de zogenoemde rekenkundige rij en ook de meetkundige rij. Op deze pagina zijn een aantal Python programmeeropgaven en uitwerking gegeven met betrekking tot het sommeren van deze rijen.

Som van een rekenkundige rij

Schrijf een functie genaamd som_rekenkundige_rij die de som van een rekenkundige rij (zie eventueel Rekenkundige rij - Wikipedia) berekent en teruggeeft. De som Sn van een rekenkundige rij van n getallen met een beginwaarde t1 en een verschil van v is gelijk aan:

Sn = t1 + (t1 + v) + (t1 + 2v) + ... + (t1 + (n - 1)v)

Deze functie heeft de volgende parameters: beginwaarde, verschil enaantal. Deze functie moet als volgt gebruikt kunnen worden:

print(som_rekenkundige_rij(1, 1, 9))

Het correcte antwoord is dan:

45

Oplossing 1: iteratief

def som_rekenkundige_rij(beginwaarde, verschil, aantal):
    som = 0
    for teller in range(aantal):
        som = som + beginwaarde + teller * verschil
    return som

Oplossing 2: Gauss

Bij deze oplossing maken we gebruik van de formule die volgens Rekenkundige rij - Wikipedia vaak aan Gauss wordt toegeschreven:

Sn = nt1 + ½(n-1)nv

def som_rekenkundige_rij(beginwaarde, verschil, aantal):
    return aantal * beginwaarde + 1/2 * (aantal - 1) * aantal * verschil

Som van een meetkundige rij

Schrijf een functie genaamd som_meetkundige_rij die de som van een meetkundige rij (zie eventueel Meetkundige rij - Wikipedia) berekent en teruggeeft. De som Sn van een meetkundige rij van n getallen met een beginwaarde a en een rede r is gelijk aan:

Sn = a + ar + ar2 + ar3 + ... + arn-1

Deze functie heeft de volgende parameters: beginwaarde, rede enaantal. Deze functie moet als volgt gebruikt kunnen worden:

print(som_meetkundige_rij(1, 2, 10))

Het correcte antwoord is dan:

1023

Oplossing 1: iteratief

def som_meetkundige_rij(begin_waarde, rede, aantal):
    som = 0
    for macht in range(aantal):
        som = som + begin_waarde * rede ** macht
    return som

Oplossing 2: formule

Bij deze oplossing maken we gebruik van de formule die gegeven is op Meetkundige rij - Wikipedia:

Sn = a(1-rn)/(1-r)

def som_meetkundige_rij(begin_waarde, rede, aantal):
    return begin_waarde * (1 - rede ** aantal) / (1 - rede)

Clone this wiki locally