x-kom hosting

System ósemkowy - Pascal

bbj25
utworzono
utworzono (edytowane)

Mam do zrobienia konweter liczb na system ósemkowy(oktagonalny) w Pascalu. Czy jesteście w stanie mi pomóc? :o

bbj25
komentarz
komentarz

A mógłby ktoś napisać mi kod zamiany liczb systemu dzięsiętnego na ósemkowy?

rafalluz
komentarz
komentarz

A umiesz napisać kod zamiany na jakikolwiek inny system? Jeżeli tak, to i z ósemkowym sobie poradzisz.

bbj25
komentarz
komentarz (edytowane)

ja wiem co jest system ósemkowy i jak się go oblicza , ale nie potrafię tego przenieś do Pascala... Dopiero co zacząłem się tym interesować ...

Tzn. z dziesiętnego na dwójkowy sobie w miarę poradziłem :

program DecToBin;usescrt;varwynik:string;JakaLiczba:integer;beginwrite('Podaj jaka liczbe dzesietna chcesz zamienic: ');readln(JakaLiczba);repeatif (JakaLiczba mod 2=1) thenwynik:='1' + wynikelsewynik:='0' + wynik;JakaLiczba:=JakaLiczba div 2;until JakaLiczba=0;writeln('Wynik: ',wynik);readln;end.

Próbowałem analogicznie dla ósemkowego ,ale coś mi nie wychodzi ;/

// Kod dajemy w odpowiednich znacznikach

// Benkowik

rafalluz
komentarz
komentarz

No, czyli sobie poradzisz:

div 2

zamieniasz na

div 8

A zamiast tego ifa proponuję taki zapis

wynik := chr(48 + (JakaLiczba mod 8)) + wynik;

Teraz jeden krok i masz funkcję, która konwertuje na dowolony system.

bbj25
komentarz
komentarz (edytowane)

Zrobiłem tak jak kolega ale nie wyszło mi :( :

Pisze błąd następujący:

Fatal: Syntax error, THEN expected but := found

program DecToBin;usescrt;varwynik:string;JakaLiczba:integer;beginwrite('Podaj jaka liczbe dzesietna chcesz zamienic: ');readln(JakaLiczba);repeatif wynik := chr(8 + (JakaLiczba mod 8)) + wynik;thenwynik:='1' + wynik;elsewynik:='0' + wynik;JakaLiczba:=JakaLiczba div 8;until JakaLiczba=0;writeln('Wynik: ',wynik);readln;end.

// Tak jak wyżej, kod dajemy w znacznikach CODE

// Benkowik

rafalluz
komentarz
komentarz (edytowane)

Miałeś usunąć całego IFa wraz z THEN i ELSE i zamiast tego dać tą linię. Ona działa niezależnie od wartości modulo.

bbj25
komentarz
komentarz (edytowane)

teraz już jest OK. dzięki wam.

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.