eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingkodowanie
Ilość wypowiedzi w tym wątku: 39

  • 21. Data: 2010-11-05 10:07:12
    Temat: Re: kodowanie
    Od: "identifikator: 20040501" <N...@g...pl>

    >>> indeks_cyfry = 0;
    >>> while (liczba != 0) {
    >>> cyfry[indeks_cyfry++] = liczba % podstawa_systemu;
    >>> liczba = liczba / podstawa_systemu;
    >>> }

    uderz w stół - już jakiś doktorkowy kretyn zadał zadanie abiturientom
    związane z tym algorytmem - widzę po aukcjach na zleceniach...

    czy ten algorytm sygnowany jest jakimś nazwiskiem odkrywcy?
    bardzo ciekawi mnie jak można matematycznie wyprowadzić ten algorytm?
    może Ktoś zna jakąś stronkę?


  • 22. Data: 2010-11-05 12:52:22
    Temat: Re: kodowanie
    Od: qwak <q...@w...pl>

    W dniu 05.11.2010 11:07, identifikator: 20040501 pisze:
    >>>> indeks_cyfry = 0;
    >>>> while (liczba != 0) {
    >>>> cyfry[indeks_cyfry++] = liczba % podstawa_systemu;
    >>>> liczba = liczba / podstawa_systemu;
    >>>> }
    >
    > uderz w stół - już jakiś doktorkowy kretyn zadał zadanie abiturientom
    > związane z tym algorytmem - widzę po aukcjach na zleceniach...
    Nie bardzo rozumiem dlaczego "doktorkowy kretyn"? Sam czasami prowadzę
    zajęcia ze studentami i uważam to zadanie za całkiem sensowne (z
    dydaktycznego pkt. widzenia... składnia do przemyśleń o systemach
    liczbowych, itp.).
    Oczywiście postępowanie osób które idą na studia po to aby jakoś tylko
    wszystko pozaliczać (najlepiej w ogóle nic nie robiąc - oprócz szukania
    "pomocy" i gotowców), jest już w mojej opinii znacznie mniej sensowne.

    > czy ten algorytm sygnowany jest jakimś nazwiskiem odkrywcy?
    nie wiem, możliwe, być może jakiegoś od dawna nie żyjącego matematyka

    > bardzo ciekawi mnie jak można matematycznie wyprowadzić ten algorytm?
    Bardzo łatwo, w systemie o podstawie P wartość liczby o cyfrach (od
    najmniej znaczącej) c_1, c_2, ... c_N wynosi:
    c_1 + c_2 * P + c_3 * P^2 + ... + c_N * P^(N-1)
    Reszta z dzielenia powyższej liczby przez P to oczywiście c_1, zaś
    całość z dzielenia przez P wynosi:
    c_2 + c_3 * P + ... + c_N * P^(N-2)
    teraz reszta z dzielenia przez P to c_2, zaś całość... itd.

    --
    Piotr Beling - http://qwak.w8.pl http://warcaby.w8.pl http://bcalc.w8.pl
    http://kiedygdzie.co


  • 23. Data: 2010-11-05 13:08:25
    Temat: Re: kodowanie
    Od: "identifikator: 20040501" <N...@g...pl>

    BIG THANKS Cię się należy!


  • 24. Data: 2010-11-05 13:35:27
    Temat: Re: kodowanie
    Od: Grzegorz Krukowski <r...@o...pl>

    On Fri, 5 Nov 2010 11:07:12 +0100, "identifikator: 20040501"
    <N...@g...pl> wrote:

    >>>> indeks_cyfry = 0;
    >>>> while (liczba != 0) {
    >>>> cyfry[indeks_cyfry++] = liczba % podstawa_systemu;
    >>>> liczba = liczba / podstawa_systemu;
    >>>> }
    >
    >uderz w stół - już jakiś doktorkowy kretyn zadał zadanie abiturientom
    >związane z tym algorytmem - widzę po aukcjach na zleceniach...
    Tak przejżałem Twoje inne wypowiedzi i ty jesteś z tych ,,genialnych
    praktyków'' co im system edukacji zaszkodził.
    >
    >czy ten algorytm sygnowany jest jakimś nazwiskiem odkrywcy?
    >bardzo ciekawi mnie jak można matematycznie wyprowadzić ten algorytm?
    >może Ktoś zna jakąś stronkę?

    Wynika wprost z budowy systemu pozycyjnego. Każda liczba jest sumą
    takich elementów:

    stała*podstawa^pozycja

    gdzie stała jest od 0 do pozycja (dla 10ego 0-9),
    podstawa to wiadomo (10 dla 10ego),
    pozycja to rząd, liczony od zera.

    I tak liczba 1856 to w systemie 10tnym:
    1*10^3 + 8*10^2 + 5*10^1 + 6*10^0

    Do tego zachodzi zawsze taka właściwość że suma składników od rzędu
    zerowego do n-1 jest zawsze mniejsza od liczby podstawa^n.

    Praktycznie używane to jest przy dzieleniu modulo i z resztą:
    1856 podzielić przez 10 da nam 1 i reszty 856

    |- wynik dzielenia całkowitego
    |
    1*10^3 + 8*10^2 + 5*10^1 + 6*10^0
    ------------------------ to jest reszta z dzielenia


    Aby przeliczyć na innę podstawę to musisz:

    wyliczyć maksymalny rząd liczby ze wzoru
    log_nowa_podstawa(liczba) - za rząd przyjmujemy największą
    liczbę całkowitą nie większą niż wartość tego logarytmu
    log_7(1856)= 3,86, czyli rząd 3

    i teraz iteracyjnie
    1856 / 7^3 -> 5 reszty 141
    141 / 7^2 -> 2 reszty 43
    43 / 7^1 -> 6 reszty 1
    1 / 7^0 -> 1 reszty 0

    Tak więc 1856 dziesiętnie to 5261 siódemkowo

    1*10^3 + 8*10^2 + 5*10^1 + 6*10^0 = 5*7^3 + 2*7^2 + 6*7^1 + 1*7^0

    Gdybyś zaczął od rzędu drugiego, czyli:

    1856 / 7^2 -> 37 reszty 43

    to jeżeli wynik dzielenia całkowitego jest większy niż podstawa-1 to
    zacząłeś od zbyt niskiego rzędu.

    Ta zasada jest na pewno poprawna dla podstaw będących liczbą
    naturalną, czy dla innych - nie wiem.
    --
    Grzegorz Krukowski


  • 25. Data: 2010-11-05 14:05:20
    Temat: Re: kodowanie
    Od: "identifikator: 20040501" <N...@g...pl>

    mam jeszcze pytanie,
    jak "to coś" się formalnie nazywa?
    kodowanie, reprezentacja, system?
    chciałem wrzucić na swoją stronkę, ale potrzebna nazwa...


  • 26. Data: 2010-11-05 14:07:13
    Temat: Re: kodowanie
    Od: Grzegorz Krukowski <r...@o...pl>

    On Fri, 5 Nov 2010 11:07:12 +0100, "identifikator: 20040501"
    <N...@g...pl> wrote:

    >>>> indeks_cyfry = 0;
    >>>> while (liczba != 0) {
    >>>> cyfry[indeks_cyfry++] = liczba % podstawa_systemu;
    >>>> liczba = liczba / podstawa_systemu;
    >>>> }
    >
    >uderz w stół - już jakiś doktorkowy kretyn zadał zadanie abiturientom
    >związane z tym algorytmem - widzę po aukcjach na zleceniach...
    >
    >czy ten algorytm sygnowany jest jakimś nazwiskiem odkrywcy?
    >bardzo ciekawi mnie jak można matematycznie wyprowadzić ten algorytm?
    >może Ktoś zna jakąś stronkę?
    --
    Grzegorz Krukowski


  • 27. Data: 2010-11-05 14:18:42
    Temat: Re: kodowanie
    Od: Grzegorz Krukowski <r...@o...pl>

    On Fri, 5 Nov 2010 11:07:12 +0100, "identifikator: 20040501"
    <N...@g...pl> wrote:

    >>>> indeks_cyfry = 0;
    >>>> while (liczba != 0) {
    >>>> cyfry[indeks_cyfry++] = liczba % podstawa_systemu;
    >>>> liczba = liczba / podstawa_systemu;
    >>>> }
    >
    >uderz w stół - już jakiś doktorkowy kretyn zadał zadanie abiturientom
    >związane z tym algorytmem - widzę po aukcjach na zleceniach...
    Tak przejżałem Twoje inne wypowiedzi i ty jesteś z tych ,,genialnych
    praktyków'' co im system edukacji zaszkodził.
    >
    >czy ten algorytm sygnowany jest jakimś nazwiskiem odkrywcy?
    >bardzo ciekawi mnie jak można matematycznie wyprowadzić ten algorytm?
    >może Ktoś zna jakąś stronkę?

    (! Poprawiłem bo pomieszałem oznaczenia gdzieniegdzie)

    Wynika wprost z budowy systemu pozycyjnego. Każda liczba jest sumą
    takich elementów:

    stała*podstawa^rząd

    gdzie stała jest od 0 do podstawa-1 (dla 10ego 0-9),
    podstawa to wiadomo (10 dla 10ego),
    rząd, liczony od zera, najbardziej prawa cyfra ma rząd zero,
    liczba n cyfrowa ma rząd n-1

    I tak liczba 1856 to w systemie 10tnym:
    1*10^3 + 8*10^2 + 5*10^1 + 6*10^0

    Do tego zachodzi zawsze taka właściwość że suma składników od rzędu
    zerowego do n-1 jest zawsze mniejsza od liczby podstawa^n.

    Praktycznie używane to jest przy dzieleniu modulo i z resztą:
    1856 podzielić przez 10^3 (1000) da nam 1 i reszty 856

    |- wynik dzielenia całkowitego
    |
    1*10^3 + 8*10^2 + 5*10^1 + 6*10^0
    ------------------------ to jest reszta z dzielenia


    Aby przeliczyć na innę podstawę to musisz:

    wyliczyć maksymalny rząd liczby ze wzoru
    log_nowa_podstawa(liczba) - za rząd przyjmujemy największą
    liczbę całkowitą nie większą niż wartość tego logarytmu
    log_7(1856)= 3,86, czyli rząd 3

    i teraz iteracyjnie
    1856 / 7^3 -> 5 reszty 141
    141 / 7^2 -> 2 reszty 43
    43 / 7^1 -> 6 reszty 1
    1 / 7^0 -> 1 reszty 0

    Tak więc 1856 dziesiętnie to 5261 siódemkowo

    1*10^3 + 8*10^2 + 5*10^1 + 6*10^0 = 5*7^3 + 2*7^2 + 6*7^1 + 1*7^0

    Gdybyś zaczął od rzędu drugiego, czyli:

    1856 / 7^2 -> 37 reszty 43

    to jeżeli wynik dzielenia całkowitego jest większy niż podstawa-1 to
    zacząłeś od zbyt niskiego rzędu.

    Ta zasada jest na pewno poprawna dla podstaw będących liczbą
    naturalną, czy dla innych - nie wiem. I czy poprawnie używam nazwy
    rząd.
    --
    Grzegorz Krukowski


  • 28. Data: 2010-11-05 14:30:10
    Temat: Re: kodowanie
    Od: "identifikator: 20040501" <N...@g...pl>

    dzięki,
    ale naszły mnie pewne wątpliwości, jak na przykład zamienić liczbę w
    systemie dziewiątkowym (1-8) na piątkowy (1-4)?

    muszę się nad tym jeszcze pozastanwaiać, chyba, że Ktoś wklei gotowca?


  • 29. Data: 2010-11-05 14:44:34
    Temat: Re: kodowanie
    Od: qwak <q...@w...pl>

    W dniu 05.11.2010 15:30, identifikator: 20040501 pisze:
    > dzięki,
    > ale naszły mnie pewne wątpliwości, jak na przykład zamienić liczbę w
    > systemie dziewiątkowym (1-8) na piątkowy (1-4)?
    chyba (0-8) i (0-4)

    Na ogół komputery liczą w systemie 2-kowym.
    Więc dobrze jest dokonać 2ch konwersji:
    1) dziesiątkowy -> dwójkowy (czyli wczytać do zmiennej liczbowej)
    2) dwójkowy -> piątkowy

    >
    > muszę się nad tym jeszcze pozastanwaiać, chyba, że Ktoś wklei gotowca?
    >
    na część (2) gotowiec już podałem, część (1) jest łatwiejsza, więc
    myślę, że dasz sobie radę

    --
    Piotr Beling - http://qwak.w8.pl http://warcaby.w8.pl http://bcalc.w8.pl
    http://kiedygdzie.co


  • 30. Data: 2010-11-05 15:06:58
    Temat: Re: kodowanie
    Od: Grzegorz Krukowski <r...@o...pl>

    On Fri, 5 Nov 2010 15:30:10 +0100, "identifikator: 20040501"
    <N...@g...pl> wrote:

    >dzięki,
    >ale naszły mnie pewne wątpliwości, jak na przykład zamienić liczbę w
    >systemie dziewiątkowym (1-8) na piątkowy (1-4)?

    Najlepiej bezpośrednio, ale w praktyce narzędzia liczące liczą w
    systemie dziesiętnym, dwójkowym lub szesnastkowym i wygodnie jest to
    zrobić z krokiem pośrednim w którymś z tych systemów.
    >
    >muszę się nad tym jeszcze pozastanwaiać, chyba, że Ktoś wklei gotowca?
    Tu nie ma się co zastanawiać, stosujesz podane metody mechanicznie.
    --
    Grzegorz Krukowski

strony : 1 . 2 . [ 3 ] . 4


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: