Zadanie 3. Mikołajowe podstawy

Mikołaj jest zafascynowany systemami liczbowymi o różnych podstawach. Jego ulubionymi są system binarny oraz dziesiętny. Mikołaj postanowił wygenerować losowo 1000 liczb z przedziału <1, 999 999>, jedne zapisane w systemie dziesiętnym, inne w systemie binarnym.

W pliku liczby.txt znajduje się 1000 wierszy, w każdym wierszu zapisane są dwie liczby naturalne rozdzielone pojedynczym znakiem odstępu. Pierwsza liczba w wierszu wskazuje, w jakim systemie została zapisana następna liczba. Jeżeli jest to 1, oznacza to, że liczba jest zapisana w systemie dziesiętnym, a jeżeli 2 – w systemie dwójkowym.

Rw2vO1GQySqci

Przycisk do pobrania pliku TXT zawierający treść zadania.

Plik liczby.txt.
Plik TXT o rozmiarze 11.20 KB w języku polskim

Każdą liczbę zapisaną w systemie dwójkowym zamień na liczbę w systemie dziesiętnym. Liczby po konwersji zapisz do pliku wynik.txt, każdą w oddzielnej linii.

Przykład 1

Dla przykładowego fragmentu pliku:

Linia 1. 1 229905. Linia 2. 1 215463. Linia 3. 1 471814. Linia 4. 2 1010010000. Linia 5. 2 11111101. Linia 6. 2 11100000.

poprawna odpowiedź wynosi:

Linia 1. 656. Linia 2. 253. Linia 3. 224.

Do oceny oddajesz:

  • plik wynik.txt zawierający liczby w systemie dziesiętnym, które w pliku liczby.txt zapisane są w systemie dwójkowym,

  • plik(i) z komputerową realizacją zadania (kodem programu).

Przedstaw rozwiązanie zadania w postaci programu w języku C++, Java lub Python. Odpowiedź do zadania dla danych z pliku znajdziesz pod sekcją ćwiczeń.

W przykładowym rozwiązaniu wykorzystujemy dwie tablice. Tablica liczby służy do przechowywania liczb zapisanych w danych systemach. Tablica systemy służy do przechowywania informacji o tym, w jakim systemie została zapisana dana liczba.

Element o indeksie i tablicy liczby odpowiada elementowi z tablicy systemy o indeksie i. Zatem: jeśli w tablicy liczby element o indeksie i to liczba 2705, a element o indeksie i w tablicy systemy to liczba 1, oznacza to, że w pliku liczby.txt wiersz ten ma następującą postać:

Linia 1. 1 2705.

czyli odnosi się do liczby 2705 zapisanej za pomocą systemu dziesiętnego.

11
Pokaż ćwiczenia:
1

JĘZYK C++

21
Ćwiczenie 1
RE4K8LeIxq4ai1
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
1

JĘZYK JAVA

21
Ćwiczenie 2
R1YFLqNdKqB0g1
Wymyśl pytanie na kartkówkę związane z tematem materiału.
1

JĘZYK PYTHON

21
Ćwiczenie 3
RXZaZNmKITOld1
Wymyśl pytanie na kartkówkę związane z tematem materiału.

Odpowiedź

Odpowiedź do zadania dla danych z pliku liczby.txt znajduje się w załączniku:

R18F7cwfo0lsK

Przycisk do pobrania pliku TXT z wynikiem zadania.

Plik wynik4.txt.
Plik TXT o rozmiarze 2.43 KB w języku polskim