Ciąg arytmetyczny x,y,n

Ciąg arytmetyczny x,y,n
KL
  • Rejestracja:około 5 lat
  • Ostatnio:około 4 lata
  • Postów:53
0

Hej, mam takie zadanie do zrobienia, ale totalnie nie rozumiem jak mam to zrobić : Skrypt powinien wyświetlić na ekranie ciąg arytmetyczny składający się z N elementów, gdzie pierwszy element ma wartość X, a różnica pomiędzy kolejnymi elementami ciągu wynosi Y.
Napisalem cos takiego, ale pokazuje mi undefined w zmiennych

Kopiuj
let n;
let x;
let y;
console.log("Wyrazy ciagu arytmetycznego o roznicy ciagu ",y," i pierwszym wyrazie ",x,":");
while(n>0)
{
    console.log(x +(n>1?", ":""));
    x=x+y;
    n--;
}
stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 9 godzin
1

Bo masz undefined zmienne


λλλ
LukeJL
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 3 godziny
  • Postów:8423
1

KL
  • Rejestracja:około 5 lat
  • Ostatnio:około 4 lata
  • Postów:53
0

@stivens: @LukeJL wiem, wiem, lecz w zadaniu nie mam żadnej wartości żeby zapisać ją w zmiennej i właśnie w tym jest problem. Bo nawet nie ma informacji czy ma ją podać użytkownik

edytowany 1x, ostatnio: KingLoczek
stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 9 godzin
1

function(x,y,n)


λλλ
edytowany 1x, ostatnio: stivens
KL
  • Rejestracja:około 5 lat
  • Ostatnio:około 4 lata
  • Postów:53
0

@stivens: gdzie mam to zastosować, i co to zmienia?

stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 9 godzin
1

λλλ
LukeJL
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 3 godziny
  • Postów:8423
1

W JS zmienne mają wartość undefined, jak nie przypiszesz do nich żadnej wartości.

while(n>0)

czyli undefined > 0, czyli false, czyli ta pętla się nie uruchomi.

x=x+y;

czyli undefined + undefined, czyli NaN

lecz w zadaniu nie mam żadnej wartości żeby zapisać ją w zmiennej i właśnie w tym jest problem. Bo nawet nie ma informacji czy ma ją podać użytkownik

JS to nie WolframAlpha, żeby umiało operować na wartościach abstrakcyjnych, musisz mieć konkretne wartości np.

Kopiuj
let n = 10;
let x = 3;
let y = 2;

KL
  • Rejestracja:około 5 lat
  • Ostatnio:około 4 lata
  • Postów:53
0

@LukeJL:
Właśnie o tym już wiem, że zmienne potrzebują mieć konkretne wartości. Dlatego tego zadania nie rozumiem bo nie ma nigdzie napisane skąd mamy wziąć te wartości do zainicjowania zmiennych. Najwyżej będę się kłócić z nauczycielką, że nie potrafi normalnie zadania napisać

edytowany 1x, ostatnio: KingLoczek
KL
  • Rejestracja:około 5 lat
  • Ostatnio:około 4 lata
  • Postów:53
0

dziękuje wam za pomoc

LukeJL
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 3 godziny
  • Postów:8423
1

Możesz użyć funkcji prompt, wtedy użytkownik będzie musiał wpisać:

Kopiuj
let n =  parseInt(prompt("podaj n", 0));
let x =  parseInt(prompt("podaj x", 0));
let y =  parseInt(prompt("podaj y", 0));

co prawda funkcji prompt raczej się nie używa normalnie (tylko robi się okienka dialogowe w HTMLu), ale do takiego zadania można użyć.
https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt


KL
  • Rejestracja:około 5 lat
  • Ostatnio:około 4 lata
  • Postów:53
0

@LukeJL: Właśnie myślałem nad użyciem tej funkcji

edytowany 1x, ostatnio: KingLoczek
Freja Draco
Freja Draco
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
0
Konrad Zarzecki napisał(a):

@LukeJL:
Dlatego tego zadania nie rozumiem bo nie ma nigdzie napisane skąd mamy wziąć te wartości do zainicjowania zmiennych. Najwyżej będę się kłócić z nauczycielką, że nie potrafi normalnie zadania napisać

Tak, nauczycielka "nie potrafi" :p

Weź sobie rozważ np takie zadanie: Napisz wzór obliczający pole kwadratu o bokach długości X i Y. Wtedy też się będziesz zastanawiać, skąd masz wziąć wartości X i Y?


KL
  • Rejestracja:około 5 lat
  • Ostatnio:około 4 lata
  • Postów:53
0

@Freja Draco: Patrz na to, że sam nie kazałeś mi wyświetlać pola tego kwadratu o tych bokach, a jedynie kazałeś napisać wzór. Ona zaś kazała mi wyświetlić coś czego nie ma, bez żadnej podanej wartości

Freja Draco
Freja Draco
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
1

Masz po prostu napisać uniwersalny skrypt obliczający kolejne wyrazy ciągu arytmetycznego dla zadanych X i Y.
Format wprowadzanych danych nie na tu znaczenia. Napisz sobie funkcję wywoływaną z tymi dwoma parametrami i masz wszystko co trzeba.
A później ją sobie przykładowo wywołaj dla dowolnych wartości.


KL
  • Rejestracja:około 5 lat
  • Ostatnio:około 4 lata
  • Postów:53
0

@Freja Draco: Dobrze, napisałem właśnie funkcję z tymi parametrami co musze i wszystko działa poprawnie. Również dziękuję za pomoc

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.