[FLASH] zamiana liczb na system dziesiątkowy
-
- Użytkownik
- Posty: 146
- Rejestracja: 28 paź 2007, o 12:46
- Płeć: Mężczyzna
- Lokalizacja: Piotrków Trybunalski
- Podziękował: 50 razy
[FLASH] zamiana liczb na system dziesiątkowy
Nie pytajcie po co, ale muszę napisać skrypt zamieniający daną liczbę w danym systemie (od 2 do 9) z daną dokładnością po przecinku na system dziesiątkowy. Może ktoś ma gotowy i mógłby podać. Byłoby miło. Pozdrawiam
-
- Użytkownik
- Posty: 6607
- Rejestracja: 16 sty 2007, o 19:42
- Płeć: Mężczyzna
- Podziękował: 119 razy
- Pomógł: 1823 razy
[FLASH] zamiana liczb na system dziesiątkowy
Ogolnie jak chcesz zamienic na dziesietny, to masz wzor:
\(\displaystyle{ \mbox{a_na_{n-1}\ldots a_2a_1}_{(b)}=(a_n\cdot b^{n-1}+a_{n-1}\cdot b^{n-2}+\ldots+a_2\cdot b+a_1\cdot b^0)_{(10)}\\}\)
Czyli np chcemy zamienic liczbe 101 binarna na dziesietny:
\(\displaystyle{ 101_{(2)}=1\cdot 2^2+0\cdot 2^1+1\cdot 2^0=4+0+1=5_{(10)}}\)
Albo 23 piatkowo na dziesienty:
\(\displaystyle{ 23_{(5)}=2\cdot 5^1+3\cdot 5^0=10+3=13}\)
Pozdrawiam.
\(\displaystyle{ \mbox{a_na_{n-1}\ldots a_2a_1}_{(b)}=(a_n\cdot b^{n-1}+a_{n-1}\cdot b^{n-2}+\ldots+a_2\cdot b+a_1\cdot b^0)_{(10)}\\}\)
Czyli np chcemy zamienic liczbe 101 binarna na dziesietny:
\(\displaystyle{ 101_{(2)}=1\cdot 2^2+0\cdot 2^1+1\cdot 2^0=4+0+1=5_{(10)}}\)
Albo 23 piatkowo na dziesienty:
\(\displaystyle{ 23_{(5)}=2\cdot 5^1+3\cdot 5^0=10+3=13}\)
Pozdrawiam.
-
- Użytkownik
- Posty: 146
- Rejestracja: 28 paź 2007, o 12:46
- Płeć: Mężczyzna
- Lokalizacja: Piotrków Trybunalski
- Podziękował: 50 razy
[FLASH] zamiana liczb na system dziesiątkowy
Dzięki za pomoc, ale muszę Ci napisać, ja to wszystko wiem. Wiem jak się zamienia. Ale języki programowania nie są takie,że wystarczy wpisać wzór (nie wątpie w to że jesteś tego świadom). Action script nie jest jakiś super przyjemmny zwłaszcza do takich zadań. I nie wiem jak ten wzór 'ubrać' w składnię Action Scriptu.
Pozdrawiam.
Pozdrawiam.
-
- Użytkownik
- Posty: 21
- Rejestracja: 2 lis 2006, o 17:20
- Płeć: Mężczyzna
- Lokalizacja: Kołobrzeg
- Pomógł: 1 raz
[FLASH] zamiana liczb na system dziesiątkowy
Jak to action script nie jest przyjemny...jest aż za bardzo
Musisz zrobić tak:
Wczytujesz liczbę i system w jakim została podana. Załóżmy, że dane użytkownik wprowadza w pola tekstowe o nazwach pole1 i pole2, leżące na głównej linii czasu.
system = _root.pole1.text;
liczba = _root.pole2.text;
Liczbę musisz traktować jako tekst. Najpierw sprawdzasz ile jest cyfr w liczbie (czyli jak długi jest tekst)
dlugosc = liczba.lenght;
Masz już wszystko co jest potrzebne do obliczeń, więc liczymy:
for(i = dlugosc; i>0; i--)
{
wynik = wynik + (liczba.charAt(i)*system^(i-1));
}
Gotowe. Możliwe że wyrażenie liczba.charAt(i) będizesz musiał przekonwertować na liczbę. W helpie jest napisane jak to zrobić (mi się nie chce zaglądać )
Wszystkie powyższe skrypty powinieneś zamieścić w jakimś przycisku w taki sposób aby wykonywały się po kliknięciu:
on(release)
{
...
}
Wypadało by jeszcze wyprowadzić wynik na jakieś pole tekstowe. Np pole o nazwie tx_wynik
_root.tx_wynik.text = wynik;
Musisz zrobić tak:
Wczytujesz liczbę i system w jakim została podana. Załóżmy, że dane użytkownik wprowadza w pola tekstowe o nazwach pole1 i pole2, leżące na głównej linii czasu.
system = _root.pole1.text;
liczba = _root.pole2.text;
Liczbę musisz traktować jako tekst. Najpierw sprawdzasz ile jest cyfr w liczbie (czyli jak długi jest tekst)
dlugosc = liczba.lenght;
Masz już wszystko co jest potrzebne do obliczeń, więc liczymy:
for(i = dlugosc; i>0; i--)
{
wynik = wynik + (liczba.charAt(i)*system^(i-1));
}
Gotowe. Możliwe że wyrażenie liczba.charAt(i) będizesz musiał przekonwertować na liczbę. W helpie jest napisane jak to zrobić (mi się nie chce zaglądać )
Wszystkie powyższe skrypty powinieneś zamieścić w jakimś przycisku w taki sposób aby wykonywały się po kliknięciu:
on(release)
{
...
}
Wypadało by jeszcze wyprowadzić wynik na jakieś pole tekstowe. Np pole o nazwie tx_wynik
_root.tx_wynik.text = wynik;
-
- Użytkownik
- Posty: 6607
- Rejestracja: 16 sty 2007, o 19:42
- Płeć: Mężczyzna
- Podziękował: 119 razy
- Pomógł: 1823 razy
[FLASH] zamiana liczb na system dziesiątkowy
Action scripta nie pamietam (mialem to bodajze w gimnazjum), wiec napisze jak ja bym to zrobil w jezykach wysokiego poziomu. (Oczywiscie zakladam, ze nie istnieje funkcja, ktora automatycznie konwertuje liczbe na dany system)
1. Jesli liczbe przetrzymujesz w zmiennej typu liczbowego, to przekonwertuj ja na postac ciagu znakow, tzn na np. "123".
2. Policzenie dlugosc tego ciagu znakow da ci zmienna n ze wzoru (ilosc cyfr).
3. Ustawiasz zmienna b na wartosc 1 oraz zmienna wynik na 0.
3. Piszesz petle iterowana n razy.
4. W petli zaczynasz konwertowac od ostatniego znaku w tablicy ('3' z przykladu).
5. Bierzesz ten znak, odejmujesz od niego kod znaku '0' (nie wiem jak z tym jest w AS - normalnie korzysta sie z tablicy ASCII i dlatego trzeba odjac), przemnazasz przez zmienna b. Dosumowujesz wynik rezultatem.
6. Zmienna b przemnazasz przez podstawe systemu (np. b*=5 dla piatkowego).
7. I tak w kolko az nie skoncza ci sie liczby.
8. W zmiennej wynik masz liczbe dziesietna.
Pozdrawiam.
1. Jesli liczbe przetrzymujesz w zmiennej typu liczbowego, to przekonwertuj ja na postac ciagu znakow, tzn na np. "123".
2. Policzenie dlugosc tego ciagu znakow da ci zmienna n ze wzoru (ilosc cyfr).
3. Ustawiasz zmienna b na wartosc 1 oraz zmienna wynik na 0.
3. Piszesz petle iterowana n razy.
4. W petli zaczynasz konwertowac od ostatniego znaku w tablicy ('3' z przykladu).
5. Bierzesz ten znak, odejmujesz od niego kod znaku '0' (nie wiem jak z tym jest w AS - normalnie korzysta sie z tablicy ASCII i dlatego trzeba odjac), przemnazasz przez zmienna b. Dosumowujesz wynik rezultatem.
6. Zmienna b przemnazasz przez podstawe systemu (np. b*=5 dla piatkowego).
7. I tak w kolko az nie skoncza ci sie liczby.
8. W zmiennej wynik masz liczbe dziesietna.
Pozdrawiam.
-
- Użytkownik
- Posty: 146
- Rejestracja: 28 paź 2007, o 12:46
- Płeć: Mężczyzna
- Lokalizacja: Piotrków Trybunalski
- Podziękował: 50 razy
[FLASH] zamiana liczb na system dziesiątkowy
No chłopaki wielkie dzięki za pomoc, o to mi chodziło Rozumiałem całą procedurę ale nie wiedziałem jakich funkcji użyć. Nasz informatyk pokazał inną metodę (on pokazuje kawałek kodu resztę mamy sami przemyśleć) ale ta mi się bardziej podoba No właśnie dla mnie to totalna pomyłka uczyć flasha przez pół roku, zwłaszcza, że jestem na mat-infie On nie robi z nami zadań do matury tylko różne (może i przydatne) rzeczy:)
Pozdrawiam.
PS. a i dodam, że to liceum
Pozdrawiam.
PS. a i dodam, że to liceum
-
- Użytkownik
- Posty: 21
- Rejestracja: 20 paź 2009, o 21:47
- Płeć: Mężczyzna
- Lokalizacja: Łódzkie
- Podziękował: 5 razy
[FLASH] zamiana liczb na system dziesiątkowy
Tutaj mam kod przycisku który zamienia z (10) po przecinku na dowolny:
A tu dowolny na (10) niestety narazie bez przecinków:
PS: Pozdro dla I LO w Piotrkowie
Ukryta treść:
Ukryta treść: