Come scrivere un ciclo for usando Automata

0

Sono interessato a vedere come un ciclo for / while dovrebbe essere implementato come un automa. Sto avendo difficoltà a immaginare come funzionerebbe. Dì che il ciclo while ha fatto questo:

var i = 0
while (i < 10) i = i + 1

Non siamo sicuri di cosa succederebbe se fosse implementato come un automa (quali sarebbero stati gli stati e le transizioni e dove l'operazione i = i + 1 si sarebbe verificata nell'automatico). Mi chiedo se uno potrebbe mostrare gli stati principali e le transizioni di questo se fosse un automa.

    
posta Lance Pollard 22.06.2018 - 14:14
fonte

1 risposta

3

Sembra questo:

   i++  i++  i++  i++  i++  i++  i++  i++  i++  i++
(0)->(1)->(2)->(3)->(4)->(5)->(6)->(7)->(8)->(9)->(10)

Ogni volta che cambi i stai cambiando stato. I loop richiedono che lo stato sia diverso per ogni iterazione, in modo che non sembrino loop quando sono rappresentati graficamente come automi che mostrano lo stato variabile. Questo non è l'uso tipico degli automi poiché in realtà non esiste un input esterno che controlla le transizioni. È solo il programma che esegue ripetutamente il codice di muting di stato.

    
risposta data 22.06.2018 - 14:36
fonte

Leggi altre domande sui tag