Czerwiec 2026
Materiały do pobrania
Podgląd rozwiązań
1_1.py
def Szyfr(T, k):
n = len(T)
S = [""] * n
a = n // k
c = n - a
for i in range(1, n+1):
if i % k == 0:
b = i // k
S[n - a + b - 1] = T[i - 1]
else:
S[c - 1] = T[i - 1]
c -= 1
return "".join(S)
print(Szyfr("defragmentacja", 3)) # Wynik: ajatemaredfgnc
print(Szyfr("tropikalny", 5)) # Wynik: nlakportiy1_2.py
def Szyfr(T, k):
n = len(T)
S = [""] * n
a = n // k
c = n - a
for i in range(1, n+1):
if i % k == 0:
b = i // k
S[n - a + b - 1] = T[i - 1]
else:
S[c - 1] = T[i - 1]
c -= 1
return "".join(S)
print(Szyfr("defragmentacja", 1)) # Wynik: defragmentacja
print(Szyfr("tropikalny", 1)) # Wynik: tropikalny
# Podaj wartość klucza k, dla której zawsze szyfrogram i tekst jawny są identyczne: k = 11_3.py
def Szyfr(T, k):
n = len(T)
S = [""] * n
a = n // k
c = n - a
for i in range(1, n+1):
if i % k == 0:
b = i // k
S[n - a + b - 1] = T[i - 1]
else:
S[c - 1] = T[i - 1]
c -= 1
return "".join(S)
print(Szyfr("defragmentacja", 15)) # Wynik: ajcatnemgarfed
print(Szyfr("defragmentacja", 16)) # Wynik: ajcatnemgarfed
print(Szyfr("defragmentacja", 17)) # Wynik: ajcatnemgarfed
# Odp: k > n3_1.py
with open("dane.txt") as f:
napis = f.readline().strip()
wynik = 0
for i in range(0, len(napis) - 2, 2):
if napis[i:i+2] == napis[i+2:i+4]:
wynik += 1
print(wynik)3_2.py
def czy_pierwsza(n):
if n < 2:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
with open("dane.txt") as f:
napis = f.read().strip()
n = len(napis)
wynik = ""
for dlugosc in range(n, 1, -2):
for i in range(0, n - dlugosc + 1, 2):
fragment = napis[i:i + dlugosc]
if czy_pierwsza(sum(ord(c) for c in fragment)):
wynik = fragment
break
if wynik:
break
print(wynik)3_3.py
with open("dane.txt") as f:
napis = f.read().strip()
liczniki = {}
for i in range(0, len(napis), 2):
para = napis[i:i+2]
if para in liczniki:
liczniki[para] += 1
else:
liczniki[para] = 1
posortowane = sorted(liczniki, key=lambda x: liczniki[x])
wynik = ""
for para in posortowane:
wynik += para
print(wynik)
4_1.py
miasta = []
with open("mapa.txt") as f:
for line in f:
line = line.strip().split()
miasta.append(line)
najwieksza = 0
numer = 0
for i in range(len(miasta)):
populacja = int(miasta[i][2])
if populacja > najwieksza:
najwieksza = populacja
numer = i + 1
print(numer, najwieksza)4_2.py
miasta = []
with open("mapa.txt") as f:
for line in f:
line = line.strip().split()
miasta.append(line)
najmniejsza = 5000
for i in range(len(miasta)):
for j in range(i + 1, len(miasta)):
x1 = int(miasta[i][0])
y1 = int(miasta[i][1])
x2 = int(miasta[j][0])
y2 = int(miasta[j][1])
odleglosc = abs(x1 - x2) + abs(y1 - y2)
if odleglosc < najmniejsza:
najmniejsza = odleglosc
print(najmniejsza)
for i in range(len(miasta)):
for j in range(i+1, len(miasta)):
x1 = int(miasta[i][0])
y1 = int(miasta[i][1])
x2 = int(miasta[j][0])
y2 = int(miasta[j][1])
odleglosc = abs(x1 - x2) + abs(y1 - y2)
if odleglosc == najmniejsza:
print(i + 1, j + 1)4_3.py
miasta = []
with open("mapa.txt") as f:
for line in f:
line = line.strip().split()
miasta.append(line)
najwiekszy_bok = 0
najwieksza_ludnosc = 0
for bok in range(1, 251):
suma = 0
for i in range(len(miasta)):
x = int(miasta[i][0])
y = int(miasta[i][1])
populacja = int(miasta[i][2])
if x > 0 and x < bok and y > 0 and y < bok:
suma += populacja
gestosc = suma / (bok * bok)
if gestosc > 2:
najwiekszy_bok = bok
najwieksza_ludnosc = suma
print(najwiekszy_bok, najwieksza_ludnosc)8_4.sql
SELECT Kategorie.Nazwa_Kategorii, COUNT(Oceny.Id_Oceny)
FROM Kategorie INNER JOIN Oceny
ON Kategorie.Id_Kategorii = Oceny.Id_Kategorii
GROUP BY Kategorie.Nazwa_Kategorii;8_5.sql
SELECT TOP 1 Oceny.Id_Ucznia FROM Oceny INNER JOIN Kategorie
ON Oceny.Id_Kategorii = Kategorie.Id_Kategorii
WHERE Oceny.Ocena = 6 AND Kategorie.Nazwa_kategorii = "sprawdzian"
GROUP BY Oceny.Id_Ucznia ORDER BY COUNT(Oceny.Id_Oceny) DESC;5.md
6.md
wyniki3.txt
3_1:
17
3_2:
INRZWZASEKYPYPYIEKDLEKODASINWNWNUPJNINEKYPDLUZASJNINYPUPWZRZJNILRZRZILNYUZWZRZZAZABYASASWZUZURUZJNDLDLEKURYIUPWNWZILWZJNWNNYEKUPASYIDLILWZEKIERZEKWZUZUZYIILINASINUZRAZAILRZWNYPURODWNINZAEKEKYPYIEKILNYWNNYDLRZDLILWZDLYPZAIEUZILRZZAUZURININODDLINILEKLOYIYIDLASILYIUZDLJNWZRZOZEKASRZINJNUZEKWZODASASUZDLURURDLRZODZALOWZRARARZZAINYPRZRAINOZRZZAURYPURYIRZEKINUZURYPJNINEKODZAUPURUPYPWZILASUZUZRZEKILRAEKODLOINNYJNODUZJNILILWNILYPASEKLOINURODEKILILASUPIEOZILZALTWZILUZYPWZJNEKINDLRZRARZUZINDLWNIELTLODLJNINILYPASYPZAILASDLDLJNRZINUZILJNRAINYIRAWZODNY
3_3:
BYLTOZIELONYUPRAWNYIURODZAJNYPASWZDLUZRZEKINILwyniki4.txt
4_1:
254 2483
4_2:
2
30 170
120 176
422 637
426 599
737 778
4_3:
114 26078wyniki7.txt
7_1:
6399
16/08/2023
7_2:
29
7_3:
Miesiąc Suma z Liczba_kg
Styczeń 91769
Luty 86776
Marzec 99704
Kwiecień 78678
Maj 98806
Czerwiec 86931
Lipiec 88897
Sierpień 105548
Wrzesień 89532
Październik 83961
Listopad 96910
Grudzień 80636
7_4:
Największy stan magazynu: 11224 kg
Data: 25/08/2023
7_5:
3126wyniki8.txt
8_1:
Plec ŚredniaOfOcena
k 3.57
m 3.73
8_2:
N10
N22
8_3:
Miesiac Ocena LiczbaWystapien
01 1 74
02 4 21
03 3 42
04 1 46
05 6 22
06 6 8
09 1 44
10 1 66
11 1 107
12 6 109