You are on page 1of 2

Contoh program

digit
1

. (point)

+, digit

digit

. (point)

4
digit

digit

+, -

digit
6

digit
1. Buat dalam bahasa c untuk mengenali bilangan pecahan berdasarkan finite
automata yang dibuat
Int real() {
Int state ;
Char in;
State = 1;
In = getchar();
While (isdigit(in) || issign(in) || in == . || in == e)
Switch(state) {
Case 1
: if (isdigit (in) || issign(in) )
State = 2;
Else if (in ==.)
State = 3;
Else error();
Break;
Case 2
: if (isdigit (in))
State = 2;
Else if (in ==.)
State = 3;
Else error();
Break;
Case 3
: if (isdigit (in))
State = 4;
Else error();
Break;
Case 4
: if (isdigit (in))
State = 4;
Else if (in ==e)
State = 5;
Else error();
Break;
Case 5
: if (isdigit (in))
State = 7;
Else if (issign (in ))
State = 6;
Else error();
Break;

Case 6

Case 7

: if (isdigit (in))
State = 7;
Else error();
Break;
: if (isdigit (in))
State = 7;
Else error();
Break;

}
in = getchar();
}
return (state == 4) || state == 7);
}

You might also like