FINAŁ. Wszystkie zadania

Podobne dokumenty
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C

Programowanie dynamiczne

I. Podstawy języka C powtórka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Matematyka grupa Uruchom arkusz kalkulacyjny. 2. Wprowadź do arkusza kalkulacyjnego wartości znajdujące się w kolumnach A i B.

Podstawowe elementy GUI cz. 2 i 3 - zadania

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski

EGZAMIN MATURALNY Z INFORMATYKI 17 MAJA 2016 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut

Zaprojektować i zaimplementować algorytm realizujący następujące zadanie.

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

RAPORT Z ZAKRESU UMIEJĘTNOŚCI MATEMATYCZNYCH. przeprowadzonego w Szkole Podstawowej z Oddziałami Integracyjnymi nr 10. im.

Scenariusz zajęć. Moduł VI. Projekt Gra logiczna zgadywanie liczby

EGZAMIN MATURALNY Z INFORMATYKI WYBRANE: ... (system operacyjny) ... (program użytkowy) ... (środowisko programistyczne)

Podstawy Programowania

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

lekcja 8a Gry komputerowe MasterMind

Algorytm. Algorytmy Marek Pudełko

Warunki logiczne instrukcja if

Aplikacje w środowisku Java

Kod U2 Opracował: Andrzej Nowak

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

ARKUSZ KALKULACYJNY MICROSOFT EXCEL cz.1 Formuły, funkcje, typy adresowania komórek, proste obliczenia.

Kilka prostych programów

Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

1 Podstawy c++ w pigułce.

Podstawy i języki programowania

Referat Pracy Dyplomowej

EGZAMIN MATURALNY Z INFORMATYKI 11 MAJA 2018 POZIOM ROZSZERZONY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 90 minut

Ćwiczenia z przetwarzania tablic 2D

Podstawy OpenCL część 2

Wymagania na poszczególne oceny szkolne dla klasy VI. (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej.

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Temat: Wykorzystywanie zasobów przez ucznia

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

Przychodnia 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę Osoba.

RAPORT z diagnozy umiejętności matematycznych

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

W jakim stopniu uczniowie opanowali umiejętność Wykorzystywania wiedzy w praktyce? Analiza zadań otwartych z arkusza Sprawdzian 2012

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

EGZAMIN MATURALNY Z INFORMATYKI

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.

Ekran tytułowy (menu główne)

Funkcje. Wprowadzenie. Mirosław Ochodek

DOKUMENTACJA TECHNICZNA KurJerzyAPI wersja 1.0

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

PLAN METODYCZNY NR 1

ALGORYTMY I STRUKTURY DANYCH

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

Aplikacje w środowisku Java

Tytuł. Autor. Dział. Innowacyjne cele edukacyjne. Czas. Przebieg. Etap 1 - wprowadzenie. Etap 2 - algorytm 3. Sztuka szybkiego liczenia Cz.

1. LICZBY DZIAŁ Z PODRĘCZNIKA L.P. NaCoBeZu kryteria sukcesu w języku ucznia

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Rachunki trudne i nudne? Nie muszą, mogą być ciekawe!

Wprowadzenie do MS Excel

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH KLASA 4:

Instrukcja instalowania aplikacji TNS mobistat. Smartfon Android. Help Desk

Celem tego projektu jest stworzenie

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

Scenariusz lekcji. potrafi podać formułę obliczającą wartość wielomianu stopnia n w punkcie wg schemat Hornera;

Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+

Symulacja samochodu z kamerą stereowizyjną. Krzysztof Sykuła 15 czerwca 2007

PRZEWODNIK PO PRZEDMIOCIE

Temat (rozumiany jako lekcja) Propozycje środków dydaktycznych. Liczba godzin. Uwagi

Sieciowe Technologie Mobilne. Laboratorium 2

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

3. Wprowadź opis: kolumna A J. angielski, kolumna B J. polski. Obejrzyj animację pt. Wprowadzanie danych, aby dowiedzieć się, jak to zrobić.

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Exulto Software House

Egzamin / zaliczenie na ocenę*

ECDL Podstawy programowania Sylabus - wersja 1.0

Scenariusz lekcji Ozobot w klasie: Tabliczka mnożenia

Wymagania edukacyjne z informatyki dla uczniów klas VI SP nr 53 w Krakowie w roku szkolnym 2019/2020

Programowanie w Baltie klasa VII

Wymagania edukacyjne z zajęć komputerowych klasa 4:

EGZAMIN W KLASIE TRZECIEJ GIMNAZJUM W ROKU SZKOLNYM 2017/2018 CZĘŚĆ 2. ZASADY OCENIANIA ROZWIĄZAŃ ZADAŃ

Klasy i obiekty. Programowanie zorientowane obiektowo. Case study: Filmoteka Case study: Klasa Akademik

Podstawowe elementy GUI cz. 2 i 3 - zadania

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2013 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

Programowanie zespołowe

EGZAMIN MATURALNY Z INFORMATYKI 13 MAJA 2019 POZIOM ROZSZERZONY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 90 minut

WYŚCIG MATEMATYCZNY BIG. zawartość pudełka: 1) tabliczki - 96 szt. 2) pionek - 1 szt. 3) plansza 4) kostka 5) instrukcja INSTRUKCJA

