Etap II
Transkrypt
Etap II
Uniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy kategoria gimnazjum i liceum IX FORDOŃSKI TURNIEJ WIEDZY ALGORYTMICZNEJ etap 2 WYPEŁNIJ TABELĘ DRUKOWANYMI LITERAMI! Nazwisko i imię ucznia: Nazwa szkoły: Nazwisko i imię opiekuna (nauczyciela informatyki): Adres mailowy ucznia: Bydgoszcz, 24 kwietnia 2010 Fordoński Turniej Wiedzy Algorytmicznej Zadanie 1 (kategoria gimnazjum) Edycja IX – kwiecień 2010 DODAWANIE UŁAMKÓW etap II 10pkt Napisz program obliczający sumę dwóch ułamków zwykłych o różnych mianownikach zgodnie z poniższym opisem: 1. Program prosi o podanie licznika i mianownika pierwszego oraz drugiego ułamka. 2. Wyszukuje najmniejszy wspólny mianownik wprowadzonych przez użytkownika mianowników ułamków. 3. Sprowadza oba ułamki do wspólnego mianownika. 4. Oblicza sumę dwóch ułamków. 5. Jeśli to możliwe skraca otrzymany ułamek. 6. Jeśli otrzymany ułamek jest ułamkiem niewłaściwym, wyciąga całości i wynik zapisuje w postaci liczby mieszanej. 7. Ostateczny wynik zapisuje w postaci ułamka dziesiętnego. Przykład działania programu Dla wprowadzonych liczb: 5, 12, 5, 6 mamy 5/12 + 5/6 = 5/12 + 10/12 = 15/12 = 5/4 = 1 i 1/4 = 1,25 Zadanie 2 (kategoria gimnazjum i liceum) SZYFROWANIE DANYCH 10pkt W jaki sposób przekazać komuś ważną, ale poufną informację? Jak wydać rozkaz odległym oddziałom swojej armii, żeby wróg nie rozszyfrował naszych planów? Jak zapisać hasła użytkowników serwisów internetowych, żeby hackerzy nie uzyskali nieautoryzowanego dostępu do zasobów prywatnych kont? Najlepszą metodą jest zaszyfrowanie danych. Już przed naszą erą Juliusz Cezar przesyłał do Cycerona zaszyfrowane wiadomości. Do dzisiaj jedna z metod szyfrowania danych nosi nazwę „Szyfr Cezara”. Polega ona na zastępowaniu każdej litery szyfrowanego tekstu tą, która w alfabecie znajduje się o trzy miejsca dalej: litera a była zamieniana na d, litera b na e, a gdy alfabet dobiegał końca, wracano do początku i litera z była zamieniana na c. Tekst szyfrowany był ciągiem znaków niezawierających spacji. Twoje zadanie polega na zbudowaniu algorytmu szyfrującego i deszyfrującego dane zgodnie z poniższym opisem: 1. Program prosi użytkownika o podanie tekstu (bez użycia cyfr) do zaszyfrowania. 2. Program prosi użytkownika o podanie klucza szyfrowania (liczba naturalna z zakresu do 3 do 20). 3. Program zamienia wszystkie wielkie litery na małe litery alfabetu. 4. Program usuwa wszystkie spacje z wprowadzonego przez użytkownika tekstu. 5. Program odwraca kolejność znaków wprowadzonego tekstu (pierwsze znaki stają się ostatnimi, a ostatnie pierwszymi) 6. Program zamienia każdą literę szyfrowanego tekstu (podobnie jak w Szyfrze Cezara) z tą, która w alfabecie znajduje się o tyle miejsc od danej litery ile wynosi klucz szyfrowania, ale z zastrzeżeniem, że wszystkie litery parzyste zamieniane są z przesunięciem w przód, a nieparzyste z przesunięciem w tył. Do szyfrowania wykorzystaj jedynie 26 podstawowych liter alfabetu, czyli: abcdefghijklmnopqrstuvwxyz. Deszyfrowanie przebiega w odwrotnej kolejności, ale wymaga podania przez użytkownika klucza deszyfrowania. Tekst deszyfrowany powinien zostać wyświetlony bez wielkich liter oraz bez spacji. Przykład działania programu zgodny z powyższymi punktami: 1. 2. 3. 4. 5. 6. Ala ma kota Mruczka 5 ala ma kota mruczka alamakotamruczka akzcurmatokamala vpuhpwhfotffhfgf Dla tekstu „Ala ma kota Mruczka” otrzymamy więc tekst zaszyfrowany „vpuhpwhfotffhfgf”, który po odszyfrowaniu powinien mieć postać „alamakotamruczka”. 2 Fordoński Turniej Wiedzy Algorytmicznej Zadanie 3 (kategoria gimnazjum i liceum) Edycja IX – kwiecień 2010 LICZBY ZAPRZYJAŹNIONE etap II 10pkt Zapytano kiedyś Pitagorasa: „Co to jest przyjaciel?” - odpowiedział: „Przyjaciel to drugi ja; przyjaźń, to stosunek liczb 220 i 284”. Stąd podobno pochodzi owa niezwykła nazwa liczb zaprzyjaźnionych. W starożytności liczbom zaprzyjaźnionym przypisywano znaczenie mistyczne. Dwie liczby A i B nazywają się zaprzyjaźnionymi jeżeli suma wszystkich dzielników liczby A (mniejszych od niej samej) jest równa liczbie B i odwrotnie, suma wszystkich dzielników liczby B (mniejszych od niej samej) jest równa liczbie A. Czy takimi liczbami „przyjaciółkami” są liczby wskazane przez Pitagorasa? Szukamy więc dzielników obu liczb, ale mniejszych od tych liczb: D220 = {1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110} D284 = {1, 2, 4, 71, 142} Obliczamy sumę dzielników obu liczb. Istotnie, 1+2+4+71+142=220, więc liczba 220 jest sumą dzielników liczby 284, a 1+2+4+5+10+11+20+22+44+55+110=284, więc liczba 284 jest sumą dzielników liczby 220. Każda liczba doskonała (czyli taka liczba, która jest równa sumie wszystkich swoich dzielników mniejszych od niej samej, np. 6, ponieważ 6 = 1 + 2 + 3) jest zaprzyjaźniona sama ze sobą. Nie wiadomo czy istnieje nieskończenie wiele liczb zaprzyjaźnionych. Poniższa tabela przedstawia 21 przykładów par liczb zaprzyjaźnionych: A 6 28 220 496 1 184 2 620 5 020 6 232 8 128 10 744 12 285 17 296 63 020 66 928 67 095 69 615 79 750 100 485 122 265 122 368 9 363 584 B 6 28 284 496 1 210 2 924 5 564 6 368 8 128 10 856 14 595 18 416 76 084 66 992 71 145 87 633 88 730 124 155 139 815 123 152 9 437 056 Napisz program wyszukujący liczby zaprzyjaźnione w określonym przez użytkownika przedziale. W wyszukiwaniu par liczb uwzględnij również liczby doskonałe. 3 Fordoński Turniej Wiedzy Algorytmicznej Zadanie 4 (kategoria liceum) Edycja IX – kwiecień 2010 BLACK JACK (OCZKO) etap II 10pkt ZASADY GRY: Black Jacka rozgrywa się przy pomocy czterech standardowych talii kart, po 52 karty każda (oprócz jokerów). Karty od dwójek do dziesiątek punktuje się odpowiednio od dwóch do dziesięciu punktów, natomiast figury mają zawsze dziesięć punktów. Asy są kartami, które mogą mieć po jednym lub po jedenaście punktów w zależności od tego, czy dodanie 11 przekroczyłoby 21 punktów. Celem gracza jest takie dobranie kart, które pozwoli osiągnąć sumę punktów 21 lub możliwie jak najbliższą tej sumie, ale bez jej przekraczania. Najwyższym układem kart w Black Jack, gwarantującym najwyższą wygraną graczowi jest układ zwany „Black Jack”. Układ taki można utworzyć posiadając 21 punktów z dwóch kart tj. asa i dziesiątki lub figury. Rozgrywka w grze Black Jack rozpoczyna się od rozdania graczowi i krupierowi po dwie karty. Karty gracza są odkryte, u krupiera zaś jedna z kart jest odkryta a druga zakryta. W zależności od posiadanego układu kart gracz może wykonać kolejny ruch. Kolejnym ruchem gracza w Black Jack może być dobranie kolejnej karty (hit) lub też czekanie (stand). Gracz na tym etapie gry może podwoić stawkę (double), rozdzielić karty na dwie ręce (split) lub też ubezpieczyć karty (insurance). W sytuacji gdy gracz decyduje się czekać, karty krupiera są odsłaniane. Jeżeli wartość kart gracza jest bliższa liczbie 21 niż wartość kart krupiera, gracz wygrywa i dostaje 200%postawionej kwoty. Jeżeli gracz ma Black Jack wygrywa 250% postawionej kwoty, zakładając że rozdający nie ma Black Jack. Jeśli gracz ma taką samą liczbę oczek jak krupier, ale co najmniej 17, nikt nie wygrywa, a gracz dostaje swój zakład z powrotem. Gracz może dobrać kolejną kartę gdy uważa, że po jej odsłonięciu suma punktów nadal nie przekroczy liczby 21. Gdy bowiem suma ta przekroczy tę liczbę, następuje bankructwo (bust) i gracz przegrywa rozdanie. Gracz może także czekać i nie dobierać kart jeśli uzna, że posiada już układ wystarczająco bliski liczbie 21. W tym momencie następuje odsłonięcie przez krupiera jego drugiej karty. Następnie krupier postępuje według jednej z dwóch zasad: - musi dobrać kolejną kartę jeżeli ma 16 punktów lub mniej, - nie może dobrać kolejnej karty jeżeli ma 17 punktów lub więcej. po czym zostaje ogłoszony zwycięzca. Jeśli pierwsze dwie karty gracza dają razem sumę 10 lub 11, gracz może skorzystać z opcji podwojenia zakładu, co pozwala graczowi dobrać trzecią kartę, ale tylko jedną. Jeśli dwie pierwsze karty gracza są tej samej wartości (np. dwie damy), można je rozdzielić na dwa oddzielne rozdania, stawiając jednocześnie drugi zakład tej samej wartości. Następnie gracz powinien dobrać kolejne karty. Po rozdzieleniu dwóch asów można dobrać tylko po jednej dodatkowej karcie dla każdego rozdania. Jeśli rozdzielone zostaną dwa asy i jedno z rozdań będzie wynosiło 21 punktów, to nie będzie to Black Jack tylko 21 punktów. W Black Jack nie można rozdzielać już rozdzielonych rozdań! Jeśli krupier na początku rozdania dostanie asa, gracz może się ubezpieczyć na wypadek Black Jack. Cena za ubezpieczenie wynosi połowę oryginalnego zakładu. Jeśli krupier będzie miał Black Jack, gracz otrzyma zwrot stawki oraz ubezpieczenia i de facto wychodzi „na zero”. Jeśli krupier nie ma Black Jack, przepada z kolei zakład ubezpieczenia, a gra toczy się dalej. Twoje zadanie polega na napisaniu komputerowej wersji tej gry zgodnie z powyższym opisem. 4