• No results found

Worteltrekken Huub de Beer Eindhoven, 4 juni 2011

N/A
N/A
Protected

Academic year: 2021

Share "Worteltrekken Huub de Beer Eindhoven, 4 juni 2011"

Copied!
2
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Worteltrekken

Huub de Beer Eindhoven, 4 juni 2011

Er zijn verschillende methoden om de wortel van een getal uit te rekenen (kijk maar eens ophttp://en.wikipedia.org/wiki/Methods of computing square roots).

Een eenvoudig algoritme is de Babylonische methode:

stap 0 kies een getal w zo dicht mogelijk in de buurt van√

x. w is een benadering van√

x. De getallenlijn ziet er dan ongeveer zo uit:

r 0

r 1

r 2

r

√ x x r w

stap 1 Voeg wx aan de getallenlijn toe. Omdat w een benadering is van√ x geldt dat w + wx ongeveer gelijk is aan x en dat √

x tussen w en wx in ligt.

(Immers√

x +xx = x).

r 0

r 1

r 2

r

√ x x r w

r

x w

wnieuw

Het midden tussen w en wx is een betere benadering van√

x. Noem deze nieuwe benadering wnieuw. Met andere woorden, wnieuw krijgt de waarde

w+wx 2 .

stap 2: Zolang wnieuw geen goede benadering van √

x is, geef w de waarde van wnieuw en herhaal stap 1.

wnieuw is een goede benadering wanneer het verschil tussen wnieuwen√ x voldoende klein is, bijvoorbeeld 0.00001 of nog kleiner. Zo’n klein getal noemen we epsilon, of kortweg . Met andere woorden, als (wnieuw)2−x ≤

 ´en (wnieuw)2− x ≥ −, dan is wnieuw een goede benadering voor√ x.

stap 3: wnieuw is een goede benadering van√ x.

Opgaven

0. Maak een eenvoudig HTML formulier om een getal in te voeren waaruit je PHP script vervolgens de wortel trekt na drukken op de submitknop.

implementeer het hier boven beschreven algoritme in je rekenmachine met behulp van eenwhile-loop.

(a) Wat is een goede beginkeuze voor w?

1

(2)

(b) Welke constanten worden gebruikt?

(c) Wat is de conditie van dewhile-loop?

tip: kijk eens naar de PHP functieabs( $x )

(Zie: http://www.php.net/manual/en/function.abs.php).

(d) Welke variabelen krijgen een nieuwe waarde in de while-loop? Wat zijn hun initi¨ele waarden?

1. Experimenteer met verschillende waarden voor . Wat is het verschil?

2. Is jouw implementatie van worteltrekken beter of slechter dan die van je grafische rekenmachine?

3. Herschrijf dewhile-loop zodat de conditie ervan een enkele Boolean varia- bele is. Waarom zou je eenwhile-loop zo herschrijven?

4. Worteltrekken werkt alleen voor getallen groter of gelijk aan 0. Zorg ervoor dat de gebruiker niet de wortel van een negatief getal kan trekken.

extra:

5. Zoek een algoritme voor het berekenen van de derdemachtswortel en voeg die functionaliteit toe aan je rekenmachine door dat algoritme te imple- menteren.

tip: Het is eenvoudiger om een algoritme te implementeren als dat algo- ritme al in een of andere programmeertaal is uitgewerkt, zelfs als dat niet PHP is.

2

Referenties

GERELATEERDE DOCUMENTEN

Omdat veel mensen geloven dat UFO’s van andere planeten komen, denken zij dat het leven daar moet geëvolueerd zijn, miljoenen jaren voordat leven ‘evolueerde’ hier op aarde..

Sommige mensen geven de voorkeur aan één van deze twee methoden om informatie te krijgen over de aanwezigheid van een erfelijke afwijking bij een embryo. 1p 35 † Aan welke van

4p 10 Bereken op algebraïsche wijze het jaar waarin volgens dit exponentiële model de totale hoeveelheid verbruikte olie de grens van 750 miljard vaten passeerde.. Er zijn in

Wanneer koolstofdioxide door kalkwater wordt geleidt, reageert het met de ionen in de oplossing tot calciumcarbonaat en water. 7 Geef de reactievergelijking van deze reactie

4 In Binas wordt een lagere grenswaarde aangehouden (1 mg·m −3 ), dus mag er volgens Binas minder van in de lucht zitten, dus schat Binas het gas.

Dit kan op twee manieren worden opgelost: een relatietype twee keer verbonden met hetzelfde entiteittype (variant A); of er wordt een nieuw extra entiteittype ge¨ıntroduceerd en

De functie naam ingevuld() retourneert true als $naam ingevuld is, dat wil zeggen dat $naam niet gelijk aan de lege string is.. Is $naam wel gelijk aan de lege string, dan

Volgens [eiseres] hebben de gedragingen van de Staat en de Stichting ertoe geleid dat zij geadopteerd heeft kunnen worden op de door haar gestelde (illegale) wijze, dat zij