Registrácia | Prihlásiť

Počítačové zadanie: Načítanie reťazca znakov ( zadanie zo SOJ, programovanie v jazyku C)

Skryť detaily | Obľúbený
Náhľady Náhľady Náhľady
Program začína inicializáciou registrov BX, CX a DX, pokračuje sa vstupom do vnútorného cyklu. Tu sa načíta znak, a testuje sa. Ak to bol načítaný „enter“, tak sa odskočí na vyhodnotenie. Ak nie, zistíme, či znak nebola „medzera“, ak áno, odsočí sa na vyhodnotenie. Ak to nebola „medzera“ ani „enter“ odskoči sa na spracovanie „iného znaku“.
Spracovanie „enteru“: enter ja pre náš program ukončovací znak, t.j. po jeho načítaní sa vypíšu výsledky programu, predtým sa však vyhodnotí, či slovo, ktoré ukončil nebolo korektné. Ak áno ešte sa zvýši počet správnych slov, ak nie len sa vypíšu výsledky.
Spracovanie „medzery“: medzera je pre náš program separátor slov, t.j. po jej načítaní dôjde k vyhodnoteniu korektnosti predchádzajúceho slova. Ak bolo správne, inkrementujeme počítadlo, ak nie k inkrementácii nedôjde. V oboch prípadoch nasleduje nastavenie registra CX na 0 (bude sa pokračovať prvým písmenom nového slova) a skok na načítanie ďalšieho znaku.
Spracovanie „iného znaku“: Ak sa načíta znak rôzny od „medzery“ a „enteru“ najprv sa vyhodnocuje či to nie je prvý znak nového slova (to nám indikuje 0 v CX), ak áno tak sa tento znak prekopíruje do generátora klesajúcej postupnosti, ak nie tak dôjde k jeho porovnaniu s generátorom. V pripade zhody sa dekrementuje generátor, ak sa nezhodujú zvýšime chybový príznak (DX). Vo všetkých prípadoch nasleduje skok na načítanie ďalšieho znaku.
...
Hodnotenie (0x):