Oprogramowanie

Zgłaszanie rozwiązań

Dostępne są dwie metody zgłaszania rozwiązań:

  • Przez stronę WWW
    Rozwiązania można wysyłać podczas zawodów przez stronę http://sio. Po załadowaniu, w jej prawym górnym rogu powinna widnieć nazwa konta zawodnika. Wyniki kompilacji i raport z wykonania testów przykładowych pojawiają się na stronie wkrótce po zgłoszeniu rozwiązania.

  • Za pomocą skryptu submit
    Aby wysłać rozwiązanie zadania o skrócie abc za pomocą skryptu submit, należy użyć jednej z następujących komend (lub z py zamiast cpp):

    submit abc.cpp
    submit abc dowolnanazwapliku.cpp

    Rozwiązania zgłoszone w ten sposób również trafiają do systemu SIO. Skrypt submit działa także w przypadku awarii sieci; wówczas rozwiązanie zostaje automatycznie dostarczone do SIO, gdy komputer odzyska łączność z siecią.

Tylko zgłoszone w podany sposób rozwiązania zostaną ocenione.

Staraj się zgłaszać swoje rozwiązania do SIO za pomocą strony WWW. Używaj skryptu submit jedynie w sytuacjach awaryjnych i, jeśli musisz, w ostatniej chwili – uważaj jednak, żeby przypadkowo nie nadpisać poprawnego rozwiązania (np. do innego zadania). Jeśli planujesz używać skryptu submit, najlepiej przetestuj jego działanie podczas sesji próbnej. Pamiętaj, że rozwiązania zgłoszone za pomocą skryptu submit wliczają się do limitu 25 zgłoszeń na zadanie. Zauważ, że rozwiązania z błędem kompilacji wliczają się do limitu zgłoszeń.

Uruchomienia próbne

Przez SIO jest możliwość wykonania uruchomienia próbnego swojego rozwiązania na przesłanym przez siebie teście. W tym przypadku SIO nie sprawdza jednak poprawności wejścia ani wyjścia. Uruchomienia próbne nie wliczają się do limitu zgłoszeń. Limit uruchomień próbnych również wynosi 25.

Testowanie rozwiązań

Aby uruchomić swój program w środowisku podobnym do tego, w którym będzie oceniany przez Jury, można wydać polecenie:

  $ oiejq ./program

uruchamiające skompilowany program lub, odpowiednio:

  $ oiejq /usr/bin/python3 program.py

Oba polecenia zwracają czas wirtualnego procesora wykorzystany przez program.

Kopie zapasowe

Zawodnik może tworzyć kopie zapasowe plików. Opcje te są dostępne po wejściu na stronę http://wydruki/

Dostępne oprogramowanie

Środowisko zawodnika: Linux Debian 11 z XFCE.

oprogramowanie opis
g++ kompilator C++
python3 interpreter języka Python 3
emacs, gedit, gvim, kate, mcedit, nano, neovim, neovim-qt, scite, vim edytory tekstu
codeblocks, geany środowiska programistyczne
mc tekstowy, dwukolumnowy menedżer plików
gdb narzędzie do debuggowania
valgrind narzędzie do profilowania aplikacji
gnome-calculator kalkulator
firefox przeglądarka
man POLECENIE wyświetlenie opisu polecenia systemowego lub funkcji biblioteki standardowej C
info POLECENIE jak wyżej, może dać więcej szczegółów

Oprogramowanie dodatkowe

Programy z poniższej listy również będą dostępne na komputerach zawodników. Jeśli chcesz używać któregoś z tych programów, koniecznie przetestuj go podczas sesji próbnej. W przypadku, gdyby taki program z jakiegoś powodu nie działał poprawnie, zgłoś to niezłocznie w dziale ,,Pytania" w SIO. Wówczas Jury dołoży starań, żeby to naprawić, albo poinformuje Cię, jeśli to będzie niemożliwe. W tym (mało prawdopodobnym) przypadku może być konieczne, żebyś użył oprogramowania z powyższej listy gwarantowanej.

oprogramowanie opis
clang++ kompilator C++
joe, mousepad, mu, sublime-text, thonny edytory tekstu
vs-codium środowisko programistyczne
lldb narzędzie do debuggowania
gprof narzędzie do profilowania aplikacji

Dokumentacja

Odsyłacze do dokumentacji biblioteki stdlib znajdują się na pulpicie, w trybie graficznym. Dostępne są również dokumentacje w formacie HTML:

  • gcc w /usr/share/doc/gcc-10-doc

  • python3 w /usr/share/doc/python3.9/html

  • gdb w /usr/share/doc/gdb-doc/html

  • valgrinda w /usr/share/doc/valgrind/html