Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako by ste napísali program, ktorý počíta počet samohlások v jazyku reťazcov?

Tu je podrobný návod, ako napísať program v jazyku symbolických inštancií na počítanie počtu samohlások v reťazci:

1. Nastavte segment údajov :

- Deklarujte reťazec ako pole znakov.

- Definujte pamäťové miesto na uloženie počtu samohlások.

2. Nastavte segment kódu :

- Začnite so vstupným bodom programu, zvyčajne označeným ako „hlavný“ alebo „štart“.

3. Inicializujte počet samohlások :

- Na začiatku nastavte počet samohlások na nulu.

4. Slučka cez reťazec :

- Použite slučku na iteráciu každého znaku v reťazci.

5. Skontrolujte prítomnosť samohlások :

- Vo vnútri cyklu použite podmienené príkazy na kontrolu, či je aktuálny znak samohláska.

- Bežné samohlásky v anglickej abecede sú „A“, „E“, „I“, „O“ a „U“ a ich ekvivalenty s malými písmenami.

6. Zvýšte počet samohlások :

- Ak je aktuálny znak samohláska, zvýšte počet samohlások.

7. Ukončite slučku :

- Pokračujte v slučke, kým nedosiahnete koniec šnúrky.

8. Zobrazte počet samohlások :

- Použite systémové volania alebo funkcie knižnice na zobrazenie počtu samohlások na konzole.

9. Ukončite program :

- Na úspešné ukončenie programu použite systémové volanie.

Tu je príklad toho, ako môže kód zostavy vyzerať:

```montáž

.údaje

str:.asciiz "Ahoj svet!"

počet_hlások:.int 0

.text

.globálna hlavná

hlavné:

xor ebx, ebx; Inicializujte počet samohlások na 0

mov edi, str; Ukazovateľ reťazca

mov al, [edi]; Získajte prvú postavu

slučka:

cmp al, '$'; Koniec reťazca?

je displej; Áno, prejsť na zobrazenie počtu samohlások

cmp al, 'A'; Skontrolujte, či je aktuálny znak „A“

je prírastok; Áno, prejdite na zvýšenie počtu samohlások

cmp al, 'E'; Skontrolujte, či je aktuálny znak „E“

je prírastok

cmp al, 'I'; Skontrolujte, či je aktuálny znak „I“

je prírastok

cmp al, 'O'; Skontrolujte, či je aktuálny znak „O“

je prírastok

cmp al, 'U'; Skontrolujte, či je aktuálny znak „U“

je prírastok

cmp al, 'a'; Skontrolujte, či je aktuálny znak „a“

je prírastok

cmp al, 'e'; Skontrolujte, či je aktuálny znak „e“

je prírastok

cmp al, 'i'; Skontrolujte, či je aktuálny znak „i“

je prírastok

cmp al, 'o'; Skontrolujte, či je aktuálny znak „o“

je prírastok

cmp al, 'u'; Skontrolujte, či je aktuálny znak „u“

je prírastok

prírastok:

inc ebx; Zvýšte počet samohlások

inc edi; Prejdite na ďalší znak

jmp slučka; Znova prejdite do slučky

zobraziť:

ťah eax, 4; Systémové volanie na písanie

mov ebx, 1; Deskriptor súboru (stdout)

mov ecx, str; Správa na napísanie

mov edx, 13; Dĺžka správy + znak nového riadku

syscall; Uskutočnite systémové volanie

mov eax, 1; Systémové volanie na ukončenie

mov ebx, 0; Stav ukončenia (úspešné)

syscall; Uskutočnite systémové volanie

```

Tento kód predpokladá prostredie Linuxu a používa konvencie volania System V. Inicializuje počet samohlások na nulu, iteruje cez reťazec, kontroluje každý znak na samohlásky a podľa toho zvyšuje počet. Nakoniec zobrazí počet samohlások a úspešne ukončí program.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené