Laboratorium 7


Funkcje

Definiowanie funkcji:
def nazwa(typ1 argument1, typ2 argument2, /*... ,*/ typN argumentN):
	/* instrukcje do wykonania w funkcji */
wynik jest zwracany przy pomocy instrukcji return. Procedura jest to typ funkcji, która nie zwraca wyniku (nie posiada return).

Wywołanie funkcji:
funkcja(argument1, argument2 /* ... ,*/ argumentN)
argumenty muszą być podane w odpowiedniej kolejności.

Przypisywanie wartości zwracanej przez funnkcję do zmiennej:
zmienna = funkcja(argument1, argument2, /* ... ,*/ argumentN)
argumenty muszą być podane w odpowiedniej kolejności.
Zadania
  1. Napisz skrypt, który pobierze od użytkownika liczbę a i n. Zdefiniuj procedurę która wyświetli informację na temat iloczynów liczby a oraz kolejnych liczb z zakresu od 1 do n. Przykładowo dla a = 5 i n = 10, powinien zostać wyświetlony napis:
    1 * 5 = 5
    2 * 5 = 10
    3 * 5 = 15
    4 * 5 = 20
    5 * 5 = 25
    6 * 5 = 30
    7 * 5 = 35
    8 * 5 = 40
    9 * 5 = 45
    10 * 5 = 50 
    
    Wejście:
    Zmienne a i n przechowujące liczby całkowite dodatnie, które są pobieran od użytkownika, a następnie przekazywane do procedury jako jej argumenty.
    Wyjście:
    Na ekranie pojawią się iloczyny liczby a oraz kolejnych liczb z zakresu od 1 do n.
    Warunki poprawności zadania:
    Na ekranie powinny pojawić się wyniki iloczynów odpowiednich liczb. Należy zdefiniować i wywołać procedurę, która pobierze odpowiednie argumenty wyświetli odpowiedni napis. Upewnij się, że program działa prawidłowo dla różnych liczb całkowitych dodatnich a i n.

  2. Napisz skrypt, zawierający dwie procedury. Pierwsza procedura powinna wyświetlić napis: Czy chcesz zakończyć program? (t/n), pobrać znak od użytkownika oraz wywołać drugą jednoargumentową procedurę. Druga procedura powinna sprawdzić czy pobrany znak to 't', jeżeli nie ponownie wywołuje pierwszą procedurę.
    Wejście:
    Brak.
    Wyjście:
    Na ekranie pojawia się napis "Czy chcesz zakończyć program? (t/n)". Po wpisaniu opcji tak (t) powinien zakończyć się program w przeciwnym razie komunikat powinien pojawić się ponownie.
    Warunki poprawności zadania:
    Na ekranie powinno pojawić się odpowiedni komunikat. Należy zdefiniować i wywołać odpowiednie procedury odpowiadające za wyświetlenie komunikatu oraz sprawdzenie pobranej opcji. Upewnij się czy program kończy działanie w odpowiednim momencie.

  3. Napisz skrypt, który będzie zawierał trzyargumentową funkcję, która zwróci krotkę zawierającą najmniejszą i największą wartość spośród podanych argumentów.
    Wejście:
    Zmienne a, b, c przechowujące liczby rzeczywiste, które są podawane jako argument funkcji.
    Wyjście:
    Na ekranie pojawia się informacja, która spośród liczb a, b, c jest największa, a które najmniejsza.
    Warunki poprawności zadania:
    Na ekranie powinien pojawić się odpowiedni komunikat. Należy zdefiniować i wywołać funkcje, która pobierze odpowiednie argumenty i zwróci odpowiednie liczby.

  4. Napisz skrypt, który będzie zawierał trzyargumentową funkcję sprawdzającą czy z podanych liczb możliwe jest zbudowanie trójkąta. Jeżeli jest to możliwe powinna zwrócić 1 (albo True) w przeciwnym razie 0 (albo False). Zdefiniuj drugą funkcję pomocniczą, sprawdzającą czy podane liczby są dodatnie, która zostanie wywołana w pierwszej funkcji.
    Wejście:
    Zmienne a, b, c przechowujące liczby całkowite dodatnie, które są podawane jako argument funkcji.
    Wyjście:
    Na ekranie pojawia się komunikat informujący, czy możliwe jest zbudowanie trójkąta o długościach a, b, c.
    Warunki poprawności zadania:
    Na ekranie powinien pojawić się odpowiedni komunikat. Należy zdefiniować i wywołać funkcję, która pobierze odpowiednie argumenty i zwróci prawidłowy wynik, na podstawie którego zostanie wyświetlony odpowiedni komunikat. Upewnij się, że program działa prawidłowo dla różnych wartości a, b, c.

  5. Napisz skrypt, który będzie zawierał trzyargumentową funkcję (argument n, z1, z2), która zwróci listę zawierającą wartości n pseudolosowych z liczb całkowitych zakresu od z1 do z2. Podpowiedź: W celu wylosowania liczby możesz zaimportować bibliotekę random oraz użyć funkcji randint. Pseudolosowanie liczby całkowitej z zakresu od liczba1 do liczba2: random.randint(liczba1, liczba2)
    Wejście:
    Zmienne n, z1, z2 przechowujące liczby całkowite dodatnie, które są argumentami funkcji.
    Wyjście:
    Na ekranie pojawia się n losowych liczb z zakresu z1 do z2
    Warunki poprawności zadania:
    Na ekranie powinien pojawić się odpowiedni komunikat. Należy zdefiniować i wywołać funkcję, która pobierze odpowiednie argumenty i zwróci odpowiednią listę, na podstawie której zostaną wyświetlone odpowiednie wartości.

  6. Napisz skrypt, który będzie zawierał jednoargumentową funkcję sprawdzającą czy podany napis zawiera wszystkie listery alfabetu angielskiego. Funkcja powinna zwrócić 1 (albo True) jeżeli tak lub 0 (albo False) jeżeli nie.

  7. Napisz skrypt, który będzie zawierał bezargumentową funkcję, która dla macierzy i wektora zwróci wektor będący ich iloczynem (mnożenie macierzy przez wektor)