Repeat czy coś innego?

0

Witam!!!
Trochę za długo dzisiaj siedzę przed kompem, i to chyba z tego powodu nie mogę przełamać pewnego myślenia nad problemem. Potrzebuję, żeby ktoś spojrzał na to z innej strony. Czyli tak...

robię pętlę

repeat

oblicza pewne liczby, np.

x:=...coś tam, coś tam....
y:=też coś tam....
z:=coś tam....

Jakieś K:=....(na podstawie np. "z")

i teraz chodzi mi o to, żeby program to powtarzał do momentu, aż:

until

//Różnica "z" 1 pętli oraz "z" z kolejnej była mniejsza niż: coś tam...
Wtedy może już przestać liczyć....

Ale mi to nie wychodzi, bo ta różnica wychodzi zawsze zerowa...a tak w rzeczywistości nie jest....

Jak komuś się chce pomóc, to będę wdzięczen.

Dzięki i pozdrowion....

0

musisz z z poprzedniej pętli zachowywać w jakiejś innej zmiennej i dopiero sprawdzać różnicę (o ile dobrze zrozumiałem, jeśli natomiast chodzi Ci o to że te różnice są bardzo małe to nie wiem ;] ostatnio coś robiłem podobnego i bawiłem się funkcją IsZero ...)

0

musisz z z poprzedniej pętli zachowywać w jakiejś innej zmiennej i dopiero sprawdzać różnicę

ale to chyba na jedno wyjdzie....?

Przypuśćmy, że:
z pierwszej pętli:
z:=100
Zapisuję to w innej zmiennej:
np. z1:=z czy tak?
.
.
.
until
z1-z ? to znowu się zzeruje, a tu chodzi o to, żeby te "z" było z poprzedniej, a z1 z kolejnej pętli

Jakoś się nie mogę przełamać...

Aaa, chyba, że jakoś tak zapisywać, żeby za każdym razem te "z" było czymś innym i wtedy wykonywać różnice,

Czyli najpierw jest "z" w drugiej te samo "z" jest już jako "z1", w trzeciej "z2" itd...
Tylko jak to wykonać w praktyce?

Dzięki za odpowiedź.

0

Wydaje mi się, z tego co zrozumiałem, że powinieneś jedną pętlę umieścić w drugiej, tak aby program porównywał wartości równocześnie dla z i z1. Sprawdź, może to pomoże, a może nie, nie wiem dokładnie czy o to ci chodziło.

0

faktycznie za długo siedzisz dzisiaj przed kompem : ) Dam Ci dobrą radę : teraz idź spać a jutro zrobisz to 10 razy efektywniej i 10 razy efektowniej : )

0

Może w taki sposób

i:=1;
repeat
i:=i+1
z:=z*i;
until z

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