Zadanie 1 Napisz program liczący iloraz iloczynów plac_pod
Transkrypt
Zadanie 1 Napisz program liczący iloraz iloczynów plac_pod
Zadanie 1 Napisz program liczący iloraz iloczynów plac_pod pracowników parzystych i pracowników nieparzystych (w liście uporządkowanej wg placy_pod). (Uwaga: wynik zależy od poziomu precyzji). Zadanie 2 Zdefiniuj kursor zawierający nazwiska i daty zatrudnienia wszystkich asystentów. Posłuż się tym kursorem do wyświetlenia następujących informacji (wykorzystaj polecenia OPEN-FETCH-CLOSE). Zadanie 3 Zdefiniuj kursor, dzięki któremu będzie można wyświetlić 3 najlepiej zarabiających pracowników. Posłuż się atrybutem kursora %ROWCOUNT. Zadanie 4 Zbuduj kursor, który pozwoli Ci zwiększyć o 20% płacę podstawową pracowników zatrudnionych w poniedziałek. Posłuż się pętlą FOR z kursorem. Zadanie 5 Zdefiniuj kursor, który posłuży do dokonania następującej modyfikacji: pracownikom zespołu 'ALGORYTMY' podnieś płacę dodatkową o 100 złotych, pracownikom zespołu 'ADMINISTRACJA' podnieś płacę dodatkową o 150 złotych a w pozostałych zespołach usuń stażystów. // zadanie podnosi place podstawowe. Zadanie 6 Napisz program, który zapyta się użytkownika o żądany etat a następnie wyświetli nazwiska wszystkich pracowników posiadających dany etat. Zastosuj pętlę FOR z kursorem sparametryzowanym. Zadanie 7 Rozszerz program z zadania 5 o obsługę błędów (np. niepoprawnego wpisania nazwy etatu). Zadanie 8 Napisz kursor, który odczyta informacje o wszystkich profesorach i przyzna im podwyżkę w wysokości 10% sumy płac podstawowych ich podwładnych. Jeśli po podwyżce pensja któregoś z profesorów przekroczyłaby 1000/2000 złotych, program powinien zgłosić błąd (skorzystaj z procedury RAISE APPLICATION ERROR) Zadanie 9 Napisz procedurę PODWYZKA, która wszystkim pracownikom zespołu (parametr) podniesie płacę podstawową o podany procent (parametr). Domyślnie podwyżka powinna wynosić 15%. Zadanie 10 Dodaj do powyższej procedury obsługę błędu – jeśli podano identyfikator nieistniejącego zespołu to procedura powinna zasygnalizować odpowiedni błąd. Zadanie 11 Napisz procedurę LICZBA_PRACOWNIKOW, która dla podanej nazwy zespołu (parametr) zwróci liczbę pracowników zatrudnionych w tym zespole. Liczba pracowników powinna być zwrócona przez argument wyjściowy. Procedura powinna obsługiwać podanie nieprawidłowej nazwy zespołu. Zadanie 12 Napisz procedurę NOWY_PRACOWNIK, która będzie służyła do wstawiania nowych pracowników. Procedura powinna przyjmować nazwisko nowego pracownika, nazwę zespołu, nazwisko jego szefa i wartość płacy podstawowej. Domyślną datą zatrudnienia jest bieżąca data, domyślnym etatem ‘STAŻYSTA’. Procedura powinna obsługiwać błędy podania błędnego zespołu i błędnego nazwiska szefa. Zadanie 13 Napisz funkcję PLACA_NETTO, która dla podanej płacy brutto (parametr) i podanej stawki podatku (parametr o wartości domyślnej 20%) wyliczy płacę netto. Zadanie 14 Napisz funkcję SILNIA, która dla danego n obliczy n! = 1 * 2 * ... * n (zastosuj iterację) Zadanie 15 Napisz rekurencyjną wersję funkcji SILNIA Zadanie 16 Napisz funkcję, która dla daty zatrudnienia pracownika wylicza staż pracy w latach.