Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Problem z doborem warunku instrukcji if

slawcio
-
-
Posty:48
Rejestracja:28 lip 2004, o 13:10
Lokalizacja:Sławatycze
Kontaktowanie:
Problem z doborem warunku instrukcji if

Postautor: slawcio » 2 sie 2004, o 10:42

Mam mały problem który polega na tym że chciałbym aby instrukcja if sprawdzała czy c=9,19,29 itd. aż do 19999 i jesli któryś z tych warunków jest prawdziwy to ma zmienić stan portu portd.5. Skałdnia którą niżej wpisałem działa mi poprawnie ale nie mam zamiaru pisać tego aż do 19999. Jeśli ktoś wie jak to przerobić to prosiłbym o odpowiedź.

Procedura:

Kod: Zaznacz cały

Toggle Portd.6 Incr C If C = 9 or 19 or 29 or 39 Then Toggle Portd.5 Cls Lcd "ZwiekNumer:" Lcd C Return[code] Pozdrawiam
Ostatnio zmieniony 27 mar 2007, o 21:00 przez slawcio, łącznie zmieniany 1 raz.

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 2 sie 2004, o 12:12

Oblicz resztę z dzielenia przez 10 i sprawdź, czy wynosi ona 9.

slawcio
-
-
Posty:48
Rejestracja:28 lip 2004, o 13:10
Lokalizacja:Sławatycze
Kontaktowanie:

jak to zrobić

Postautor: slawcio » 2 sie 2004, o 12:26

Ale jak to zrobić napisz kawałek programu

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 2 sie 2004, o 13:24

If ( c Mod 10 ) = 9 Then ............

slawcio
-
-
Posty:48
Rejestracja:28 lip 2004, o 13:10
Lokalizacja:Sławatycze
Kontaktowanie:

to działa tylko do 99

Postautor: slawcio » 2 sie 2004, o 14:14

Nie wiem czy zauwazyłeś że takie podejści działa tylko do 99, bo jeszcze wtedy reszta z dzielenia przez 10 jest 9 ale póżniej nie ma reszty i to jest problem. Jak by to miało tylko pracować do 99 to przykład który wcześniej przedstawiłem też by działał ale jak to miało by działać do 30000 to mój sposób by wyszedł za długi. Jak ma ktoś jakiś pomysł to proszę o podpowiedź. Ja programuję na 2313 ale rozwiązanie na 2051 też by mnie zadowalało.

Pozdrawiam

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 2 sie 2004, o 14:25

Ty chyba używasz dość osobliwej matematyki, bo na mojej sobronie kiedyś (jak byłem studentem) to było tak, przykładowo:
19999 MOD 10 daje 9,
30000 MOD 10 daje 0,
29999 MOD 10 daje 9,
199999999999999999999999999999999999 MOD 10 też da w wyniku 9.
(mówimy o reszcie z dzielenie).

slawcio
-
-
Posty:48
Rejestracja:28 lip 2004, o 13:10
Lokalizacja:Sławatycze
Kontaktowanie:

Dzięki

Postautor: slawcio » 2 sie 2004, o 14:29

Co się tak wkurzasz

Ja tego jeszcze nie przetestowałem. Tylko tak mi się zdawało. A z tego co piszesz to powinno być dobrze.

Wielkie dzięki.

Pozdrawiam

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 2 sie 2004, o 14:32

Kolego 'slawcio', jestem daleki od stanu o jaki mnie podejrzewasz, po prostu się ubawiłem.

slawcio
-
-
Posty:48
Rejestracja:28 lip 2004, o 13:10
Lokalizacja:Sławatycze
Kontaktowanie:

Postautor: slawcio » 2 sie 2004, o 14:32

Nie wiem czemu ale ja nie zrozumiałem tego jako dzielenia tylko jako odejmowanie i wogóle coś mi się powaliło. Dopiero teraz widzę, że to jest dobre. Czasam się można zamysleć i szukać niewiadomo czego.

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 2 sie 2004, o 14:34

Czasami tak się zdarza, że nie zauważamy najprostszych rozwiązań.

slawcio
-
-
Posty:48
Rejestracja:28 lip 2004, o 13:10
Lokalizacja:Sławatycze
Kontaktowanie:

Postautor: slawcio » 2 sie 2004, o 14:54

To fakt

Ale czasami nawet nie wiemy że takie proste rozwiązania są obok nas.

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 24 gości