Методы программирования 2: Вычисление арифметических выражений

Build Status

Цели и задачи

Цель данной работы — разработка структуры данных Стек и ее использование для расчета арифметических выражений с использованием обратной польской записи (постфиксной формы).

Выполнение работы предполагает решение следующих задач:

  1. Разработка интерфейса шаблонного класса TStack.
  2. Реализация методов шаблонного класса TStack.
  3. Разработка интерфейса класса TPostfix для работы с постфиксной формой.
  4. Реализация методов класса TPostfix.
  5. Разработка и реализация тестов для классов TStack и TPostfix на базе Google Test.
  6. Публикация исходных кодов в личном репозитории на GitHub.

Используемые инструменты

  • Система контроля версий Git. Рекомендуется использовать один из следующих клиентов на выбор студента:
  • Фреймворк для написания автоматических тестов Google Test. Не требует установки, идет вместе с проектом-шаблоном.
  • Среда разработки Microsoft Visual Studio (2010 или старше).

Общая структура проекта

Структура проекта:

  • gtest — библиотека Google Test.
  • base — каталог с основным проектом ЛР.
  • base_test — каталог с проектом с модульными тестами.
  • README.md — информация о проекте, которую вы сейчас читаете.
  • mp2-lab3-postfix.sln - файл с решением (solution) для Microsoft Visual Studio 2010.
  • Служебные файлы
    • .gitignore — перечень расширений файлов, игнорируемых Git при добавлении файлов в репозиторий.

Инструкция по выполнению работы

  1. Создание форка данного проекта-шаблона.
  2. Клонирование форка из своего личного пространства на GitHub к себе на рабочую машину.
  3. Смена имени папки верхнего уровня на свою фамилию на английском языке.
  4. Разработка тестов для классов TStack и TPostfix
  5. Разработка классов TStack и TPostfix.
  6. Доработка консольной программы для работы с арифметическими выражениями.

Полезные ссылки

Рекомендую обратить внимание на курс "Git. Быстрый старт", доступный бесплатно на сайте GeekBrains в разделе Курсы.

Шаблон отчета

Шаблон отчета можно скачать тут