Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Андреев_Довгалюк_лабор_СДиА.doc
Скачиваний:
20
Добавлен:
26.03.2015
Размер:
527.87 Кб
Скачать

Входные данные

Строка входного файла содержит два целочисленных значения, разделенных одним пробелом.

Выходные данные

Строка выходного файла содержит одно значение – значение суммы введенных чисел.

    1. Содержание отчета

1. Текст задания.

2. Описание способов представления данных в памяти ЭВМ.

3. Тексты программ.

4. Коды представления входных данных для разных типов данных.

5. Предусловие и постусловие для всех вариантов программы.

6. Результаты выполнения программы.

7. Выводы по работе.

  1. Лабораторная работа № 3. УПРАВЛЕНИЕ ПРИ ПОМОЩИ ТАБЛИЦ

Целью работы является освоение алгоритма обработки данных – управление с помощью таблиц – и его реализация.

    1. Задание на работу

Написать программу, использующую механизм управления при помощи таблиц (управление осуществляется данными!).

Программа должна (в соответствии с индивидуальным заданием) выполнять распознавание или обработку текстовых данных с помощью конечного автомата.

Входные данные программы: текстовый файл, содержащий текст для обработки. Выходные данные: результат обработки текстового файла.

Ограничения, накладываемые на реализацию: программа может запоминать только текущее состояние и последний введенный символ. Не должны использоваться никакие дополнительные массивы или переменные для хранения введенных данных.

Ориентировочная схема работы главного цикла программы:

  1. Ввод символа из файла

  2. Переход автомата в новое состояние в зависимости от введенного символа и текущего состояния

  3. Вывод символа в выходной файл, либо другое действие (в зависимости от задания)

Перевод автомата в новое состояние (п. 2) и выбор действия для выполнения (п. 3) могут быть реализованы несколькими способами. От способа реализации зависит максимальный балл за выполнение работы:

  1. Выбор действия и состояния с помощью ветвлений (if, switch) – 60%

  2. Выбор состояния с помощью таблицы (массива), а действия с помощью ветвления – 80%

  3. Выбор состояния и действия с помощью таблиц (для действий используются указатели на функции) – 100%

    1. Пример выполнения задания

В исходном файле выделить все десятичные константы со знаком целого и вещественного типа, а так же все возможные скобки.

Классы выделяемых литер

Рис. 3.1. Выделяемые литеры

Классы выделяемых лексем

Рис. 3.2. Выделяемые лексемы

Диаграмма (граф) переходов

Рис. 3.3. Диаграмма переходов

Таблица переходов

Классы литер

Состояния

Цифра

Знак

Скобка

Точка

Всё остальное

1) Исходное состояние

2

5

6

4

0

2) Целое число

2

0

0

3

0

3) Вещественное число

3

0

0

0

0

4) Ошибка

3

0

0

0

0

5) Ошибка

2

0

0

3

0

6) Скобка

0

0

0

0

0