Zad. 1. Janek napisał następującą procedurę:
procedura funkcja(n)
początek
jeśli n<1 to zwróć 1
w przeciwnym razie zwróć (n+1)*funkcja(n-2)
koniec
Ile wynosi funkcja(2014)? Jaką operację arytmetyczną opisuje funkcja(n) zastosowana do liczb naturalnych?
Zad. 2. Zapisz (wg powyższego wzoru) procedurę zaokrąglenie(n), która dla zadanej liczby rzeczywistej podaje jej zaokrąglenie do najbliższej liczby całkowitej.
Zad. 3. Na kalkulatorze prostym wielokrotne naciskanie klawisza = powoduje powtórzenie ostatnio wykonanego działania dla liczby aktualnie wyświetlonej na ekranie, np. 3+2=====... daje po kolejnych naciśnięciach klawisza = kolejne wyniki 5, 7, 9, 11, 13...
Jakie działanie trzeba wpisać i ile razy nacisnąć klawisz =, aby rozwiązać na kalkulatorze prostym następujące zadanie "Supermen jest w odległości 12 km od Ziemi i leci na Księżyc. W każdej minucie podwaja swoją odległość od Ziemi. Ile czasu będzie trwała ta podróż?". A ile czasu będzie trwała (z dokładnością do minut)?
Najwięcej kłopotu sprawiło zawodnikom zadanie 3, gdyż większość zrobiła je "na sucho", nie sprawdzając działania rekurencyjnego mnożenia na kalkulatorze, a tu był ukryty haczyk związany z kolejnością zapisu (12x2 skutkuje mnożeniem przez 12). Nikt z zawodników nie uwzględnił również odległości Księżyca w apogeum. W zadaniu 2 zapis procedury nie zawsze był optymalny lub choćby zbliżony do optymalnego. W efekcie maksymalną liczbę 3 pkt. uzyskał w tym miesiącu tylko Krzysztof Danielak z I LO w Jeleniej Górze, 2,5 pkt. - Tomasz Skalski - student matematyki na Politechnice Wrocławskiej, a po 2 pkt. Kamila Bojar z ZSP w Szprotawie, Daria Bumażnik z II LO w Jeleniej Górze, Marzena Wąsiewicz - informatyk i gospodyni domowa z Kajetan i Adam Wrzesiński - urzędnik z Bielska Białej. Gratulujemy!
W czołówce Ligi kalkulatorowo-komputerowej (z punktami na 18 możliwych) znajdują się:
- Marzena Wąsiewicz (16 pkt)
- Daria Bumażnik i Krystyna Lisiowska (15 pkt)
- Andrzej Piasecki - administrator IT z Oleśnicy (14,5 pkt).
Zad. 1. Procedura funkcja(2014) zwraca wartość 2015!! [czytaj: 2015 podwójna silnia], czyli około 2,032877846133067622775767484380530676600·102893 (jest to liczba o 2894 cyfrach, z których pierwszych 40 podano powyżej). Procedura funkcja zastosowana do liczby naturalnej n zwraca wartość (n+1)!!. Operacja podwójnej silni liczby naturalnej n!! podaje iloczyn liczb naturalnych o tej samej parzystości
co n i nieprzekraczających n.
Zad. 2. Przykładowe rozwiązanie. Symbol [x] oznacza część całkowitą liczby.
procedura zaokrąglenie(n)
początek
zwróć [n+1/2]
koniec
Zad. 3. Należy wpisać 2×12 (odwrotnie niż przy dodawaniu!) i nacisnąć klawisz "=" 15 razy. Uzyskamy wtedy odległość pokonaną przez Supermena 393 216 km, a to zazwyczaj wystarczy, aby dolecieć do Księżyca, bo średnia odległość Ziemia-Księżyc to 384 403 km. Jednak odległość ta w apogeum wynosi aż 406 731 km. Należy co prawda pamiętać, że jest ona mierzona pomiędzy środkami ciał niebieskich, zatem należy pomniejszyć ją o długość promienia Ziemi (6371 km), promienia Księżyca (1737 km) i 12 km już przeleciane wcześniej. Jednak daje to wciąż 398 611 km. Zatem podróż Supermena na Księżyc przez większą część miesiąca trwa 15 minut, ale są takie dni, kiedy potrzebna jest 16 minuta.
Kalkulator prosty?
Szkoda, że poprawność rozwiązania zadań opiera się na haczykach ukrytych w niekonsekwentnym działaniu niektórych urządzeń. Przypuszczam, że większość z tych, którzy podali odpowiedź "12x2", korzystali z kalkulatorów w swoich telefonach lub komputerach. Dociekliwi mogą sprawdzić, że kalkulator wbudowany w Windows działa zgodnie z oczekiwaniami użytkowników czyli odwrotnie niż podaje Autor. A gdy kalkulator z Windows zostanie ustawiony w trybie "standard", jego funkcjonalność (tylko podstawowe działania arytmetyczne) nie różni się od "prawdziwego" kalkulatora prostego. No, może jakimś haczykiem :)
Kalkulator
Sprawdziłem swój kalkulator i działa 12*2====, windowsowki tak samo, no comment.
Re: kalkulator
W treści mowa o kalkulatorze prostym, co dzięki CKE jest zdefiniowane dość precyzyjnie. Być może na pewnych kalkulatorach wielokrotne mnożenie działa tak, jak opisano powyżej, ale jak działa na nich dodawanie? Powinno działać odwrotnie. Stąd przykład z dodawaniem w treści zadania, żeby można było ustalić kolejność wpisania mnożenia.
Zadanie 2
Kod algorytmu 1 wyraźnie wskazuje, że trzeba napisać rekurencję, a autor rozwiązania podaje przykład z cechą. Równie dobrze można wykorzystać gotowe funkcje liczące zaokrąglenie. Nie widzę logiki działania. Ja napisałem rekurencję i nie wiem, czy da się ją prościej napisać, więc nie wiem, czy jest optymalna, ale na pewno zbliżona do optymalnej!
Rekurencja
Zad. 2. Także moim zdaniem "zapisz wg wzoru" sugeruje rekurencję, a nie rozwiązanie "optymalne". Procedura z zadania 1 zapewne też nie jest "optymalna". Można ją zapisać np. za pomocą pętli a nie rekurencji. A swoją drogą podane rozwiązanie "dla zadanej liczby rzeczywistej" -0,9 da wynik 0. Czy o takie zaokrąglenie chodzi?
Zad. 3. Zakładając, że lecący Supermen porusza się po wykresie funkcji 12·2x, przebycie 400 000 km zajmie mu 15 minut i niecałe 2 sekundy, czyli "z dokładnością do minut" cały czas 15 minut :)
Odpowiedzi
1) Stwierdzenie "wg powyższego wzoru" dotyczy formy zapisania odpowiedzi (w języku naturalnym), a nie jej zawartości merytorycznej.
2) Funkcja "część całkowita liczby x" zgodnie z definicją podaje największą liczbę całkowitą nieprzekraczającą x. Zatem [-0,9 + 1/2]=-1.
3) Supermen porusza się po prostej, nie po wykresie funkcji wykładniczej.
4) Z dokładnością do "pełnych minut" nie oznacza wczale zaokrąglenia do najbliższej liczby minut, ale całkowitą liczbę minut potrzebną na ukończenie podróży. 15 minut to (czasem) za mało.
Ze strony CKE
Cytat ze strony CKE: "Kalkulator prosty – jest to kalkulator, który umożliwia wykonanie tylko dodawania, odejmowania, mnożenia, dzielenia, ewentualnie obliczanie procentów lub pierwiastków kwadratowych z liczb." Nie ma tu informacji o sposobie zachowania się w przypadku wielokrotnego wciskania znaku =. Jury zarzuca robienie zadań "na sucho", a jednocześnie twierdzi: "dodawanie powinno działać odwrotnie". Niestety, a raczej "stety", w windowsowskim kalkulatorze 3+2=== daje 9, a nie 11. Sorry, ale po rekurencji to kolejna wpadka.