Консольный калькулятор (проект) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Новая страница, с помощью формы Новый_проект)
 
 
(не показано 6 промежуточных версии 4 участников)
Строка 1: Строка 1:
 
{{Карточка_проекта
 
{{Карточка_проекта
|name=Консольный калькулятор
+
|name=Консольный калькулятор  
 
|mentor=Архангельский Сергей
 
|mentor=Архангельский Сергей
 
|mentor_login={{URLENCODE:Vertix|WIKI}}
 
|mentor_login={{URLENCODE:Vertix|WIKI}}
Строка 7: Строка 7:
 
|summer=
 
|summer=
 
|categorize=yes
 
|categorize=yes
 +
|is_archived=yes
 +
|is_remote=
 
}}
 
}}
 
 
=== Что это за проект? ===
 
=== Что это за проект? ===
Консольная утилита позволяющая производить базовые арифмитические операции.
+
Консольная утилита, позволяющая производить базовые арифмитические операции.
  
 
=== Чему вы научитесь? ===
 
=== Чему вы научитесь? ===
Строка 18: Строка 19:
 
=== Какие начальные требования? ===
 
=== Какие начальные требования? ===
 
* Начальное владение одним из языков: Python, C++, go.
 
* Начальное владение одним из языков: Python, C++, go.
* Готовность самостоятельной работе.
+
* Готовность к самостоятельной работе.
  
 
=== Какие будут использоваться технологии? ===
 
=== Какие будут использоваться технологии? ===
Строка 33: Строка 34:
 
* Хорошо: Поддержка навигации по истории команд (нажатие кнопки вверх -- предыдущая команда, вниз -- последующая). Поддержка автодополнения (нажатие TAB -- предлагается список допустимых лексем, если только одна, то она автоматически подставляется)
 
* Хорошо: Поддержка навигации по истории команд (нажатие кнопки вверх -- предыдущая команда, вниз -- последующая). Поддержка автодополнения (нажатие TAB -- предлагается список допустимых лексем, если только одна, то она автоматически подставляется)
 
* Отлично: Поддержка символьных выражений (когда один из операндов задан как некая переменная, пример: 2x + 3y). Реализация раскрытия скобок (например (2x + 3y) * (4x + 1) -> 8x^2 + 2x + 12xy + 3y)
 
* Отлично: Поддержка символьных выражений (когда один из операндов задан как некая переменная, пример: 2x + 3y). Реализация раскрытия скобок (например (2x + 3y) * (4x + 1) -> 8x^2 + 2x + 12xy + 3y)
 +
 +
=== Дополнительные ссылки ===
 +
* [https://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0 Формальная грамматика]
 +
* [https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7#.D0.A2.D0.B8.D0.BF.D1.8B_.D0.B0.D0.BB.D0.B3.D0.BE.D1.80.D0.B8.D1.82.D0.BC.D0.BE.D0.B2 Алгоритмы синтаксического анализа]

Текущая версия на 22:08, 19 января 2015

Ментор Архангельский Сергей
Учебный семестр Весна 2015
Учебный курс 1-й курс


Внимание! Данный проект находится в архиве и реализован не будет.

Что это за проект?

Консольная утилита, позволяющая производить базовые арифмитические операции.

Чему вы научитесь?

  • Основам теории синтаксического анализа формальных языков
  • Работе с консолью внутри приложения

Какие начальные требования?

  • Начальное владение одним из языков: Python, C++, go.
  • Готовность к самостоятельной работе.

Какие будут использоваться технологии?

Те, которые предполагаются форматом проектного семинара, git, github, возможно среды разработки.

Темы вводных занятий

  • Формальные грамматики. Лексический и синтаксический разбор.

Направления развития

  • Реализация полноценного интерпретатора своего собственного языка программирования

Критерии оценки

  • Удовлетворительно: Поддержка арифметических действий (сложение, вычитание, умножение, деление, возведение в степень), скобочных выражений, базовых математических функций (логарифм, тригонометрия). Поддержка именованных переменных присваивание и использование в выражении. Поддержка режима чтения со стандартного входа.
  • Хорошо: Поддержка навигации по истории команд (нажатие кнопки вверх -- предыдущая команда, вниз -- последующая). Поддержка автодополнения (нажатие TAB -- предлагается список допустимых лексем, если только одна, то она автоматически подставляется)
  • Отлично: Поддержка символьных выражений (когда один из операндов задан как некая переменная, пример: 2x + 3y). Реализация раскрытия скобок (например (2x + 3y) * (4x + 1) -> 8x^2 + 2x + 12xy + 3y)

Дополнительные ссылки