Arkusze maturalne z plikami oraz moimi rozwiazaniami. \ Discord: Chriskyy#0181.
Rozwiązanie Python
4.1
plik = open('Dane_PR/liczby.txt').readlines()
ile_liczb = 0
for wiersz in plik:
wiersz = wiersz.strip()
ilosc_jedynek = 0
ilosc_zer = 0
for litera in wiersz:
if litera == '0':
ilosc_zer += 1
if litera == '1':
ilosc_jedynek += 1
if ilosc_zer > ilosc_jedynek:
ile_liczb += 1
print('Zadanie 4.1')
print(ile_liczb)
4.2
plik = open('Dane_PR/liczby.txt').readlines()
podzielne_8 = 0
podzielne_2 = 0
for wiersz in plik:
wiersz = wiersz.strip()
base_10 = int(wiersz, 2)
if base_10 % 2 == 0:
podzielne_2 += 1
if base_10 % 8 == 0:
podzielne_8 += 1
print('Zadanie 4.2')
print('Podzielne przez 2:', podzielne_2)
print('Podzielne przez 8:', podzielne_8)
4.3
plik = open('Dane_PR/liczby.txt').readlines()
base_10 = []
for wiersz in plik:
wiersz = wiersz.strip()
base_10.append(int(wiersz, 2))
najwieksza = max(base_10)
najmniejsza = min(base_10)
najwieksza_pozycja = base_10.index(najwieksza) + 1
najmniejsza_pozycja = base_10.index(najmniejsza) + 1
print('Zadanie 4.3')
print('Numer wiersza najmniejszej liczby:', najmniejsza_pozycja)
print('Numer wiersza największej liczby:', najwieksza_pozycja)
Rozwiązanie Python
6.1
plik = open('MIN-R2A1P-153_dane/kody.txt').readlines()
for wiersz in plik:
wiersz = wiersz.strip()
suma_parzyste = 0
suma_nieparzyste = 0
for cyfra in range(0, len(wiersz), 2):
suma_nieparzyste += int(wiersz[cyfra])
for cyfra in range(1, len(wiersz), 2):
suma_parzyste += int(wiersz[cyfra])
print(suma_parzyste, suma_nieparzyste)
6.2
plik = open('MIN-R2A1P-153_dane/kody.txt').readlines()
for wiersz in plik:
wiersz = wiersz.strip()
suma_parzyste = 0
suma_nieparzyste = 0
for cyfra in range(0, len(wiersz), 2):
suma_nieparzyste += int(wiersz[cyfra])
for cyfra in range(1, len(wiersz), 2):
suma_parzyste += int(wiersz[cyfra])
cyfra_kontrolna = (suma_parzyste + suma_nieparzyste) % 10
cyfra_kontrolna = 10 - cyfra_kontrolna
cyfra_kontrolna = cyfra_kontrolna % 10
print(cyfra_kontrolna, wiersz)
6.3
plik = open('MIN-R2A1P-153_dane/kody.txt').readlines()
for wiersz in plik:
wiersz = wiersz.strip()
suma_parzyste = 0
suma_nieparzyste = 0
kod = ''
start = '11011010'
stop = '11010110'
x = '11101110101010'
for cyfra in range(0, len(wiersz), 2):
suma_nieparzyste += int(wiersz[cyfra])
for cyfra in range(1, len(wiersz), 2):
suma_parzyste += int(wiersz[cyfra])
cyfra_kontrolna = (suma_parzyste + suma_nieparzyste) % 10
cyfra_kontrolna = 10 - cyfra_kontrolna
cyfra_kontrolna = cyfra_kontrolna % 10
kod += start
for cyfra in wiersz:
match cyfra:
case '0':
kod += '10101110111010'
case '1':
kod += '11101010101110'
case '2':
kod += '10111010101110'
case '3':
kod += '11101110101010'
case '4':
kod += '10101110101110'
case '5':
kod += '11101011101010'
case '6':
kod += '10111011101010'
case '7':
kod += '10101011101110'
case '8':
kod += '11101010111010'
case '9':
kod += '10111010111010'
match str(cyfra_kontrolna):
case '0':
kod += '10101110111010'
case '1':
kod += '11101010101110'
case '2':
kod += '10111010101110'
case '3':
kod += '11101110101010'
case '4':
kod += '10101110101110'
case '5':
kod += '11101011101010'
case '6':
kod += '10111011101010'
case '7':
kod += '10101011101110'
case '8':
kod += '11101010111010'
case '9':
kod += '10111010111010'
kod += stop
print(kod)
Rozwiązanie Python
6.1
plik = open('Dane_NOWA/dane_6_1.txt').readlines()
def szyfruj(slowo, klucz):
klucz = klucz % 26
zaszyfrowane = ''
for litera in slowo:
if ord(litera) + klucz > 90:
x = abs(90 - ord(litera) - klucz)
zaszyfrowane += chr(64 + x)
else:
zaszyfrowane += chr(ord(litera) + klucz)
return zaszyfrowane
for wiersz in plik:
wiersz = wiersz.strip()
print(szyfruj(wiersz, 107))
6.2
plik = open('Dane_NOWA/dane_6_2.txt').readlines()
def odszyfruj(slowo, klucz):
klucz = klucz % 26
odszyfrowane = ''
for litera in slowo:
if ord(litera) - klucz < 65:
x = ord(litera) - 65
odszyfrowane += chr(91 + x - klucz)
else:
odszyfrowane += chr(ord(litera) - klucz)
return odszyfrowane
for wiersz in plik:
wiersz = wiersz.strip().split()
slowo = wiersz[0]
klucz = int(wiersz[1])
print(odszyfruj(slowo, klucz))
6.3
plik = open('Dane_NOWA/dane_6_3.txt').readlines()
def odszyfruj(slowo, klucz):
klucz = klucz % 26
odszyfrowane = ''
for litera in slowo:
if ord(litera) - klucz < 65:
x = ord(litera) - 65
odszyfrowane += chr(91 + x - klucz)
else:
odszyfrowane += chr(ord(litera) - klucz)
return odszyfrowane
for wiersz in plik:
wiersz = wiersz.strip().split()
klucz = 0
x = wiersz[0][0]
for i in range(26):
if x == wiersz[1][0]:
klucz = i
break
else:
x = chr(ord(x)+1)
if ord(x) > 90:
x = chr(65)
if odszyfruj(wiersz[1], i) != wiersz[0]:
print(wiersz[0])
Rozwiązanie Python
6.1
plik = open('MIN-R2A1P-163_dane/liczby.txt').readlines()
ile = 0
for wiersz in plik:
wiersz = wiersz.strip()
if wiersz[-1] == '8':
ile += 1
print('Zadanie 6.1')
print(ile)
6.2
plik = open('MIN-R2A1P-163_dane/liczby.txt').readlines()
ile = 0
for wiersz in plik:
wiersz = wiersz.strip()
if wiersz[-1] == '4':
if '0' not in wiersz:
ile += 1
print('Zadanie 6.2')
print(ile)
6.3
plik = open('MIN-R2A1P-163_dane/liczby.txt').readlines()
ile = 0
for wiersz in plik:
wiersz = wiersz.strip()
if wiersz[-1] == '2':
wiersz = wiersz[:-1]
if int(wiersz, 2) % 2 == 0:
ile += 1
print('Zadanie 6.3')
print(ile)
6.4
plik = open('MIN-R2A1P-163_dane/liczby.txt').readlines()
suma = 0
for wiersz in plik:
wiersz = wiersz.strip()
if wiersz[-1] == '8':
wiersz = wiersz[:-1]
suma += int(wiersz, 8)
print('Zadanie 6.4')
print(suma)
6.5
plik = open('MIN-R2A1P-163_dane/liczby.txt').readlines()
max_liczba = 0
max_liczba_kod = 0
min_liczba = 999
min_liczba_kod = 0
for wiersz in plik:
wiersz = wiersz.strip()
system = int(wiersz[-1])
match system:
case 2:
liczba = int(wiersz[:-1], 2)
if liczba > max_liczba:
max_liczba = liczba
max_liczba_kod = wiersz
if liczba < min_liczba:
min_liczba = liczba
min_liczba_kod = wiersz
case 3:
liczba = int(wiersz[:-1], 3)
if liczba > max_liczba:
max_liczba = liczba
max_liczba_kod = wiersz
if liczba < min_liczba:
min_liczba = liczba
min_liczba_kod = wiersz
case 4:
liczba = int(wiersz[:-1], 4)
if liczba > max_liczba:
max_liczba = liczba
max_liczba_kod = wiersz
if liczba < min_liczba:
min_liczba = liczba
min_liczba_kod = wiersz
case 5:
liczba = int(wiersz[:-1], 5)
if liczba > max_liczba:
max_liczba = liczba
max_liczba_kod = wiersz
if liczba < min_liczba:
min_liczba = liczba
min_liczba_kod = wiersz
case 6:
liczba = int(wiersz[:-1], 6)
if liczba > max_liczba:
max_liczba = liczba
max_liczba_kod = wiersz
if liczba < min_liczba:
min_liczba = liczba
min_liczba_kod = wiersz
case 7:
liczba = int(wiersz[:-1], 7)
if liczba > max_liczba:
max_liczba = liczba
max_liczba_kod = wiersz
if liczba < min_liczba:
min_liczba = liczba
min_liczba_kod = wiersz
case 8:
liczba = int(wiersz[:-1], 8)
if liczba > max_liczba:
max_liczba = liczba
max_liczba_kod = wiersz
if liczba < min_liczba:
min_liczba = liczba
min_liczba_kod = wiersz
case 9:
liczba = int(wiersz[:-1], 9)
if liczba > max_liczba:
max_liczba = liczba
max_liczba_kod = wiersz
if liczba < min_liczba:
min_liczba = liczba
min_liczba_kod = wiersz
print('Zadanie 6.5')
print('Największa kod:', max_liczba_kod)
print('Wartość:', max_liczba)
print('Najmniejsza:', min_liczba_kod)
print('Wartość:', min_liczba)
Rozwiązanie Python
6.1
plik = open('Dane_PR/dane.txt').readlines()
ciemny = 255
jasny = 0
for wiersz in plik:
wiersz = wiersz.strip().split()
for i in wiersz:
if int(i) > jasny:
jasny = int(i)
if int(i) < ciemny:
ciemny = int(i)
print('Zadanie 6.1')
print('Najjaśniejszy:', jasny)
print('Najciemniejszy:', ciemny)
6.2
plik = open('Dane_PR/dane.txt').readlines()
ile = 0
for wiersz in plik:
wiersz = wiersz.strip().split()
for x in range(len(wiersz)):
if wiersz[x] != wiersz[319-x]:
ile += 1
break
print('Zadanie 6.2')
print(ile)
6.3
plik = open('Dane_PR/dane.txt').readlines()
mapa = []
for wiersz in plik:
wiersz = wiersz.strip().split()
mapa.append([int(x) for x in wiersz])
sasiedzi = ((0, 1), (0, -1), (1, 0), (-1, 0))
kontrastujace = 0
for x in range(320):
for y in range(200):
ile = 0
for s in sasiedzi:
if x + s[0] > 319 or x + s[0] < 0 or y + s[1] > 199 or y + s[1] < 0:
continue
if abs(mapa[y][x] - mapa[y + s[1]][x + s[0]]) > 128:
ile += 1
if ile != 0:
kontrastujace += 1
print('Zadanie 6.3')
print(kontrastujace)
6.4
plik = open('Dane_PR/dane.txt').readlines()
mapa = []
for wiersz in plik:
wiersz = wiersz.strip().split()
mapa.append([int(x) for x in wiersz])
maks_dlugosc = 0
for y in range(320):
dlugosc = 1
for x in range(199):
if mapa[x][y] == mapa[x + 1][y]:
dlugosc += 1
else:
if dlugosc > maks_dlugosc:
maks_dlugosc = dlugosc
dlugosc = 1
print('Zadanie 6.4')
print(maks_dlugosc)
$ claude mcp add Matura-Informatyka \
-- python -m otcore.mcp_server <graph>