Zadanie z js

0

Stwórz swoją funkcję Math.pow w wersji polskiej! Stwórz obiekt Licz, następnie metodę potega. Pamiętaj!

  • skrypt wczytuje dwie liczby całkowite a oraz b (a!=0) a następnie liczy i wypisuje wartość potęgi a^b ( nie używamy instrukcji Math.pow )

No więc mam coś takiego nie wiem czy dobrze:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Liczenie potęg</title>
        <script>
           function Licz();{
                this.potega = potega;
            }
            var potega = a^b;
            var a = prompt("Jaką liczbę chcesz potęgować?");
            var b = prompt("Do jakiej potęgi mam podnieść twoją liczbę?");
            if(a != 0){
                alert("Zła wartość!");
            }

            Licz();
            document.write("Wynikiem będzie wartość " + potega + "!");
        </script>
    </head>
</html>```

Jakieś podpowiedzi? Co robię źle albo co zmienić??
1
YourNextLineIs napisał(a):

Jakieś podpowiedzi? Co robię źle albo co zmienić??

Stwórz obiekt Licz, następnie metodę potega

3
  1. function Licz();{ co to za ;?
  2. Potęga ma być metodą, a jest zmienną.
  3. Licz ma być obiektem, a nie funkcją.
  4. Korzystaj z consoli. Przecież tam wszystko pisze - zakładam, że tam masz sporo errorów.
3

Musisz utworzyć obiekt, a nie funkcję:

const Licz = {
    potega: function(a, b) {
        return a ** b;
    }
};

Dodatkowo, dla tego języka operatorem potęgi są dwie gwiazdki (podstawa ** wykładnik).

Pamiętaj, że window.prompt zwraca ciąg znaków, a nie liczbę. Zgodnie z zadaniem powinny być one przekonwertowane do typu liczb całkowitych:

let a = parseInt(prompt("Jaką liczbę chcesz potęgować?"));
let b = parseInt(prompt("Do jakiej potęgi mam podnieść twoją liczbę?"));

Warto także zastosować interpolację – nie będzie trzeba bawić się z plusami:

document.write(`Wynikiem będzie wartość ${potega}!`);

Dlaczego negujesz podstawy potęgi różne od 0?

if(a != 0) {
    alert("Zła wartość!");
}

Zbędny if.

2

nie używamy instrukcji Math.pow

       return a ** b;

Podejrzewam że tu chodziło nauczycielowi by to w pętli zrobić albo rekurencyjnie...

1
hzmzp napisał(a):

Podejrzewam że tu chodziło nauczycielowi by to w pętli zrobić albo rekurencyjnie...

To niech szanowny pan nauczyciel jasno napisze o co mu chodziło. Operator potęgowania jest w JS od 4 lat, może najwyższy czas zaktualizować plan nauczania.

2
mechanix napisał(a):
hzmzp napisał(a):

Podejrzewam że tu chodziło nauczycielowi by to w pętli zrobić albo rekurencyjnie...

To niech szanowny pan nauczyciel jasno napisze o co mu chodziło. Operator potęgowania jest w JS od 4 lat, może najwyższy czas zaktualizować plan nauczania.

Koleś ma program nauczania i powinien się do niego stosować, jeżeli chce zaliczyć. Jak zna tricki to może je zastosować, z adnotacją że można to zrealizować na inne sposoby (jako ciekawostkę). Zauważ że większość nauczycieli to jednak stare pokolenie lecące z podręcznika z przed 20 lat...

1 użytkowników online, w tym zalogowanych: 0, gości: 1