Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курсовая работа - Изучение конечного автомата

.doc
Скачиваний:
22
Добавлен:
02.05.2014
Размер:
71.17 Кб
Скачать

S0 – исходное состояние, счетчик букв равен 0;

S1 – переход к рабочему состоянию, номер текущего элемента массива равен 1;

S2 – определение содержимого ячейки (цифра или буква);

S3 – состояние увеличения счетчика букв.

S4 – состояние проверки наличия несосчитанных ячеек;

S5 – состояние перехода к следующей ячейке, увеличение номер текущего элемента массива;

S6 – конечное состояние счета букв;

S7 – вывод счетчика букв.

X1 – ввод исходных данных;

X2 – переход к процессу подсчета;

X3 – переход к увеличению счетчика букв;

X4 – переход к состояние перехода к следующей ячейке

X5 – переход к следующей ячейке;

X6 – продолжение счета ячеек;

X7 – переход в конечное состояние;

X8 – вывод результатов;

Y1 – количество ячеек содержащих буквы.

X1

X2

X3

X4

X5

X6

X7

X8

S0

S1

S0

S0

S0

S0

S0

S0

S0

S1

S1

S2

S1

S1

S1

S1

S1

S1

S2

S2

S2

S3

S4

S2

S2

S2

S2

S3

S3

S3

S3

S4

S3

S3

S3

S3

S4

S4

S4

S4

S4

S5

S4

S6

S4

S5

S5

S5

S5

S5

S5

S2

S5

S5

S6

S6

S6

S6

S6

S6

S6

S6

S7

S7

S7

S7

S7

S7

S7

S7

S7

S7

X1

X2

X3

X4

X5

X6

X7

X8

S0

-

-

-

-

-

-

-

-

S1

-

-

-

-

-

-

-

-

S2

-

-

-

-

-

-

-

-

S3

-

-

-

-

-

-

-

-

S4

-

-

-

-

-

-

-

-

S5

-

-

-

-

-

-

-

-

S6

-

-

-

-

-

-

-

Y1

S7

-

-

-

-

-

-

-

-

program task5;

var

a: array [1..100] of char;

n, i, count: integer;

begin

// S0 – исходное состояние, счетчик букв равен 0;

count := 0;

// X1 – ввод исходных данных;

write(’enter cell count:’);

readln(n);

for i := 1 to n do begin

write(‘a[‘, i, ’]=’);

readln(a[i]);

end

// S1 – переход к рабочему состоянию, номер текущего элемента массива равен 1;

// X2 – переход к процессу подсчета;

for i := 1 to n do begin // X6 – продолжение счета ячеек;

if (a[i] in [’a’..’z’, ’a’..’z’, ’а’..’я’, ’a’..’я’]) then begin // S2 – определение

// содержимого ячейки (цифра или буква);

// X3 – переход к увеличению счетчика букв;

// S3 – состояние увеличения счетчика букв.

count := count + 1;

end

// X4 – переход к состояние перехода к следующей ячейке

// S4 – состояние проверки наличия несосчитанных ячеек;

// X5 – переход к следующей ячейке;

// S5 – состояние перехода к следующей ячейке, увеличение номер текущего элемента массива;

End

// S6 – конечное состояние счета букв;

// X8 – вывод результатов;

writeln(’letters count: ’, count); // S7 – вывод счетчика букв.

// Y1 – количество ячеек содержащих буквы.

end.