Programowanie obiektowe 1 - opis przedmiotu

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY SZÓSTEJ W ZAKRESIE WIADOMOŚCI I UMIEJĘTNOŚCI UCZNIÓW

TEST WSTĘPNY. Imię i Nazwisko: Telefon kontaktowy: 1. Kilobajt jest to: a bajtów b bajtów c bitów d.

Matematyka z kluczem. Układ treści w klasach 4 8 szkoły podstawowej. KLASA 4 (126 h) część 1 (59 h) część 2 (67 h)

Rozwiązywanie programów matematycznych

Analiza problemu niewidoczności przedmiotu w Ekstazjuszu.

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

WYMAGANIA EDUKACYJNE NIEZBĘDNE DO UZYSKANIA POSZCZEGÓLNYCH OCEN Z MATEMATYKI W KLASIE VI

Wymagania edukacyjne z matematyki w klasie IV

Programowanie genetyczne, gra SNAKE

Transkrypt:

Zadanie: 1 Etap 1 Kalkulator na stringach Panie w dziale księgowym wciąż liczą za pomocą kartki i ołówka. Jakiś czas temu wprowadzono liczydła jednak nie przyspieszyły one pracy w znaczący sposób. Jaś widząc to poczuł się jak na swoim pierwszym projekcie kalkulatorze liczb rzymskich realizowanym dla Wespazjana. Tak jak to miał w zwyczaju od razu zabrał się do pracy. Uruchomił skaner. Szybko zintegrował go z OCR em. Teraz pozostał jedynie do stworzenia program zamieniający ciąg znaków zapisujący operację arytmetyczną na jej wynik. Opis zadania Stworzenie programu obliczającego wartość działania arytmetycznego podanego na wejściu aplikacji Wejście: Łańcuch znakowy reprezentujący działanie matematyczne z dowolną ilością operacji w dowolnej kolejności. Wynik: Łańcuch znakowy reprezentujący wynik działania podanego na wejściu. Przykład: Input: 2+2*2-6,5 Output: -0,5 Wymagane opcje Dodawanie + Odejmowanie - Mnożenie * Dzielenie / Potęgi ^ Nawiasy ( ) Ułamki dziesiętne rozdzielone przecinkiem Liczby ujemne -

