Kurzusok
/
Pharo
Pharo
/
Feladatok
/
Gabonaszemek
Gabonaszemek

Gabonaszemek

Könnyű

Bevezetés

Volt egyszer egy bölcs szolga, aki megmentette egy herceg életét. A király megígérte, hogy megadja neki mindazt, amit a szolga csak kigondol. A szolga tudta, hogy a király szeret sakkozni, ezért azt kérte tőle, hogy búzaszemeket kapjon. Egy szem a sakktábla első mezőjén, a szemek száma pedig minden következő mezőn megduplázódik.

Utasítások

Számítsd ki, hány búzaszem van egy sakktáblán.

A sakktábla 64 mezőből áll. Az 1. mezőn egy szem van, a 2. mezőn kettő, a 3. mezőn négy, és így tovább, minden mezőn megduplázódik a szemek száma.

Írj kódot, amely kiszámítja:

  • az adott mezőn lévő szemek számát
  • a sakktáblán lévő szemek összes számát

Megjegyzés

Az ilyen jellegű feladatokat (ahol egy válasz egy korábbitól függ) gyakran rekurziónak nevezik. A rekurziót többféleképpen is meg lehet írni, és ha nem vagy vele ismerős, érdemes lehet utánaolvasni. A Pharo jól optimalizált a rekurzióra, és ez egy gyakran használt minta.

Megjegyzés: az eredeti feladatspecifikációban a grainsCalculator a #square üzenettel hívható meg, mi azonban átneveztük ezt a metódust #atSquare:-ra, ami egy sokkal Smalltalkosabb név, és jobban leírja, hogy egy adott mezőnél kérsz választ.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Pharo Exercism

Készen állsz elkezdeni a(z) Gabonaszemek feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Pharo nyelvet 50 feladat segítségével, valódi emberi mentorálással, mindez ingyen.