Разработка технологии обработки информации, а также структуры и формы представления данных. Подбор алгоритма и программы решения задачи. Определение конфигурации технических средств. Специфика процесса тестирования и оценки надежности программы.
Аннотация к работе
Связь между языком, на котором мы думаем, программируем, и задачами и решениями, которые мы можем представлять в своем воображении, очень тесна. Язык предоставляет программисту набор концептуальных инструментов, если они не отвечают задаче, то их просто игнорируют.В данном курсовом проекте разрабатывается программное приложение, которое удаляет все не существенные вхождения операторов: синтаксический анализ простой программы на языке С; форматирование текста программы на языке С. Простая программа на языке С состоит из функции main, переменные типа float, операторы if, else, for, логические и арифметические операции.Данный проект выполняет проверку простейшей программы на языке С, которая проверяет в программе следующие операторы if...else, for, while и некоторые математические операции с типом данных float, а также удаляет все несущественные вхождения операторов. использование одной библиотеки iostream; описание переменных типов float, int;Несущественное вхождение операторов происходит при написании программы, вследствие ввода многочисленных операторов.Система должна обеспечивать корректное выполнение всех предусмотренных техническим заданием функций. Системе необходим специалист, обладающий навыками работы с персональным компьютером.Персональный компьютер должен обладать средством ввода и вывода (клавиатура и монитор).В качестве примера использовалась ОС Microsoft Windows.Имя файла, из которого будет осуществляться ввод информации задается аргументом командной строки. Программа будет работать в не интерактивном режиме. Выходные данные будут записываться в стандартный поток ошибок. Структура технологического процесса обработки информации следующая: считать файл; все конструкции языка разделяют произвольным числом пробелов и знаков табуляции, но при этом обязательно разделяются как минимум одним символом переноса строки;Основной единицей входной информации является простая программа, состоящая из следующих атрибутов: Объявление переменных; Для представления входных данных предлагается использовать список. Внутренние информационные объекты предполагается представлять с помощью переменных стандартных типов языка C#.Алгоритм решения программы будет состоять из двух частей: первая часть будет считывать файл, удалять из него комментарии, делить текст на строки и сравнивать его с различными масками, выделяя различные части строк, выводить текст программы в соответствии с правилами форматирования.Выбран язык программирования С# так как в нем есть следующие преимущества, унаследованные от языка С: обозначения начала/конца блока кода фигурными скобками; синтаксис описания и использования переменных и функций (порядок «тип имя», использование модификаторов, обязательность скобок для функций, описание формальных параметров); наименования встроенных элементарных типов (кроме bool, в Java этот тип называется boolean);Программа будет состоять из двух частей: первая часть будет считывать файл, удалять из него комментарии, делить текст на строки и сравнивать его с различными масками, выделяя различные части строк, выводить текст программы в соответствии с правилами форматирования.Для каждой части программы текстовые данные обрабатываются различным образом: для первой как имя файла, который следует считать и обработать;Диалог с пользователем будет осуществляться в пакетном режиме: запуск программы, с указанием файла для анализа; обработка информации, находящейся в этом файле;В данной программе не предусматривается никаких специальных мер обеспечения надежности, т.к. нет ввода данных пользователем и нет условий, которые могут привести к ошибке.устройства ввода и вывода информации (клавиатура и монитор);Главными данными является файл с информацией, который обладает следующими свойствами: использование одной библиотеки iostream; следующие арифметические и логические выражения: (сложение),!= (проверка на неравенства), = = (эквиваленция), = (присваивание), (больше), - (вычитание), (инкремент), - (декремент), * (умножение); все конструкции языка разделяют произвольным числом пробелов и знаков табуляции; алфавит программы состоит только из латинских букв, которые могут быть строчными, а также спецсимволов: умножение(*), деление(/), сложение( ), вычитание(-), пробел( ), символ табуляции( ), фигурные скобки {}. круглые скобки(), точка с запятой(;), символ переноса строки и возврата каретки; Также для проверки работоспособности программы можно провести следующие действия: изменение входных параметров;Для тестирования программы можно применить следующий алгоритм: записать данные в файл, размещенный на указанном носителе; запустить программу, указав путь к файлу;В данной работе разработана программа, позволяющая произвести синтаксический анализ простой программы и отформатировать ее текст.Текст простой программы Пример простой программы.Синтаксический анализаторstatic void test (string expr, string line,int ln) Console.Error.WRITELINE ("Переменая {0} не обьявлена в выражении {1}, строке {2}", expr.Substring (0, expr.Leng
План
Содержание
Введение
1 Разработка технического задания на проектирование
1.1 Общая постановка задачи
1.2 Определение требований к программе
1.3 Предварительный выбор метода решения задачи
1.4 Определение требований к системе
1.4.1 Требования к системе
1.4.2 Требования к техническому обеспечению
1.4.3 Требования к программному обеспечению
2 Проектирование программного приложения
2.1 Разработка технологии обработки информации
2.2 Разработка структуры и формы представления данных
2.3 Разработка алгоритма решения задачи
2.4 Разработка программы решения задачи
2.4.1 Выбор инструментальных средств
2.4.2 Разработка структуры программы
2.4.3 Проектирование программных модулей
2.4.4 Проектирование программного интерфейса
2.4.5 Обеспечение надежности программы
2.5 Определение конфигурации технических средств
2.6 Тестирование программы
2.6.1 Общие сведения
2.6.2 Процесс тестирования программы
2.6.3 Оценка надежности программы
Заключение
Список используемых источников
Приложение А. Текст простой программы
Приложение Б. Синтаксический анализатор
Приложение В. Основная часть синтаксического анализатора
Приложение Г. Дополнительная часть синтаксического анализатора по разбору алгебраических и логических выражений
Введение
Связь между языком, на котором мы думаем, программируем, и задачами и решениями, которые мы можем представлять в своем воображении, очень тесна. Язык предоставляет программисту набор концептуальных инструментов, если они не отвечают задаче, то их просто игнорируют. Хорошее проектирование и отсутствие ошибок не может гарантироваться языковой средой. Сегодня практически все программы создаются с помощью языков программирования.
В проекте рассматривается разработка системы решения информационно-логических задач, предназначенных для решения указанных задач и хранения результатов.
Широкий круг задач проектирования различного рода технических объектов, в том числе и компьютеров, относятся к классу информационно-логических задач. В настоящее время для решения таких задач используются приближенные методы и алгоритмы, которые требуют различных вычислительных ресурсов и обеспечивают разную точность решения.
Создание системы позволит как оценить и исследовать отдельные методы и алгоритмы, так и сравнить их с точки зрения затрат вычислительных ресурсов и точности получаемых результатов.
Вывод
В данной работе разработана программа, позволяющая произвести синтаксический анализ простой программы и отформатировать ее текст.
В ходе выполнения курсовой работы была написана простейшая программа для проверки работы синтаксического анализатора, который форматировал исходный текст программы и находил в ней ошибки.
В отличии от С , С# много функциональней и расширяет программно-аппаратную совместимость со всем спектров современных компьютеров , UMPC и встроенных систем.
Список литературы
1. Иванова, Г.С. Технология программирования [Текст]: Учебник для вузов / Иванова Г.С. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. - 320 с. : ил. - (Информатика в техническом университете). - ISBN 5-7038-2077-4.
2. Полный справочник по С. Четвертое издание [Текст]: Пер. с англ. / Шилдт, Герберт. - М. : Издательский дом «Вильямс», 2002. - 704 с. : ил. - Парал. Тит. Англ. - ISBN 5-8459-0226-6 (рус.).
3. Основы программирования на языке С [Электронный ресурс]/ Н.А. Калинин, Н.А. Костюкова. - Интернет-Университет Информационнных технологий. - Электрон. текст. дан. - Режим доступа http//www.INYUIT.ru, свободный.
4. Язык программирования С [Электронный ресурс]/ А.Л. Фридман.- Университет Информационнных технологий. - Электрон. текст. дан. - Режим доступа http//www.INYUIT.ru, свободный.