Czas Czas na realizację zadania: 60 minut. Ocenianie Po upływie określonego czasu rozwiązanie będzie sprawdzane przez jury MasterCoder. Uczestnik powinien zadeklarować na jakim poziomie rozwiązał zadanie: Poziom 1: o dodawanie, odejmowanie, mnożenie, dzielenie, potęgi o zakres liczb wejściowych w operacjach arytmetycznych <0;10000> Poziom 2: o nawiasy o zakres liczb wejściowych <-10000;10000> W zależności od określonego poziomu komisja MC podda rozwiązanie odpowiednim testom (5 testów na każdy poziom): Zadeklarowanie rozwiązania na poziomie 1 + 5000 pkt. Zadeklarowanie rozwiązania na poziomie 1+2 + 5000 pkt. Za każdy błędny wynik testu jury MC - 1000 pkt. EXTRA za ponadprzeciętną jakość kodu 1 + 1000 pkt. Maksymalna ilość punktów do uzyskania w zadaniu: 11000 pkt. Uwagi Algorytm obliczania wyniku musi zostać zrealizowany samodzielnie nie dopuszczalne są rozwiązania wykorzystujące standardowe funkcje API lub biblioteki zewnętrzne realizujące w całości zadany problem (parsowanie, analizę leksykalną itp.), np.: dla.net: (new DataTable()).Compute( 2+2, ); Wyniki dla testów będą zawierały się w przedziale <-1 000 000 000; 1 000 000 000> Algorytm powinien poprawnie działać dla wartości do dwóch miejsc po przecinku Program powinien przewidywać próby niepoprawnych działań -> np.: 10/0 1 Dobre praktyki programistyczne, znajomość dziedziny tworzenia lex erów

Zadanie 1 Etap 2 Kalkulator na stringach Każdy z uczestników może uzyskać 2000 dodatkowych punktów extra. W tym celu powinien ułożyć własny string testowy i wypróbować go na aplikacjach rywali (według zadeklarowanych poziomów rozwiązań). String zostanie uruchomiony na każdej z aplikacji współuczestników. Czas Czas na realizację zadania: 15 minut. Ocenianie Doprowadzenie aplikacji rywala do zwrócenia błędnego wyniku +500 pkt. Uwagi Zaproponowane wejście musi spełniać wymogi zadania Zaproponowane wejście musi być prawidłowym działaniem matematycznym 2 2 Microsoft Excel będzie narzędziem sprawdzającym poprawność podanej formuły

Zadanie 2 Kodowanie na ekranie Otrzymujesz 8 zadań. Zastanów się nad nimi. Niebawem poprosimy Cię abyś na jednym (wylosowanym) z nich pokazał nam jak pracujesz, jak podchodzisz do rozwiązywania problemów, oraz z jakich technik programistycznych korzystasz. Będziesz mógł kodować, komentować, eksperymentować, tworzyć i refaktoryzować. My patrząc jak pracujesz będziemy zadawali pytania, precyzowali rozwiązania oraz sprawdzali ich elastyczność. Nie musisz dostarczać pełnej implementacji. To co nas interesuje, to: architektura, klasy, interfejsy z ich nazwami, metodami i właściwościami. Struktura wewnętrzna klas nie jest konieczna (aczkolwiek czasem może pozwolić oglądającym coś lepiej zrozumieć). Sama implementacja choć mile widziana, nie stanowi priorytetu. Natomiast kwestie interfejsu użytkownika czy sposobu przechowywania danych są zupełnie drugorzędne. Czas Na prezentację własnego rozwiązania przeznaczone jest: 15 minut na osobę. Ocenianie Zadanie będzie oceniane prze Jury oraz innych uczestników finału. W sumie można zdobyć 7000 punktów: Punkty Jury przyznawane za praktyczne podejście do problemu, tworzenie dobrego jakościowo, modyfikowalnego i zgodnego z zasadami obiektowości kodu: do 5000 pkt. Punty przyznawane przez innych uczestników. Każdy z Was może przyznać za prezentację od 0 do 1000 pkt. Oceny najwyższe i najniższe nie będą brane pod uwagę. W sumie od innych uczestników można uzyskać do : 2000 pkt. Maksymalna ilość punktów do zdobycia za zadanie: 7000 pkt.

Zadanie 1 Napisz program, który będzie przyjmował z pliku dowolną dwuwymiarową tablicę znaków, np.: - * * # # - * * * * * * # # - - # # # # # # # # # # # # # # oraz liczbę stopni o jaką należy tą tablicę obrócić (90, 180, 270). Obroty należy wykonywać według wskazówek zegara. Przykładowy wynik programu dla obrotu wyżej przytoczonej tablicy o 90 stopni # # # * - # # # * * # # - * * # # - * # # # # * # # # # * -

