logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Pascal - Konwersacja liczby miedzy systemem 10 a 8 i systemem 8 a 4.

Pysku 13 Sty 2014 18:19 1326 6
REKLAMA
  • #1 13173235
    Pysku
    Poziom 2  
    Posty: 3
    Witam, mam pewien problem. Problem ten polega na napisaniu kodu w programie Turbo Pascal 7.0. Niestety pierwszy raz miałem do czynienia z tym programem i nie za bardzo wiem o co chodzi. Przeszukałem wiele postów i forum, lecz nie znalazłem odpowiedniej pomocy w tej kwestii. Głownie chodzi mi o kod, który zmieni podaną liczbę w systemie dziesiętnym a następnie przekonwertuje ją na system 8 a z systemu 8 na 4( jeżeli jest taka możliwość).

    Za pomoc będę bardzo wdzięczny.
  • REKLAMA
  • #2 13173290
    Dżyszla
    Poziom 42  
    Posty: 7075
    Pomógł: 1095
    Ocena: 224
    Nie ma żadnej gotowej funkcji. Należy zaimplementować algorytm konwersji liczby (czyli dzielenie w pętli i wypisywanie znak po znaku wartości wynikającej z reszty dzielenia przez podstawę systemu.
  • REKLAMA
  • #3 13175727
    arnoldziq
    VIP Zasłużony dla elektroda
    Posty: 5376
    Pomógł: 789
    Ocena: 299
    Proszę.
    Na początek masz uniwersalną procedurę do konwertowania z systemu dziesiętnego na dowolny inny (max. 16).
    Spoiler:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Teraz, mam nadzieję, zrobisz samemu odwrotną funkcję; taką która zamienia ciąg znaków i podstawę na liczbę dziesiętną.
  • #4 13175781
    Pysku
    Poziom 2  
    Posty: 3
    Dzięki wielkie, a jeżeli chciałbym tylko z systemu dziesiętnego na ósemkowy to w którym miejscu muszę zmienić?? mając do dyspozycji podaną przez Ciebie procedurę??

    wynik:=cyfry[liczba_dziesietna mod 8]+wynik;
    liczba_dziesietna := liczba_dziesietna div 8;
    until liczba_dziesietna=0;

    coś takiego?
  • REKLAMA
  • #5 13175793
    arnoldziq
    VIP Zasłużony dla elektroda
    Posty: 5376
    Pomógł: 789
    Ocena: 299
    Pysku napisał:
    coś takiego?

    Dokładnie tak.
    Tylko to :
    Pysku napisał:
    until liczba_dziesietna=0;
    trochę tam nie pasuje.
    Problem się zacznie, gdy zachcesz użyć innej konwersji, np. do tej wspomnianej podstawy 4.
  • #6 13175805
    Pysku
    Poziom 2  
    Posty: 3
    No, właśnie mam tutaj problem bo muszę zrobić tak aby po wpisaniu liczby pokazał się wynik w systemie 10, 8 i 4. Z tym pewnie będzie więcej zabawy jak sądzę...
  • REKLAMA
  • #7 13175865
    arnoldziq
    VIP Zasłużony dla elektroda
    Posty: 5376
    Pomógł: 789
    Ocena: 299
    Możesz "oszukać" i konwertować liczbę z 10 na 8 i z 10 na 4.
    jeżeli chcesz to zrobić, tak jak oczekuje tego nauczyciel, to niestety musisz zamienić ten ciąg znaków z 8 na 10 a potem to 10 na 4.
    Prosta sprawa, tak na prawdę :)
    Masz funkcję zamieniająca 10 na X, pomyśl; co trzeba zrobić, żeby zamienić X na 10?

Podsumowanie tematu

✨ Użytkownik ma problem z napisaniem kodu w Turbo Pascal 7.0, który konwertuje liczby między systemami liczbowymi: dziesiętnym, ósemkowym i czwórkowym. Odpowiedzi sugerują, że nie ma gotowej funkcji do konwersji, a użytkownik musi zaimplementować algorytm oparty na dzieleniu w pętli. Podano uniwersalną procedurę do konwersji z systemu dziesiętnego na inny oraz wskazówki dotyczące modyfikacji kodu, aby uzyskać wyniki w systemach 8 i 4. Wskazano również, że można konwertować liczby z 10 na 8 i 4, ale wymaga to dodatkowych kroków, aby zamienić wyniki z systemu 8 na 10, a następnie z 10 na 4.
Wygenerowane przez model językowy.
REKLAMA