WDI – zajęcia 14

1. (9p.) Dany jest plik pracownicy.txt o następującym formacie:

Anna,Abacka,mazowieckie,4500,6,informatyk

Bernard,Babacki,lodzkie,4300,3,ksiegowy

Czesław,Cabacki,pomorskie,5000,16,prawnik

w którym każdy wiersz zawiera następujące informacje o pracowniku:
imię,nazwisko,województwo,wynagrodzenie,stażPracy,zawód
Napisz następujące skrypty korzystające z pliku pracownicy.txt
(co najmniej jeden z nich powinien być napisany w BASH-u):

  • srN[.sh|.py], parametry: liczba naturalna N.

    Skrypt ma wypisać średnie wynagrodzenie wśród pierwszych N osób o najwyższym wynagrodzeniu.

  • ktoNZ[.sh|.py], parametry: liczba naturalna N, zawod Z.

    Skrypt ma wypisać imię, nazwisko oraz staż pracy osoby, która ma N-te co do wysokości wynagrodzenie wśród wszystkich pracowników posiadających zawód Z.

  • wynWZ[.sh|.py], parametry: wojewodztwo W, zawod Z.

    Skrypt wypisze imię, nazwisko oraz całkowity dotychczasowy dochód (wynagrodzenie × stazPracy) wszystkich pracowników mających zawód Z, pracujących w województwie W.

Continue reading “WDI – zajęcia 14”

WDI – zajęcia 2

Zadania na laboratorium nr 2:

  1. Zaimplementuj funkcję kalkulator(d, a, b), która przyjmuje jako parametr rodzaj wykonywanego działania i dwa parametry liczbowe i zwraca wynik w postaci liczbowej. Można założyć, że działanie jest pojedynczym znakiem ze zbioru {“+”, “-“, “*”, “/”}. Przykładowo kalkulator(“+”, 2, 2) ma zwrócić 4.
  2. Spróbuj rozwiązać to zadanie używając funkcji eval.
  3. Zaimplementuj funkcję double_sum.
  4. Znajdź sumę liczb naturalnych mniejszych niż 1000, które są wielokrotnościami 3 lub 5.
  5. Napisz iteracyjną funkcję fib(n), która dla zadanej liczby całkowitej dodatniej n zwróci n-ty wyraz ciągu Fibonacciego.
  6. Napisz funkcję palindrom(s), która dla zadanego ciągu znaków s sprawdzi, czy napis ten jest palindromem.
  7. (★) Dana jest lista N liczb. Czy istnieje liczba występująca na tej liście więcej niż N/2 razy?
  8. (★) W przestrzeni rozmieszczono n punktów w taki sposób, że żadne trzy z nich nie są współliniowe. Następnie każdą parę tych punktów połączono odcinkiem i każdy odcinek pokolorowano na czarno albo na czerwono. Trójkątem jednobarwnym nazwiemy każdy trójkąt mający wszystkie trzy boki tego samego koloru. Dane jest n = 6 punktów oraz lista czerwonych odcinków wyrażona za pomocą listy incydencji: l = [[1,3,5],[0,2,4],[1,3,5],[0,2,4],[1,3,5],[0,2,4]]. Indeks listy l oznacza punkt, a pod danym indeksem listy l znajduje się lista punktów z którymi ten punkt tworzy odcinek. Na przykład punkt o indeksie 0 tworzy odcinki z punktami o indeksach: 1,3 oraz 5 (l[0] = [1,3,5]). Znajdź liczbę wszystkich trójkątów jednobarwnych.