Skip to content
This repository has been archived by the owner on Nov 30, 2022. It is now read-only.

Latest commit

 

History

History
54 lines (47 loc) · 2.99 KB

README.md

File metadata and controls

54 lines (47 loc) · 2.99 KB

BwInf Template für die ersten beiden Runden

Template für die Bearbeitung der ersten beiden Runden des Bundeswettbewerbs Informatik (BwInf)

Inhalt

  • /demo/: Beispieldaten für eine Aufgabe
  • /demo/bin: Ordner für kompilierte Dateien (bei Scriptsprachen leer lassen)
  • /demo/src: Ordner für Quelltext
  • /demo/testinput: Ordner für Testeingaben
  • /demo/testoutput: Ordner für Testausgaben
  • /demo/compile: Script zum Kompilieren des Programms für die Aufgabe
  • /demo/DOC.md: Dokumentation im Markdown-Format (Version von pandoc)
  • /demo/run: Script zum Ausführen (benötigt für automatisches Testen)
  • /output/: Ordner für ZIP-Inhalt
  • /scripts/: Bashscripte zur Automatisierung
  • /scripts/clean: leert /output
  • /scripts/copyprog: kompiliert eine Aufgabe (Parameter) und kopiert sie in /output
  • /scripts/download_testcases: interaktives Script zum Herunterladen aller Testeingaben vom BwInf-Server
  • /scripts/makeall: ruft die anderen Scripte auf, um die ganze Einsendung zu packen
  • /scripts/makepdf: ruft pandoc auf, um die PDF-Dokumentation einer Aufgabe (Parameter) zu erstellen
  • /scripts/maketask: ruft andere Scripte auf, um die Einsendungsdateien einer Aufgabe (Parameter) vorzubereiten
  • /scripts/testtask: testet das Programm einer Aufgabe mit allen Eingabedateien im Ordner testinput
  • /tasknames: Namen der Aufgaben, die bearbeitet werden
  • /templateR1.tex: LaTeX-Template, in das die Markdown-Dateien eingebettet werden (Runde 1)
  • /templateR2.tex: LaTeX-Template, in das die Markdown-Dateien eingebettet werden (Runde 2)

Anpassung / Benutzung

  1. für die erste Runde: keine Vorbereitung der Dateien nötig
  2. für die zweite Runde
    • /scripts/makepdf bearbeiten und in der dritten Zeile templateR1.tex durch templateR2.tex ersetzen
    • Inhalt von /A0_XXX/DOCR2.md in /A0_XXX/DOC.md kopieren
  3. /A0_XXX/DOCR2.md wird nun nicht mehr gebraucht
  4. alle Aufgabennamen festlegen und in /tasknames eintragen (einer pro Zeile)
  5. Eigene Daten (Teamname, -ID, Informationen, die für jede Aufgabe gelten) in den Metadaten im Header von /A0_XXX/DOC.md anpassen
  6. /scripts/setup ausführen
  7. die Ordner /demo/ und /A0_XXX/ werden nun nicht mehr gebraucht
  8. /scripts/download_testcases ausführen
    • Beispiel für die Eingabe: https://bwinf.de/fileadmin/user_upload/parkplatz0.txt (bis parkplatz5.txt)
    • https://bwinf.de/fileadmin/user_upload ist der Basis-URL
    • parkplatz ist der Code-Name
    • 0 ist der erste Testfall, 5 der letzte
  9. /A?_???/compile und /A?_???/run für jede Aufgabe schreiben
  10. Aufgabenspezifische Daten (Aufgabenname, Bearbeiter) im Header der Markdowndateien anpassen
  11. Dokumentation und Programme ausarbeiten
  12. /scripts/makeall ausführen und einsenden

Abhängigkeiten