Анализ выражения на ошибки

Так как в поле ввода может быть допущена ошибка, возможен ввод недопустимого значения.

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

Вывод ошибки в программе осуществляется в следующих случаях:

1. Ввод выражений начинается со знака операции.

2. В поле ввода введен текст.

3. Повторяющиеся знаки арифметических операций, стоящие рядом.

4. Незаполненное поле ввода.

5. Введенное выражение не является арифметическим.

6. Деление на ноль.

7. Неверный символ «...».

8. Пропущен оператор.

9. Не заданы параметры функции «...».

10. Неизвестная функция «...».

Анализатор действует поэтапно и после каждого этапа, в котором может присутствовать ошибка, проверяет её наличие. В случае обнаружения ошибки, последующий анализ выражения прекращается и происходит уведомление пользователя об ошибке. В противном случае, анализатор переходит к следующему этапу и происходит до тех пор, пока ошибок не будет.

 

Целесообразность выбора языка программирования

Язык C# – это простой, но в то же время мощный, строго типизированный и объектно-ориентированный язык, позволяющий программистам создавать разнообразные приложения. В среде Visual C# с помощью платформы NET Framework возможно создание приложений Windows, веб-служб, средств баз данных, компонентов, элементов управления и многое другое.

Для реализации курсовой работы был выбран язык C# в среде Microsoft Visual C#, так как он имеет ряд преимуществ, которые упрощают процесс создания приложений.

Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

Переняв многое от своих предшественников – языков C++, Java, Delphi. – С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем. Наличие сборщика мусора с управляемыми объектными ссылками, который автоматически освобождает за Вас память, отбирая при этом процессорное время.

А также безопасная работа с типами, а это, по мнению многих, является вторым важнейшим фактором избегания ошибок. При создании языка рассматривалась не только простота написания приложений, но и их поддержки – в связи, с чем в язык включили поддержку XML комментариев и контроля версий. В C# представлена концепция пространств имен, аналогичная пакетам в Java.

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

Реализация структур как типов, работа с которыми идет по значению, вместе с возможностью использовать не только вложенные массивы (как в Java), но и многомерные позволяет оптимизировать производительность приложений.

Ввиду очень удобного объектно-ориентированного дизайна, C# является хорошим выбором для быстрого конструирования различных компонентов – от высокоуровневой бизнес логики до системных приложений, использующих низкоуровневый код.

Таким образом, выбранный язык программирования наиболее удобен для выполнения поставленной задачи.

 

Руководство по приложению

Способы ввода данных

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

 

Визуальный способ

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

 

Ручной способ

Автоматический способ

Заключение

В данной курсовой работе был разработан синтаксический анализатор на языке С# на тему: «Арифметические выражения_1».

Была разработана программа, осуществляющая синтаксический анализ программы. Написан синтаксический анализатор, поддерживающий контекстно-свободные грамматики, связанные с арифметическими выражениями. Приобретены навыки программирования на языке С#.

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

Курсовая работа состоит из введения, двух глав, заключения, литературы. В работе содержится … рисунков, изложена работа на ... страницах.

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

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

Здесь же подведены итоги темы курсовой работы.