Kryptografia z elementami algebry

2024/2025 , Semestr letni

Ważne pliki:

Spotkania:

Specyfikacja:

(1) Pliki proszę wysyłać na mój adres mailowy (jgarnek(malpa)amu.edu.pl), z tytułem: Projekt nr x, Imię, nazwisko, nr grupy, np. Projekt nr 1, Jan Kowalski, 14

(2) pliki powinny być nazwane wg szablonu: imie_nazwisko_nrgrupy_nrpliku.format, np. jan_kowalski_11_1.py. Numery grup: 11 (godzina zajęć: 15:30), 12 (godzina zajęć: 17:15), 13 (godzina zajęć: 11:45), 14 (godzina zajęć: 13:45).

(3) kod powinien zawierać sprawdzenie dla podanych niżej danych (także jeżeli wynik wychodzi błędny 🙂 ). Przykład:

zadanie. Znajdź program, który oblicza sumę dwóch liczb.

Przykładowe dane: Wejście: 2, 4 Wyjście: 6

Kod:

def suma(a, b):
    return a+b

print(suma(2, 4))

(4) jeżeli któryś z parametrów jest losowany, program powinien zawierać go jako argument. Jeżeli argument jest równy zero, jest on losowany. W przeciwnym wypadku jest on równy danej liczbie. Przykład:

zadanie. Znajdź program, który podaje losową potęgę dwójki mniejszą od 1024.

Przykładowe dane:

Wejście: 2

Wyjście: 8 #wylosowany wykładnik to 3

def losowa_potega(a = 0):
    import random
if a = 0:
    return 2**(random.choice(range(10)))
else:
    return 2**a

print(losowa_potega(3))

(5) kody powinny być pisane samodzielnie. Ewentualne fragmenty cudzego kodu/kodu wygenerowanego przez AI powinny być oznaczone i mogę prowadzić do obniżenia oceny. Plagiat oznacza wyzerowanie punktów za zadanie.

Based on Resume Hugo theme