Wtorek, 1 kwietnia 2025

LAB 05

  1. Proszę napisać funkcję przyjmującą jako parametr string (przy wywołaniu będziemy przekazać argument wiersza poleceń). Zakładamy, że string ten zawiera poprawną definicję wyrażenia/funkcji matematycznej z jedną zmienną x, czyli np. 'a*x+b', 'a*x**2+b*x+c'. W miejscu wszystkich stałych proszę wstawić losowe liczby całkowite z przedziału [0,10), proszę wykorzystać metodę translate. Z funkcji proszę zwrócić listę dwuelementowych krotek (x, f(x)), dla 10 losowych liczb rzeczywistych z przedziału [0,1] (2p).

  2. Proszę napisać funkcję, do której można przekazać zmienną liczbę parametrów, zwracającą listę. Do wynikowej listy trafiają elementy, które powtarzają się we wszystkich parametrach przekazanych do funkcji, np. ([1,2,3], (1,3,5), [3,2]) -> [3], ([1,2,3], (1,3,5), [3,2,1]) -> [1,3].
    Proszę użyć konstrukcji for-else (2p)

  3. Proszę napisać funkcję przyjmującą dwie sekwencje i parametr z wartością domyślną True. Funkcja zwraca listę dwuelementowych krotek zawierających elementy o tych samych indeksach z obu sekwencji. Jeżeli wartość trzeciego parametru wynosi True, długość zwracanej listy równa jest długości krótszej z przekazanych sekwencji, w przeciwnym wypadku brakujące elementy w krotkach uzupełniamy wartością None. Budowanie każdej z wynikowych list jedna linijka, proszę nie używać funkcji wbudowanych! (2p) 

  4. Proszę napisać funkcję umożliwiającą rozmienienie kwoty pieniędzy przekazanej jako jej pierwszy parametr nominałami określonymi poprzez drugi parametr - wartość domyślna krotka (10,5,2) (algorytm zachłanny). Proszę sprawdzić działanie funkcji przekazując inny zestaw monet (2p)

  5. Proszę napisać funkcję przyjmującą cztery parametry: liczba całkowita, której wartość zgadujemy, granice przedziału, w którym szukana liczba się mieści i ostatni określający sposób poszukiwania wartości z wartością domyślną 'r'. Przy wartości domyślnej ostatniego parametru, liczby poszukujemy losując kolejną wartość, w innym przypadku poszukujemy wartości poprzez podział przedziału poszukiwania wartości na pół. W obu przypadkach w każdym kroku odpowiednio zawężamy przedział poszukiwania (proszę wykorzystać operator trójargumentowy). Proszę sprawdzić ile kroków jest potrzebnych do znalezienia szukanej wartości w zależności od metody (2p)