1.1 Sprawdzenie programem
Matura maj 2024 - Matura z informatyki: arkusze krok po kroku (Python)
Odpowiedzi z kartki można sprawdzić algorytmem z arkusza: program liczy wynik dla trzech plansz z rysunków. Plansza b) pokazuje pułapkę: białe pola łączą oba rogi, ale droga musiałaby iść w lewo, a algorytm patrzy tylko na pole po lewej i pole powyżej.
def result(A):
# algorytm z arkusza; w Pythonie wiersze i kolumny liczy się od 0, więc A[0][0] to lewy
# górny róg, a A[n - 1][m - 1] prawy dolny
n, m = len(A), len(A[0])
P = [[False] * m for i in range(n)]
P[0][0] = True
for i in range(n):
for j in range(m):
if A[i][j] == 0:
P[i][j] = False
elif i == 0 and j != 0:
P[i][j] = P[i][j - 1]
elif i != 0 and j == 0:
P[i][j] = P[i - 1][j]
elif i != 0 and j != 0:
P[i][j] = P[i][j - 1] or P[i - 1][j]
return P[n - 1][m - 1]
board_a = [[1, 1, 1], [0, 1, 0], [1, 1, 1]]
board_b = [[1, 1, 1], [0, 0, 1], [1, 1, 1], [1, 0, 0], [1, 1, 1]]
board_c = [[1, 0, 0, 0, 0], [1, 1, 0, 0, 1], [0, 1, 0, 0, 1], [0, 1, 1, 1, 0], [0, 1, 0, 1, 1]]
print(result(board_a), result(board_b), result(board_c))Ł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.