I N F O R M A T Y C Z N Y K O N K U R S T E M A T Y C Z N Y OD A L G O R Y T M U D O P R O G R A M U Etap wojewódzki 22 marca 2018 r. godz. 11.00 Instrukcja dla ucznia 1. Sprawdź, czy arkusz konkursowy z treścią zadao zawiera 6 stron. Ewentualny brak stron lub inne usterki zgłoś Komisji. 2. Sprawdź, czy na pulpicie utworzony został folder o nazwie zgodnej z wylosowanym przez Ciebie kodem (numerem komputera) oraz czy znajdują się w nim pliki: net.xlsx i fiber.in. Czas pracy: 120 minut 3. Czytaj uważnie wszystkie teksty i zadania. 4. Rozwiązania zadao zapisuj regularnie w folderze o nazwie zgodnej z wylosowanym przez Ciebie kodem. 5. Pamiętaj o poprawnym nazywaniu plików (zgodnie z instrukcją) z rozwiązaniami zadao. 6. Rozwiązując zadania zadbaj o uniwersalnośd rozwiązao tak, aby działały prawidłowo na innych zestawach danych wejściowych. Liczba punktów do uzyskania: 88 pkt. 7. Rozwiązując zadania, możesz wykorzystad wolne miejsca na arkuszu konkursowym, traktując je, jako brudnopis. Zapisy w brudnopisie nie będą sprawdzane i oceniane. 8. Po zakooczeniu czasu przeznaczonego na rozwiązywanie zadao zaloguj się na własne konto na platformie konkursowej i prześlij pliki będące rozwiązaniem zadao konkursowych. 9. Po przesłaniu plików zatwierdź swoje rozwiązanie po wykonaniu tej czynności nie będzie już możliwości dokonania zmian w wysłanych plikach. P O W O D Z E N I A Rok szkolny 2017/2018 strona 1 z 6
ZADANIE 1. (0 38) Plik źródłowy: net.xlsx (Zadanie można wykonać w programie MS Excel lub LibreOffice Calc) Do oceny należy oddad przemianowany plik, zawierający w nazwie Kod Ucznia (np. K101_net.xlsx lub K101_net.ods) Centrum obliczeniowe rozpisało przetarg na budowę sieci komputerowej. W tym celu wysłało zapytania zawierające wymagania techniczne budowy sieci. Na zapytanie odpowiedziały dwie firmy: BITNET oraz INSTAL-NET. Oferty przesłane przez te firmy umieszczone zostały w arkuszach: oferta-bitnet i oferta-instal-net skoroszytu net.xlsx. Dane te posłużą do rozwiązania zadao z punktów od A do F. Rozwiązując zadania należy przestrzegad poniższych uwag: 1. Wszelkie dodatkowe obliczenia pomocnicze należy umieścid bezpośrednio w arkuszach, których dotyczą - nie należy ich ukrywad. 2. Rozwiązując zadania zadbaj o uniwersalnośd rozwiązao gdyż mogą byd one sprawdzane na innych danych wejściowych. Zadbaj aby tworzone przez Ciebie formuły korzystały bezpośrednio ze stosownych pól w odpowiednich ofertach przedstawionych przez firmy. 3. Dane wejściowe do zadania zostały zabezpieczone przed zmianami, a ceny które należy użyd w dalszych obliczeniach wyróżniono szarym kolorem tła. 4. W arkuszach A, B, C, D, E, F wyróżniono: a. kolorem szarym komórki, do których należy wpisywad liczby celem testowania rozwiązao (zakres dozwolonych liczb pojawia się jako komunikat w regule sprawdzania poprawności danych), b. kolorem żółtym komórki, w których należy umieścid rozwiązania. Wykonaj poniższe zadania za pomocą odpowiednich formuł i funkcji arkusza kalkulacyjnego (przy każdej części zadania podano liczbę punktów możliwych do zdobycia). A. (0-4) Utwórz kalkulację, która po wprowadzeniu do komórki D2 arkusza A liczby paneli krosowniczych obliczy koocową ich wartośd. Kalkulacja ma byd oparta na ofercie firmy BITNET i ma uwzględniad upust cenowy polegający na tym, że co trzeci panel oferowany jest za darmo. Odpowiedź będącą wynikiem obliczeo umieśd w wyróżnionej komórce D4 arkusza A. B. (0-4) Utwórz kalkulację, która po wprowadzeniu do komórki D2 arkusza B liczby półek do szaf obliczy koocową ich wartośd. Kalkulacja ma byd oparta na ofercie firmy BITNET i ma uwzględniad upust cenowy polegający na tym, że przy zakupie przekraczającym 2 półki, cena jednostkowa każdej z nich zostaje obniżona do 99 zł. Odpowiedź będącą wynikiem obliczeo umieśd w wyróżnionej komórce D4 arkusza B. C. (0-5) Utwórz kalkulację, która po wprowadzeniu do komórki D2 arkusza C liczby switchy obliczy koocową ich wartośd. Kalkulacja ma byd oparta na ofercie firmy BITNET i ma uwzględniad upust cenowy polegający na tym, że w przypadku gdy wartośd switchy (przed upustem) przekroczy 3000 zł, firma udzieli 10% upustu od wartości zamówionych switchy. Odpowiedź będącą wynikiem obliczeo umieśd w wyróżnionej komórce D4 arkusza C. Rok szkolny 2017/2018 strona 2 z 6
D. (0-7) Utwórz kalkulację, która po wprowadzeniu do komórek D2 i D3 arkusza D odpowiednio: liczby patchkordów 180 cm i długości skrętki, obliczy koocową wartośd patchkordów o długości 180 cm. Kalkulacja ma byd oparta na ofercie firmy BITNET i ma uwzględniad upust cenowy polegający na tym, że przy zakupie powyżej 100 sztuk patchkordów oraz przy zamówieniu jednocześnie co najmniej 300 m skrętki, cena jednostkowa patchkordu zostaje obniżona o 1 zł. Odpowiedź umieśd w wyróżnionej komórce D4 arkusza D. E. (0-5) Utwórz kalkulację, która po wprowadzeniu do komórki D2 arkusza E długości skrętki nieekranowanej kat. 5e obliczy koocową jej wartośd. Kalkulacja ma byd oparta na ofercie firmy BITNET i ma uwzględniad upust cenowy polegający na tym, że przy zamówieniu do 100m skrętki - cena jednostkowa wynosi 0,99 zł za 1 m; powyżej 1000 m - 0,80 zł za 1 m; natomiast w przedziale od 101 m - 1000 m - cena jednostkowa maleje o 1 grosz co 50 m długości skrętki. Kilka przykładowych cen jednostkowych skrętki w zależności od jej długości przedstawia poniższa tabela: Zakres długości skrętki [m] Cena jednostkowa od do [zł] 0 100 0,99 101 150 0,98 151 200 0,97 201 250 0,96......... 951 1000 0,81 1001 Wzwyż 0,80 Odpowiedź będącą wynikiem obliczeo umieśd w wyróżnionej komórce D4 arkusza E. F. (0-13) Na podstawie przedstawionej oferty firmy INSTAL-NET uzupełnij kalkulację cenową wykonania sieci komputerowej, uwzględniającą wszystkie warunki cenowe przedstawione w ofercie. Wszystkie ceny wynikające z zastosowanych w kalkulacji obliczeo powinny byd zaokrąglane za pomocą odpowiednich funkcji arkusza do dwóch miejsc po przecinku (pełnych groszy) - zgodnie z ogólnymi zasadami zaokrąglania. Odpowiedzi będące wynikami obliczeo umieśd w wyróżnionych kolorem żółtym komórkach arkusza F. Rok szkolny 2017/2018 strona 3 z 6
ZADANIE 2. (0 50) Do oceny należy oddad plik, zawierający w nazwie Kod Ucznia (np. K101_fiber.cpp lub K101_fiber.c) Firma instalująca sied komputerową dostała zlecenie zaprojektowania i wykonania sieci w nowym centrum obliczeniowym, które składa się z pracowni komputerowych umieszczonych w jednym budynku wzdłuż korytarza. Centrum obliczeniowe przekazało w pliku wejściowym fiber.in informację o liczbie, do których należy doprowadzid okablowanie w poszczególnych pracowniach oraz o położeniu poszczególnych pracowni wzdłuż korytarza. Sied komputerowa powinna byd zbudowana w taki sposób aby kable światłowodowe z każdego komputera były poprowadzone wzdłuż korytarza do centralnej szafy dystrybucyjnej, która zostanie umiejscowiona w jednej z pracowni. Najważniejszym celem projektu sieci jest zminimalizowanie sumarycznej długości kabla światłowodowego użytego do budowy sieci. W związku z tym należy dokonad odpowiednich obliczeo mających na celu wytypowanie pracowni, w której umieszczona zostanie szafa dystrybucyjna. Dla uproszczenia obliczeo należy pominąd długośd okablowania prowadzonego bezpośrednio w poszczególnych pracowniach komputerowych. Budowa pliku wejściowego W pierwszym wierszu pliku tekstowego fiber.in jest zapisana jedna liczba całkowita n równa liczbie pracowni komputerowych, 5 <= n <= 100. W każdym z kolejnych n wierszy zapisana jest para nieujemnych liczb całkowitych oddzielonych pojedynczym odstępem. Liczby d i k i zapisane w (i+1)-ym wierszu to odpowiednio: odległośd od początku korytarza do pracowni komputerowej nr i oraz liczba w pracowni komputerowej o numerze i. Całkowita długośd korytarza nie przekracza 1000 metrów. Liczba w każdej pracowni nie przekracza 100. Przykład organizacji danych pliku fiber.in: 5 0 20 5 5 15 10 20 12 30 15 Dane zawarte w pliku fiber.in obrazuje poniższy rysunek (na rysunku zaproponowano umieszczenie szafy dystrybucyjnej w pracowni nr 4). Pracownia nr 1 20 Pracownia nr 2 5 Pracownia nr 3 10 Pracownia nr 4 12 Pracownia nr 5 15 0 5 15 20 30 KORYTARZ Jeśli przyjmiemy, że szafa dystrybucyjna zostanie umiejscowiona w pracowni nr 4, to sumaryczna długośd kabla światłowodowego potrzebnego do podłączenia zgodnie z warunkami zlecenia wyniesie 675 metrów. Poniższa tabela zawiera kalkulację prowadzącą do otrzymania tego wyniku: Rok szkolny 2017/2018 strona 4 z 6
Nr pracowni INFORMATYCZNY KONKURS TEMATYCZNY DLA UCZNIÓW KLAS GIMNAZJALNYCH Liczba Odległośd pracowni od szafy dystrybucyjnej [m] 1 20 20 400 2 5 15 75 3 10 5 50 4 12 0 0 5 15 10 150 SUMARYCZNA DŁUGOŚD KABLA 675 Długośd kabla do podłączenia w pracowni [m] Korzystając z powyższych informacji napisz program, który wykona czynności wymienione w punktach od A do E (przy każdym z nich podano maksymalną punktację możliwą do uzyskania): A. (0-6) Wczytaj z pliku tekstowego fiber.in liczbę pracowni, odległości pracowni od początku korytarza oraz liczbę w poszczególnych pracowniach, zapamiętaj te dane do późniejszego wykorzystania w odpowiednich strukturach danych oraz umieśd w kodzie źródłowym w postaci komentarzy nazwy zmiennych wraz z typami danych jakie zostały użyte do zapamiętania powyższych informacji. B. (0-4) Wyświetl na ekranie zestawienie ilości w poszczególnych pracowniach zawierające symbol pracowni złożony z litery P wraz z kolejnym numerem od 1 do n (n to liczba pracowni) oraz ilości w poszczególnych pracowniach. C. (0-5) Oblicz i wyświetl na ekranie łączną liczbę w centrum obliczeniowym. D. (0-7) Oblicz i wyświetl na ekranie liczbę pracowni, w których zaplanowano instalację nieparzystej ilości. E. (0-10) Oblicz i wyświetl na ekranie minimalną długośd kabla światłowodowego przeznaczonego do połączenia zgodnie z warunkami zlecenia. F. (0-6) Oblicz i wyświetl na ekranie numer pracowni, w której należy umieścid centralną szafę dystrybucyjną aby zminimalizowad zużycie kabla światłowodowego do połączenia zgodnie z warunkami zlecenia. Możesz założyd że dla danych wejściowych istnieje tylko jedna taka pracownia. UWAGI DO ROZWIĄZAO Oprócz punktacji za poszczególne elementy zadania będą przyznawane punkty za: odpowiednie dobranie typów danych do przechowywanych zawartości, poprawną inicjalizację zmiennych, czytelnośd i przejrzystośd kodu; zastosowanie algorytmu o jak najmniejszej złożoności obliczeniowej. Za te elementy zadania można uzyskad maksymalnie od 0 do 12 punktów. Dane zawarte w przykładowym pliku źródłowym fiber.in są poprawne (nie wymagają sprawdzania poprawności). Rok szkolny 2017/2018 strona 5 z 6
Rozwiązania będą testowane na innych danych niż załączone do zadania (zgodnych ze specyfikacją zadania). Do oceny należy przesład tylko plik źródłowy (z rozszerzeniem cpp lub c), realizujący rozwiązanie zadao z punktów od A do F, nie należy załączad pliku wykonywalnego exe. Program powinien składad się tylko z jednego pliku i korzystad jedynie ze standardowych bibliotek (iostream, cstdlib, stdio.h, math.h). Rozwiązania nie mogą otwierad jakichkolwiek plików (w szczególności zabronione jest tworzenie plików tymczasowych), tworzyd nowych procesów czy wątków, korzystad z funkcji sieciowych, oczekiwad na interakcję użytkownika, uruchamiad innych programów, korzystad z zewnętrznych bibliotek (oprócz wymienionych powyżej). Program zawierający rozwiązanie poszczególnych punktów zadania, ma wczytywad dane ze standardowego wejścia i zapisywad wyniki na standardowe wyjście (na ekran), bez żadnej interakcji z użytkownikiem. Aby program pobrał dane z pliku, należy przekierowad standardowe wejście. Zakładając, że plik z danymi ma nazwę fiber.in, a plik wykonywalny z programem ma nazwę fiber.exe oraz że pliki znajdują się bieżącym katalogu, można w tym celu wydad polecenie: fiber.exe < fiber.in Przykład informacji, jakie powinny pojawid się na ekranie po uruchomieniu programu: Dla pliku wejściowego fiber.in o zawartości jak w opisie zadania, program powinien wyświetlid na ekranie następujące informacje: B. P1-20 P2-5 P3-10 P4-12 P5-15 C. 62 D. 2 E. 635 F. 3 BRUDNOPIS Rok szkolny 2017/2018 strona 6 z 6