Zápočtový test 27.1.2010 10:00

wladik at 2010-01-27 17:10:52

Tak dneska bylo jako zadání Paralelní merge sort s GUI.
Náznak zadání:

  • pro nastavení gui se použije buď vvýchozí nastavení, nebo se dá upravit přepínači při startu aplikace

  • hodnoty nastavené přes parametry se dají přes GUI změnit - pomocí vhodných prvků (TextBox, CheckBox...)

  • pro každé vlákno se vytvoří textbox/label do kterého se zapíše jak dlouho dané vlákno třídilo, příp. i slévalo (zapisuje se z toho vytvořeného vlákna (Invoke) ) (pro měření bylo lepší použít System.Diagnostics.Stopwatch místo odečítání DateTime.Now, protože stopwatch dává výsledek v milisekundách)

  • pokud se na příkazové řádce zadají neplatné kombinace přepínačů, tak zobrazit nápovědu a skončit.

  • aplikace nesmí padat - ošetřit špatné vstupy zadané v GUI

  • vstupní soubor s nesetříděnou posloupností se vejde do paměti

  • pokud uživatel nezadá vstupní soubor, tak podle nastavení vygenerovat příslušnou posloupnost pro třídění

přepínače

 -t x .. x = počet vláken (výchozí 1)
 -q .. použít v rámci vlákna quicksort místo mergesortu, který je výchozí
 -i file .. file = vstupní soubor s nesetřídenou posloupnosti
 -o file ..  file = výstupní soubor pro vypsání setříděné posloupnosti
 -m x .. x = maximální velikost čísla (výchozí maxInt)
 -l x ..  x= délka generované posloupnosti (výchozí 10000000)
 --bench .. speciální parametr, kde se použije výchozí nastavení a postupně se to pustí s 1 až 10 vlákny a vypiše jak dlouho každý běh trval

snad jsem to sepsal všechno