Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz
  • 0

Skrypt liczący silnię oraz skrypt wczytujący liczby


Solymr

Pytanie

Opublikowano

Witam, potrzebuję dwóch skryptów w js:

1)Napisać program obliczający n! (). Zastosować różne instrukcje iteracyjne.
2)Napisać program, który czyta liczby całkowite z klawiatury . Symbolem końca danych jest zero (0). Należy podać ile wczytano liczb parzystych, ile liczb nieparzystych, a także ile wczytano liczb ogółem. Wskazówka : liczby parzyste są podzielne przez 2.

 

Zacząłem coś działać z pierwszym ale nie do końca ogarniam składnię. Co zrobić aby program nie wyświetlał mi litery "n", tylko wartość funkcji n?

<html>
<head>
</head>
<body>

<script type="text/javascript">

var n=prompt("Podaj liczbe:","n")
function silnia(n){
if(!n){ return 1; }
else { return n*silnia(n-1); }
}
 alert (n);

</script>

</body>
</html> 

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

Opublikowano

 

@Solymr właśnie taki jest kod na silnie w js. Dajesz se to w funkcje jakaś z n i wywolujesz normalnie.

Tam zrobiłem błąd bo zamiast 

let i 

powinno być 

let i = 1

Wywoływanie funkcji działa podobnie jak void w c++? Mogę to pominąć i napisać bezpośrednio skrypt? Dodam, że mój poziom znajomości JS jest niemal zerowy. Aktualnie mam problem z wczytaniem od użytkownika liczby i zapisaniem jej do funkcji.

var x = prompt("podaj liczbe:","n");

to poprawna składnia?

Opublikowano

1)

let x = 0
for(let i; i<=n; i++){
x = x*i
}

Aaa. I alert x

Niewiele mi to pomogło, algorytmicznie wiem jak to zrobić, nie potrafię tego wyrazić w JS.

Opublikowano

 

@Solymr tak. Zależy oczywiście od samej funkcji - czy masz return czy go nie masz, czy "wywołujesz" funkcję zapisując ją do zmiennej.

var result = silnia(1)

W przypadku mojego kodu (funkcja) musialbys wtedy dopisac return x; 

 

Co do twojego pytania to ten drugi argument to default'owa wartość. Dodatkowo, dla świetego spokoju, proponuję zamiast  x użyć innej zmiennej, np. liczba. 

function silnia(n){
let x = 0
for(let i; i<=n; i++){
x = x*i
}
return x;
}

var liczba = prompt('podaj liczbe:','1')
alert(silnia(liczba))

 

@Fennec

A więc kod wygląda tak:

<html>
<head>
</head>
<body>

<script type="text/javascript">

function silnia(n){
let x = 0
for(let i; i<=n; i++){
x = x*i
}
return x;
}

var liczba = prompt('podaj liczbe:','1');
alert(silnia(liczba));


</script>

</body>
</html> 

i po odpaleniu, cokolwiek bym nie wpisał, zawsze zwraca 0. Gwoli ścisłości plik index.html odpalany przez firefoxa.

Opublikowano

@Solymr tak. Zależy oczywiście od samej funkcji - czy masz return czy go nie masz, czy "wywołujesz" funkcję zapisując ją do zmiennej.

var result = silnia(1)

W przypadku mojego kodu (funkcja) musialbys wtedy dopisac return x; 

 

Co do twojego pytania to ten drugi argument to default'owa wartość. Dodatkowo, dla świetego spokoju, proponuję zamiast  x użyć innej zmiennej, np. liczba. 

function silnia(n){
let x = 0
for(let i; i<=n; i++){
x = x*i
}
return x;
}

var liczba = prompt('podaj liczbe:','1')
alert(silnia(liczba))

aw

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...