Základy práce se soubory
Testy řazení
 Tisk

Zadání

Testy řazení

Na PC je k dispozici standardní program pro řazení.

Volíme Příslušenství/ Příkazový řádek.

Příkazem sort /? se vypíší jeho možnosti:


SORT [/R] [/+n] [/M kilobajty] [/L národní_prostředí] [/REC počet_bajtů_záznamu]

[[jednotka1:][cesta1]název_souboru1] [/T [jednotka2:][cesta2]]

[/O [jednotka3:][cesta3]název_souboru3]

/+n                        Určuje číslo znaku, n, od

                              něhož má začít každé porovnání. Parametr /+3

                              označuje, že

                              každé porovnání bude zahájeno od třetího

                              znaku na každém řádku. Řádky obsahující méně

                              než n znaků budou porovnány před ostatními řádky.

                              Ve výchozím nastavení začínají porovnání od

                              prvního znaku na každém řádku.

/L[OCALE] národní_prostředí Přepíše výchozí národní prostředí systému

                              zadaným národním prostředím. Národní prostředí

                              dosahuje nejrychlejší pořadí řazení a je

                              v současnosti jedinou alternativou. Při řazení

                              se nikdy nerozlišují velká a malá písmena.

/M[EMORY] kilobajty         Určuje velikost hlavní paměti, kterou lze použít

                              k řazení (v kilobajtech). Minimální velikost

                              paměti je vždy alespoň 160 kB.

                              Pokud je zadána velikost paměti,

                              bude k řazení použita vždy přesná velikost,

                              bez ohledu na velikost dostupné

                              hlavní paměti.


                              Nejlepšího výkonu je obvykle dosaženo, pokud

                              velikost paměti není zadána. Ve výchozím nastavení

                              proběhne řazení v jednom průchodu (bez vytvoření

                              dočasného souboru), pokud se všechna data vejdou

                              do výchozí maximální velikosti paměti.

                              V opačném případě proběhne řazení

                              ve dvou průchodech (částečně seřazená data budou

                              uložena v dočasném souboru), přičemž

                              velikost paměti použité pro oba průchody

                              (řazení i sloučení) bude stejná. Výchozí maximální

                              velikost paměti je 90 % dostupné hlavní paměti,

                              jsou-li vstupem i výstupem soubory. V ostatních

                              případech je použito 45 % hlavní paměti.

/REC[ORD_MAXIMUM] znaků    Určuje největší počet znaků v záznamu (výchozí

                             hodnota je 4096, maximální 65535).

/R[EVERSE]        Obrací pořadí řazení, řadí tedy od Z k A, potom

                             od 9 k 0.

[jednotka1:][cesta1]název_souboru1

                             Udává soubor určený k řazení. Není-li uveden,

                             bude řazen standardní vstup. Řazení bude

                             rychlejší, zadáte-li vstupní soubor, než když

                             stejný soubor přesměrujete do standardního vstupu.

/T[EMPORARY]

    [jednotka2:][cesta2]     Určuje cestu k adresáři, který bude obsahovat

                             pracovní paměť pro řazení jestliže se data

                             nevejdou do hlavní paměti. Není-li tento

                             přepínač uveden, bude použit dočasný adresář

                             systému.

/O[UTPUT]

    [jednotka3:][cesta3]název_souboru3

                             Určuje soubor, v němž bude uložen výsledek

                             řazení. Není-li zadán, budou data zapisována

                             na standardní výstup. Řazení bude rychlejší,

                             zadáte-li výstupní soubor, než když do stejného

                             souboru přesměrujete standardní výstup.



Proveďte seřazení následujícího souboru standardním sortem:


ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd

222222222222222222222222222222222222222222222222222222222222222

666666666666666666666666666666666666666666666666666666666666666

bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

444444444444444444444444444444444444444444444444444444444444444

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc


Pozn. Některé starší verze Sortu řadí speciální znaky a číslice odchylně od Pascalu.






šipka Návrh řešení

Správný výsledek:


222222222222222222222222222222222222222222222222222222222222222

444444444444444444444444444444444444444444444444444444444444444

666666666666666666666666666666666666666666666666666666666666666

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd