Wiskundige vereenvoudiging

Moderators: ArcherBarry, Fuzzwood

Reageer
Berichten: 6

Wiskundige vereenvoudiging

Ik moet voor school volgende oefening maken:

Schrijf een ASP.NET webapplicatie voor het berekenen van volgende reeks

y = 1 + x + x2 + x3 + x4 + … + xn

Maak gebruik van het stramien van de oefening FutureValue. Variabelen zijn x (reëel getal) en n (geheel getal). x moet liggen tussen 1.0 en 100.0 en n tussen 0 en 100.

Dus via een textbox moeten ze x en n ingeven. De berekeing voor dit te doen vind ik maar niet zou iemand mij kunnen helpe.

Ik zou dit dan in een methode schrijven iets in de genre van:

return (kapitaal + (kapitaal * intrest / 100));

Maar dit is toch gelijk een ander soort wiskunde iemand hier een oplossing of ervaring mee.

Dank bij voorbaat

Gebruikersavatar
Berichten: 2.609

Re: Wiskundige vereenvoudiging

Ik neem aan dat je een functie hebt.

(pseudocode)

Code: Selecteer alles

function x(n as integer) as real

   'berekeningen die n gebruiken

   return resultaat

end
Dan kan je toch simpel een code in deze vorm gebruiken.

Code: Selecteer alles

dim y as real = 1

for i as integer = 1 to n

   y = y + x(n)

next

Berichten: 6

Re: Wiskundige vereenvoudiging

dus al ik me niet vergis moet dit het resultaat worden:

private integer Resultaat (int x, real n)

{

dim y as real = 1;

dim i as integer;

for i = 1 to n;;

y = y + x( n);

next ;

return y;

}

Gebruikersavatar
Berichten: 2.609

Re: Wiskundige vereenvoudiging

Nee je hebt wel 2 verschillende functies nodig.

1 functie x(n) waarmee je de numerieke rij als het ware definieert en waarmee je dus voor elke n de bijhorende x waarde kan uitrekenen.

Daarnaast heb je ergens anders in je programma die for-lus nodig om y = 1 + "som van die numerieke rij" uit te rekenen.

Wiskundig is er niks aan te vereenvoudigen. Dit is gewoon een simpel programmeer-oefeningetje lijkt me.

Gebruikersavatar
Berichten: 2.609

Re: Wiskundige vereenvoudiging

Iemand wijst me er net op dat je notatie nogal dubbelzinnig is.

Wat is xn juist? Ik ga er van uit dat je een numerieke rij met algemene term gekregen hebt waarvan je de som moet uitrekenen. Is dat wat je nodig hebt of bedoel je eigenlijk gewoon x*n?

Berichten: 6

Re: Wiskundige vereenvoudiging

sorry dat ik wat lastig doe hoor maar ik zit in mijn eerste jaar multimedia en dit programeren is nog zeer nieuw voor mij en verwarrend.

trekt dit er dan al wat meer op :

double y = 1;

int x, n, i;

private int Resultaat (int x, real n)

{

for (i = 1; i <= n; y = y + x^n) ;

return y;

}

private int x(int n)

{

i = x ^ n;

}

wel c# code maar principe blijft hetzelfde hé

Berichten: 771

Re: Wiskundige vereenvoudiging

wat is het nu?

x^n of x*n of xn?

Het principe lijkt me alleszins juist

Berichten: 6

Re: Wiskundige vereenvoudiging

ja dat klopt maar toch heeft het foutmelding :eusa_whistle:

Gebruikersavatar
Berichten: 2.609

Re: Wiskundige vereenvoudiging

Ok ik denk dat ik nu snap wat je bedoelt:

Je hebt dus eigenlijk
\(y = 1 + x^1 + x^2 + ... + x^n = x^0 + x^1 + x^2 + ... + x^n\)
In wiskundige notatie is dat een sommatie:
\(\sum_{i=0}^n x^i\)
Voor dit soort 'problemen' gebruik je dus meestal de for-loop. Je kan ook spelen met while en until loops enzo, maar de for loop is hier het meest geschikt voor.

Het is dus simpel opgelost met:

Code: Selecteer alles

private real Resultaat (real x, int n)

{

   double y = 0;

   for (int i = 0; i <= n; i++)

  y = y + x^i;

   return y;

}
Qua structuur zou het er zo moeten uitzien. De declaratie van variabelen en eventuele typecasting moet je misschien nog verbeteren. Ik heb zelf nooit echt geprogrammeerd in C#.

Je haalt in je post hierboven reals, ints en doubles door elkaar en wijst verkeerde types toe aan de variabelen. Je syntax voor de if-loop lijkt me ook niet helemaal in orde. Als je alles nog niet vanbuiten kent moet je wel in staat zijn van de nodige informatie zelf op te zoeken.

Berichten: 6

Re: Wiskundige vereenvoudiging

Van harte bedankt na enkele aanpassingen werkte het perfect.

Ik zal in de toekomst nog wat meer opzoekwerk doen voor ik vragen zal stellen. Maar ik was in de verkeerde richting aan het zoeken deze middag.

Groetjes

Reageer