Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/misterzurg/vk-summer-internship-2021
📝 Test assignment for an internship for the Core Infrastructure team (Summer 2021)
https://github.com/misterzurg/vk-summer-internship-2021
vk
Last synced: about 1 month ago
JSON representation
📝 Test assignment for an internship for the Core Infrastructure team (Summer 2021)
- Host: GitHub
- URL: https://github.com/misterzurg/vk-summer-internship-2021
- Owner: MisterZurg
- Created: 2021-06-12T22:02:06.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-09-02T20:28:59.000Z (over 3 years ago)
- Last Synced: 2024-06-21T08:16:32.529Z (6 months ago)
- Topics: vk
- Language: Go
- Homepage:
- Size: 13.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# vk-summer-internship-2021
Test assignment for an intern for the Core Infrastructure team ( Summer 2021 )# Description
Создайте программу-калькулятор, работающую с римскими цифрами.## Язык:
C, C++ или Go.Без внешних зависимостей, можно использовать только стандартную библиотеку выбранного языка.
• Генераторы лексеров и парсеров использовать нельзя.
## Сборка программы:
C: ```gcc -std=c99 -Werror -Wall -Wextra -Wpedantic -o calc *.c```
C++: ```gcc -std=c++17 -Werror -Wall -Wextra -Wpedantic -o calc *.cpp```
Go: ```go build -o calc```
Исходный код должен находиться в приватном репозитории на GitHub или GitLab.
## Ввод-вывод:
* Выражения для вычисления читаются из stdin, по одному выражению на строку.
* Строки разделены \n.* Ответы пишутся в stdout, по одному ответу на строку.
* Строки разделены \n.
* Ничего, кроме ответа, в stdout не пишется.* Программа завершает работу после обработки всех данных из stdin.
## Формат входных данных:
* Числа, состоящие из римских цифр: ```I, V, X, L, C, D, M, Z.```
* ```Z``` обозначает ```0```.
* Операции: ```+, -, *, /.```
* Унарный минус ```(-)``` перед числом обозначает, что оно отрицательное.
* Скобки ```(, )```.
* Между числами, операциями и скобками допустимы пробелы.## Формат ответа:
* В случае успеха — число, состоящее из римских цифр.
* В случае ошибки — строка, начинающаяся с ```error:```.Вычисления производятся с использованием 64-битных знаковых чисел.
## Бонусом будет:
* Описание BNF-грамматики в файле grammar.txt.
* Ответ ошибкой при определении целочисленного переполнения.### [Разбор тестового задания команды Core Infrastructure](https://vk.com/@vkteam-razbor-testovogo-zadaniya-komandy-core-infrastructure)