- •Министерство образования и науки российской федерации
- •Содержание
- •Введение
- •Лабораторная работа № 1. Среда разработки приложений Microsoft Visual Studio .Net 2010
- •Основные сведения
- •Создание консольного приложения
- •Задание на работу
- •Содержание файла «TestProject.Cpp»
- •Содержание файла «stdafx.Cpp»
- •Содержание файла «stdafx.H»
- •Текст II
- •Текст III
- •Содержание отчета
- •Лабораторная работа № 2. Представление данных в эвм
- •Задание на работу
- •Входные данные
- •Пример выполнения задания
- •Классы выделяемых литер
- •Классы выделяемых лексем
- •Диаграмма (граф) переходов
- •Входной файл
- •Выходной файл
- •Содержание отчета
- •Лабораторная работа № 4. Работа со стеком
- •Задание на работу
- •Пример содержимого заголовочного файла lab_stack.H
- •Алгоритмы для реализации атд «Стек» на языке Си
- •Реализация при помощи массива
- •Реализация при помощи связанных структур
- •Содержание отчета
- •Контрольные вопросы для допуска к лабораторной работе
- •Лабораторная работа № 5. Работа с очередью
- •Задание на работу
- •Пример содержимого заголовочного файла lab_queue.H
- •Алгоритмы для реализации атд «Очередь» на языке Си
- •Реализация при помощи массива
- •Реализация при помощи связанных структур
- •Содержание отчета
- •Контрольные вопросы для допуска к лабораторной работе
- •Лабораторная работа № 6. Хеширование
- •Задание на работу
- •Пример индивидуального задания на работу
- •Входные данные
- •Выходные данные
- •Содержание отчета
- •Пример входных данных
- •Краткая теоретическая справка
- •Задача о программисте Пете
- •Входные данные
- •Выходные данные
- •Математическая модель
- •Решение задачи о программисте Пете полным перебором
- •Текст программы
- •Генератор тестовых наборов
- •Текст программы
- •Литература
Входные данные
Строка входного файла содержит два целочисленных значения, разделенных одним пробелом.
Выходные данные
Строка выходного файла содержит одно значение – значение суммы введенных чисел.
Содержание отчета
1. Текст задания.
2. Описание способов представления данных в памяти ЭВМ.
3. Тексты программ.
4. Коды представления входных данных для разных типов данных.
5. Предусловие и постусловие для всех вариантов программы.
6. Результаты выполнения программы.
7. Выводы по работе.
Лабораторная работа № 3. УПРАВЛЕНИЕ ПРИ ПОМОЩИ ТАБЛИЦ
Целью работы является освоение алгоритма обработки данных – управление с помощью таблиц – и его реализация.
Задание на работу
Написать программу, использующую механизм управления при помощи таблиц (управление осуществляется данными!).
Программа должна (в соответствии с индивидуальным заданием) выполнять распознавание или обработку текстовых данных с помощью конечного автомата.
Входные данные программы: текстовый файл, содержащий текст для обработки. Выходные данные: результат обработки текстового файла.
Ограничения, накладываемые на реализацию: программа может запоминать только текущее состояние и последний введенный символ. Не должны использоваться никакие дополнительные массивы или переменные для хранения введенных данных.
Ориентировочная схема работы главного цикла программы:
Ввод символа из файла
Переход автомата в новое состояние в зависимости от введенного символа и текущего состояния
Вывод символа в выходной файл, либо другое действие (в зависимости от задания)
Перевод автомата в новое состояние (п. 2) и выбор действия для выполнения (п. 3) могут быть реализованы несколькими способами. От способа реализации зависит максимальный балл за выполнение работы:
Выбор действия и состояния с помощью ветвлений (if, switch) – 60%
Выбор состояния с помощью таблицы (массива), а действия с помощью ветвления – 80%
Выбор состояния и действия с помощью таблиц (для действий используются указатели на функции) – 100%
Пример выполнения задания
В исходном файле выделить все десятичные константы со знаком целого и вещественного типа, а так же все возможные скобки.
Классы выделяемых литер




Рис. 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 |

лассы
литер