Wybierz minimum 2 zadania. Aby zadanie było zaliczone musi być rozwiązane przynajmniej w 50%.
(0 – 15 pkt) ndst.
(15.5 – 19.5) dop
(20 – 22.5) dst
(23 - 26) db
(26.5 – 28.5) bdb
(29 - 30) cel
Uwaga: W programach oceniane będą:
- poprawność wykonania zadania
- wrażliwość na niepoprawne dane
- czytelność dla użytkownika
Zadanie 1. (6pkt lub 10pkt*)
Oblicz odległość między dwoma punktami A i B w przestrzeni trójwymiarowej wg wzoru:
Napisz procedurę wczytującą współrzędne punktów A(xA,yA,zA) i B(xB,yB,zB) oraz funkcję obliczającą odległość d.
* jeżeli zadanie zostanie rozwiązane z wykorzystaniem rekordów (punkt = rekord)
Zadanie 2. (5pkt)
Dana jest liczba całkowita dodatnia a (o max wartości = 32678). Napisz funkcję obliczającą sumę jej cyfr, a następnie program, w którym przetestujesz działanie funkcji.
Zadanie 3. (6pkt)
Aby zbudować piramidę o podstawie 5 kwadratów jak na rysunku 1 potrzeba 15 elementów. Ile kwadratów potrzeba do zbudowania piramidy o podstawie mającej n kwadratów?. Odpowiedz na to pytanie konstruując algorytm (funkcję), przyjmując że n <=255.
Zadanie 4. (8pkt)
Napisz program (funkcję), który podane słowo zaszyfruje metodą płotu o dwóch rzędach.
Metoda Płotu:
Dla słowa szyfrowanie
s f w i
z y r o a n e
otrzymujemy zaszyfrowane słowo: sfwizyroane
Zadanie 5. (10 pkt)
Danych jest n liczb naturalnych (losowych) nie większych od 100. Napisz program, który wyznaczy liczbę, która pojawiła się najrzadziej. Jeśli istnieje kilka liczb występujących najrzadziej wypisz największą z nich. (uwaga: n<=100; napisz procedurę wczytującą liczby losowe do tablicy i funkcję sprawdzającą, która liczba pojawia się najrzadziej)
Zadanie 6. (6pkt)
Znając wartość liczby całkowitej n oblicz wartość wyrażenia
Zadanie 7. (8pkt)
Liczbą doskonałą nazywamy taką liczbę naturalną, której suma wszystkich podzielników mniejszych od niej samej daje w wyniku tą liczbę. Np. liczbami doskonałymi są: 6, 28 bo:
6=1+2+3
28=1+2+4+7+14
Napisz funkcję, która sprawdzi, czy podana liczba jest dokonała czy też nie.
Zadanie 8. (13pkt)
Bank po upływie każdego miesiąca dokonuje kapitalizacji odsetek, tzn. powiększa wkład o jedną dwunastą kwoty p% z k, gdzie k jest kwotą na początku miesiąca, zaś p oprocentowaniem w stosunku rocznym.
Przykładowo: jeżeli k=1000 i p=12, to po upływie miesiąca bank obliczy odsetki i dopisze je do kwoty wkładu k: p% z k = 12% z 1000 = 120 zł; 120 / 12 = 10 zł; k := k + 10 zł = 1010 zł
Tak otrzymana kwota będzie kwotą początkową w drugim miesiącu oszczędzania.
Znając kwotę początkową n, oprocentowanie p w stosunku rocznym oraz ilość miesięcy m, na które złożono lokatę terminową, wyznacz wartość kwoty końcowej po upływie tego okresu.
(zastosuj funkcję rekurencyjną)
Zadanie 9. (7pkt)
Dla danych dwóch liczb naturalnych a i b, wyznaczyć ostatnią cyfrę liczby.
Napisz program, który:
· wczyta podstawę a oraz wykładnik b
· wyznaczy ostatnią cyfrę liczby ,
· wypisze wynik.
Zadanie 10. (18pkt)
Autobus odjeżdża z dworca Szczecin Główny o godzinie T1 i dojeżdża do Gdyni o godzinie T2. Napisz program, który wyznaczy czas podróży.
Wejście:
Pierwszy wiersz wejścia - trzy liczby całkowite: godzina, minuty oraz sekundy czasu T1.
W wierszu drugim podobnie podajemy czas T2.
Wyjście
Czas podróży, tj. w przykładzie:
Przykład
Dla danych:
9 43 48
10 27 9
poprawną odpowiedzią jest:
0 godzin
43 minut
21 sekund
Zadanie11. (20pkt)
Napisz program, w którym:
a) zdefiniujesz procedurę zapisującą 100 liczb całkowitych (nie większych od 100) do pliku elementowego plik1.dta;
b) zdefiniujesz procedurę wczytującą liczby losowe z pliku do tablicy
c) zdefiniujesz procedurę sortującą tablicę liczb metodą przez wstawianie
d) zdefiniujesz procedurę zapisującą posortowane liczby (z tablicy) do pliku elementowego plik2.dta;
edadacz