Zadanie 2 Napisz program symulujący automat komórkowy Grę w Życie. Pole gry, to obszar 20x20 komórek. Zasady: Gra w Życie symuluje zachowanie populacji komórek, każda komórka może być żywa bądź martwa. Stan komórki określany jest według poniższych zasad: gra podzielona jest na tury każda żywa komórka z mniej niż dwoma żywymi sąsiadami w następnej turze umiera z samotności każda żywa komórka z dwoma lub trzema żywymi sąsiadami pozostaje żywa do następnej tury każda żywa komórka z więcej niż trzema sąsiadami w następnej turze umiera z przeludnienia każda martwa komórka z dokładnie trzema żywymi sąsiadami w następnej turze staje się żywą komórką każda komórka, poza znajdującymi się na brzegach planszy, ma ośmiu sąsiadów

Zadanie 3 Używając zasad programowania obiektowego S.O.L.I.D. zamodeluj lampę i włącznik. Pamiętaj jednak aby nie skupić się jedynie na diagramach, oczekujemy kodu! Sugestie: włącznik powinien kontrolować lampę, wiele lamp lub być może także coś całkiem innego jeśli nie znasz zasad S.O.L.I.D. nie przejmuj się i rozwiąż zadanie najlepiej jak potrafisz :)

Zadanie 4 Używając zasad programowania obiektowego zamodeluj Samochód. Staraj się używać najlepszych praktyk programistycznych. Pamiętaj aby nie skupić się jedynie na diagramach, oczekujemy kodu! Sugestie: Ciągnik siodłowy DAF 460, osobowy FIAT UNO, czy motocykl SUZUKI GSX należą do grupy pojazdy Inaczej uruchamia się silnik w pojeździe z silnikiem diesla oraz benzynowym Pojazdy służą do przewozu różnych rzeczy/osób

Zadanie 5 Napisz program który zasymuluje działanie agencji informacyjnej. Agencja informacyjna zbiera newsy oraz udostępnia je różnym subskrybentom. Wymagania: Konieczne jest stworzenie systemu w którym subskrybenci będą natychmiast informowani o wydarzeniach Subskrybent może otrzymać powiadomienie na wiele sposobów, np: mail, sms, etc Rozwiązanie musi umożliwiać rozszerzanie o nowe typy subskrybentów

Zadanie 6 Napisz program który będzie parsował typowy pliki *.INI. Będzie on przekazany do aplikacji jako string. Skup się nad zaprojektowaniem parsera, stwórz optymalną hierarchię klas. Przykład pliku INI: [Section1] key = value key = value key = value [Section2] key = value key = value key = value

Zadanie 7 Stwórz model systemu który zarządza pacjentami w szpitalu. Zwróć uwagę, że pacjent może mieć przypisanych do siebie lekarzy, być może także wyniki badań bądź zaplanowane zabiegi. Niekiedy będzie on korzystał z hospitalizacji, a innym razem jedynie z wizyt w przyszpitalnej przychodni. Pamiętaj aby nie skupić się jedynie na diagramach, oczekujemy kodu!

Zadanie 8 Zaprojektuj hierarchię klas i interfejsów implementujących logikę biznesową systemu naliczania cen w sklepie. Chcemy, by w docelowym systemie zaimplementowane były następujące historyjki użytkownika (User stories): Wymagania: Jako właściciel sklepu chcę definiować grupy produktów tak aby móc ustalać indywidualne marże dla grup Jako kasjer chcę wiedzieć jaka jest ostateczna cena każdego produktu Jako właściciel sklepu chcę móc definiować sezonowe promocje takie jak: kup n produktów, a produkt n+1 dostaniesz za ułamek oryginalnej ceny Jako właściciel sklepu chcę móc definiować promocje takie jak: obecna cena jest obniżona o x%