Popis:
Text zadania:
Úloha č. 22: Načítajte z klávesnice reťazec znakov ukončený znakom "nového riadku". Nech slovo je postupnosť znakov medzi dvoma znakmi "medzera". Určte počet slov obsahujúcich len znaky s nepárnymi ASCII kódmi. Počet vytlačte osmičkovo.
Dodefinovanie zadania:
V programe uvažujeme s maximálne 65536 slovami, ktoré sú tvorené iba zo znakov s nepárnymi ASCII kódmi.
Analýza riešenia:
Problematikou úlohy je testovanie načítaného znaku, či načítaný znak mal párny alebo nepárny ASCII kód, či bol stlačený ENTER alebo MEDZERNÍK. Program musí riešiť to, že môže byť stlačených viac medzier za sebou alebo že reťazec začína medzerou a podobne. Po stlačení klávesy ENTER, program nastaví kurzor na začiatok nového riadku a vypíše počet slov s nepárnymi ASCII kódmi v osmičkovej sústave. Výpis v osmičkovej sústave je realizovaný cez rotačný posuv registra o 3 bity vľavo, pričom pred rotáciou sa ešte zisťuje, či je na najvyššom bite 0 alebo 1.
Návrh algoritmu:
Program sa delí na 3 hlavné časti. Časť 1 pomocou porovnávania zabezpečuje, aký znak bol stlačený ( s párnym, nepárnym ASCII kódom, ENTER, MEDZERNIK ) a zaisťuje aby sa napr. viacnásobná medzera neratala ako slovo a pod. Časť 2 pomocou porovnávania zisťuje stav registrov počas behu programu a podľa hodnôt v nich vykonáva inkrementáciu registra alebo nulovanie pomocnych registrov. Časť 3 zahŕňa konverziu výslednej hodnoty z registra do osmičkovej sústavy a jej výpis na obrazovku.
Kľúčové slová:
Zadanie
Analýza
Dodefinovanie
Návrh
Enter
Medzerník
Algorimus
Popis
Program
Testovanie
Obrazovka
Bity
Zásobník
Register
Obsah:
- 1. Text zadanie
2. Dodefinovanie zadania
3. Analýza riešenia
4. Návrh algoritmu
5. Popis algoritmu
6. Vývojový diagram
7. Popis pre užívateľa
8. Záver
9. Výpis programu