Behöver hjälp med en Java-uppgift för nybörjare.

Permalänk

Behöver hjälp med en Java-uppgift för nybörjare.

Hej!
Jag är helt ny inom programmering och har kört fast med en skoluppgift. Skulle vara så tacksam om någon kunde ge mig några tips på hur jag kan lösa uppgiften.

Det här är uppgiften:

• Anta att en viss typ av vattenalger under gynnsamma förhållanden förökar sig så fort att de varje dygn fördubblar den area de täcker.

• Anta vidare att man i en liten sjö råkat få in sådana alger och att de efter en dag täcker en area av 1 dm2, dvs. 0,01 m2.

• Sjön är ungefär 100 gånger 100 m stor, dvs. dess area är 10000 m2.

• Skapa ett program som beräknar hur lång tid det tar innan hela sjön blir täckt med alger.

Hur ska jag gå tillväga tänker ni?

Tacksam för hjälp.

Permalänk
Medlem

Är det inte rätt uppenbart att du måste definiera matten?

Hur gör du uträkningarna för att få fram svaret?

Vilka är variablerna? Datatyper?

Börja med att fundera på det.

Permalänk
Medlem

Matten bakom borde väl vara så att AlgerTotal = (AlgerStart*2)^(AntalDagar).

AlgerStart = 1 dm2. AntalDagar variabeln kan du loopa fram tills att du får AlgerTotal = 10000m2 eller räkna ut det. Oavsett borde det bli 20 dagar (19,93 dagar).

Permalänk
Medlem
Skrivet av Coenic:

Matten bakom borde väl vara så att AlgerTotal = (AlgerStart*2)^(AntalDagar).

AlgerStart = 1 dm2. AntalDagar variabeln kan du loopa fram tills att du får AlgerTotal = 10000m2 eller räkna ut det. Oavsett borde det bli 20 dagar (19,93 dagar).

Matten borde snarare bli AlgerTotal = AlgerStart * (2^AntalDagar)
D.v.s. AntalDagar = log2(AlgerTotal/AlgerStart)

Visa signatur

Laptop: Dell Latitude E7270 | 12,5" FHD IPS | i5-6300U | 16GB RAM | 500GB SSD
Laptop: MacBook Air 13"
NUC: Intel i5-4250U | 8GB RAM | 250GB SSD

Permalänk
Medlem
Skrivet av PeCe:

Matten borde snarare bli AlgerTotal = AlgerStart * (2^AntalDagar)
D.v.s. AntalDagar = log2(AlgerTotal/AlgerStart)

Om det är en uppgift i en Javakurs så ska man nog lösa det iterativt snarare än analytiskt.

Op: Tänk att du har en variabel som motsvarar hur mycket yta algerna täcker, från början satt till utgångsvärdet.
Tänk sedan att du dubblar värdet på den variabeln och kollar om variabeln efter det är större än ytan på sjön.
Givetvis kommer det behövas mer än bara en fördubbling, men du vill fortsätta dubbla så länge det tidigare villkoret inte är uppfyllt. Om detta inte känns bekant så rekommenderar jag att du kollar vad en "while loop" är för något.

Du kommer också behöva en variabel som håller koll på antalet fördubblingar.

Lycka till.

Visa signatur

i5-7600k . GTX 1080 . 16 GB