Maj 2025
Materiały do pobrania
Podgląd rozwiązań
1_3.py
def przestaw2(n):
w = 0
p = 1
while n > 0:
r = n % 100
a = r // 10
b = r % 10
if n > 9:
w = p * a + 10 * p * b + w
else:
w = p * b + w
n = n // 100
p = p * 100
return w
print(przestaw2(21))1.py
def przestaw(n):
r = n % 100
a = r // 10
b = r % 10
n = n // 100
# global licznik
# licznik = 1 - Liczy liczbę wywołań funkcji przestaw(n)
if n > 0:
w = a + 10 * b + 100 * przestaw(n)
# licznik += 1
else:
if a > 0:
w = a + 10 * b
else:
w = b
return w
print(przestaw(316498))
# print(licznik)2_1.py
with open("symbole.txt") as f:
for line in f:
line = line.strip()
if line == line[::-1]:
print(line)2_2.py
with open("symbole.txt") as f:
tab = [list(line.strip()) for line in f]
licznik = 0
for i in range(1, len(tab) - 1):
for j in range(1, len(tab[0]) - 1):
znak = tab[i][j]
if(
tab[i - 1][j - 1] == znak and
tab[i - 1][j] == znak and
tab[i - 1][j + 1] == znak and
tab[i][j - 1] == znak and
tab[i][j] == znak and
tab[i][j + 1] == znak and
tab[i + 1][j - 1] == znak and
tab[i + 1][j] == znak and
tab[i + 1][j + 1] == znak
):
licznik += 1
print(i + 1, j+ 1)
print(licznik)2_3.py
# znak o odpowiada cyfrze 0
# znak + odpowiada cyfrze 1
# znak * odpowiada cyfrze 2
wszystkie_liczby = []
with open("symbole.txt") as f:
for line in f:
line = line.strip()
liczby = list(line)
lista_trojkowa = []
for liczba in liczby:
if liczba == 'o':
lista_trojkowa.append(0)
elif liczba == '+':
lista_trojkowa.append(1)
elif liczba == '*':
lista_trojkowa.append(2)
liczba_trojkowa = "".join(map(str, lista_trojkowa))
liczba = int(liczba_trojkowa, 3)
wszystkie_liczby.append((liczba, line))
najwieksze = max(wszystkie_liczby)
print(najwieksze[0], najwieksze[1])
2_4.py
def na_trojkowy(n):
wynik = ""
if n == 0:
return "0"
while n > 0:
wynik = str(n % 3) + wynik
n = n // 3
return wynik
# znak o odpowiada cyfrze 0
# znak + odpowiada cyfrze 1
# znak * odpowiada cyfrze 2
wszystkie_dziesietne = []
with open("symbole.txt") as f:
for line in f:
line = line.strip()
liczby = list(line)
lista_trojkowa = []
for liczba in liczby:
if liczba == "o":
lista_trojkowa.append(0)
elif liczba == "+":
lista_trojkowa.append(1)
elif liczba == "*":
lista_trojkowa.append(2)
liczba_trojkowa = "".join(map(str, lista_trojkowa))
liczba_dziesietna = int(liczba_trojkowa, 3)
wszystkie_dziesietne.append(liczba_dziesietna)
suma_wszystkich = sum(wszystkie_dziesietne)
print(suma_wszystkich)
suma_trojkowa = na_trojkowy(suma_wszystkich)
suma_trojkowa = list(suma_trojkowa)
suma_zapis_trojkowy = []
for cyfra in suma_trojkowa:
if cyfra == "0":
suma_zapis_trojkowy.append("o")
elif cyfra == "1":
suma_zapis_trojkowy.append("+")
elif cyfra == "2":
suma_zapis_trojkowy.append("*")
wynik_symbole = "".join(map(str, suma_zapis_trojkowy))
print(wynik_symbole)
3_1.py
import math
def wartosc_bezwzgledna(n): # Zamiast własnej funkcji można użyć abs()
if n == 0:
return 0
elif n > 0:
return n
else:
return n * -1
licznik = 0
with open("dron.txt") as f:
for line in f:
line = line.strip().split(" ")
A = int(line[0])
B = int(line[1])
A = wartosc_bezwzgledna(A) # A = abs(A)
B = wartosc_bezwzgledna(B) # B = abs(B)
if B == 0:
NWD = A
if NWD > 1:
licznik += 1
elif B > 0:
NWD = math.gcd(A, B)
if NWD > 1:
licznik += 1
print(licznik)3_2.py
przesuniecia_A = []
przesuniecia_B = []
licznik_w_kwadracie = 0
with open("dron.txt") as f:
for line in f:
line = line.split()
przesuniecia_A.append(int(line[0]))
przesuniecia_B.append(int(line[1]))
suma_A = 0
lista_przesuniec_A = []
for i in range(len(przesuniecia_A)):
suma_A += przesuniecia_A[i]
lista_przesuniec_A.append(suma_A)
suma_B = 0
lista_przesuniec_B = []
for i in range(len(przesuniecia_B)):
suma_B += przesuniecia_B[i]
lista_przesuniec_B.append(suma_B)
for i in range(len(lista_przesuniec_A)):
x = lista_przesuniec_A[i]
y = lista_przesuniec_B[i]
if 0 < x < 5000 and 0 < y < 5000:
licznik_w_kwadracie += 1
# a)
print(licznik_w_kwadracie)
# b)
punkty = list(zip(lista_przesuniec_A, lista_przesuniec_B))
n = len(punkty)
for i in range(n):
x_B, y_B = punkty[i]
for j in range(n):
for k in range(j + 1, n):
x_A, y_A = punkty[j]
x_C, y_C = punkty[k]
if x_B == (x_A + x_C) / 2 and y_B == (y_A + y_C) / 2:
print(punkty[j], punkty[i], punkty[k])7_5.sql
SELECT DISTINCT Producent.nazwa FROM Producent
INNER JOIN Laziki ON Producent.kod_producenta = Laziki.kod_producenta
INNER JOIN Pomiary ON Laziki.nr_lazika = Pomiary.nr_lazika
INNER JOIN Obszary ON Pomiary.kod_obszaru = Obszary.kod_obszaru WHERE Obszary.nazwa_obszaru = "Arcadia" AND YEAR(Pomiary.data_pomiaru) = 2060;1_1.txt
n Wynik działania funkcji przestaw Liczba wywołań funkcji przestaw
316498 134689 3
43657688 34566788 4
154005710 145007501 5
998877665544321 989786756453412 81_2.txt
1. F
2. P
3. P
4. F4.txt
Dwyniki2.txt
2_1:
++o+o++o+o++
+*+**++**+*+
*+o++**++o+*
*oo*o**o*oo*
+*++*oo*++*+
+o++oooo++o+
2_2:
3 399 5 546 2 630 11
2_3:
531246 *******o+*+o
2_4:
527865439 ++oo*+oo*++ooo*o*++wyniki3.txt
3_1:
40
3_2:
a) 24
b) (5832, 1801) (7410, 1990) (8988, 2179)wyniki6.txt
6_1:
41498,2 kg
3092,2943 kg
6_2:
Thaumasia
6_3:
174,5 kg
13/12/2035
6_4:
Nazwa obszaru 2033 2034 2035 2036 2037 2038
Aeolis 5 7 11 2 13 5
Amazonis 23 20 21 29 20 25
Amenthes 10 5 9 12 10 10
Arabia 9 10 15 8 10 7
Arcadia 7 7 11 14 5 9
Argyre 4 4 3 3 10 7
Casius 6 10 7 13 7 7
Cebrenia 4 5 1 1 1 1
Coprates 21 27 18 33 30 23
Diacria 2 3 2 3 3 2
Elysium 6 9 5 4 8 7
Eridania 8 19 23 20 22 16
Hellas 1 4 2 1 3 4
Iapygia 47 51 67 53 51 33
Ismenius Lacus 6 4 5 3 9 13
Lunae Palus 11 11 9 10 10 3
Mare Acidalium 8 14 10 8 14 10
Mare Australe 2 3 2 3 2 2
Mare Boreum 14 19 8 13 14 12
Mare Tyrrhenum 2 5 3 2 2
Margaritifer Sinus 4 5 5 2 2 7
Memnonia 11 24 23 19 14 13
Noachis 13 11 11 25 17 14
Oxia Palus 3 3 1 4 2
Phaethontis 1 7 2 4 5 4
Phoenicis Lacus 25 22 25 22 15 18
Sinus Sabaeus 14 12 19 13 12 6
Syrtis Major 6 2 5 4 6 3
Tharsis 29 40 38 41 46 39
Thaumasia 2 2 4 1 2 3
6_5:
Ile razy stacja wysyłała ładunek na orbitę: 30
Pierwszy transport na orbitę: 29/05/2033
Ostatni transport na orbitę: 01/09/2038
wyniki7.txt
7_1:
Mare Boreum
7_2:
Spirit 14 29/08/2066 25/07/2076
7_3:
Aeolis
Amazonis
Arabia
Elysium
Eridania
Mare Tyrrhenum
Sinus Sabaeus
Syrtis Major
7_4:
Mariner 14
Mariner 15
Mariner 20
Phoenix 13
Phoenix 3
Rosetta 1
Rosetta 8
Spirit 12
Spirit 7
Viking 17