2.5 p XOR (p div 2) w pliku przykładowym
Matura maj 2023 - Matura z informatyki: arkusze krok po kroku (Python)
Zadanie 2.5 (3 pkt): dla każdej liczby \( p \) z pliku wynik \( p \text{ XOR } (p \text{ div } 2) \) w systemie binarnym (to tzw. kod Graya liczby). Arkusz daje odpowiedź dla pliku przykładowego w pliku `odp_bin_przyklad.txt`, więc program porównuje z nim swoje wyniki.
with open("bin_przyklad.txt") as f:
numbers = [line.strip() for line in f] # zapisy binarne jako napisy
# 2.5 p XOR (p div 2): operator ^ działa na bitach, bin(x)[2:] to zapis binarny bez "0b"
codes = []
for s in numbers:
p = int(s, 2)
codes.append(bin(p ^ (p // 2))[2:])
with open("odp_bin_przyklad.txt") as f:
expected = [line.strip() for line in f]
print(codes[:5])
print("zgodne z odp_bin_przyklad.txt:", codes == expected)Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Matura z informatyki: arkusze krok po kroku·Zaloguj się, aby zapisać postęp na koncie.