{"id":16513429,"url":"https://github.com/dimaamega/laba-1.-bitpole.","last_synced_at":"2026-05-14T19:02:27.195Z","repository":{"id":117898446,"uuid":"106463861","full_name":"DimaAmega/Laba-1.-BitPole.","owner":"DimaAmega","description":"это лаба про битовые поля и множества","archived":false,"fork":false,"pushed_at":"2017-10-10T22:17:25.000Z","size":90468,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-12T22:31:51.946Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DimaAmega.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-10T19:49:36.000Z","updated_at":"2017-10-10T20:20:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"c24dccfe-78bc-47bd-b5d8-c55f1971d428","html_url":"https://github.com/DimaAmega/Laba-1.-BitPole.","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimaAmega%2FLaba-1.-BitPole.","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimaAmega%2FLaba-1.-BitPole./tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimaAmega%2FLaba-1.-BitPole./releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimaAmega%2FLaba-1.-BitPole./manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DimaAmega","download_url":"https://codeload.github.com/DimaAmega/Laba-1.-BitPole./tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241489137,"owners_count":19971002,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T16:08:56.111Z","updated_at":"2026-05-14T19:02:26.959Z","avatar_url":"https://github.com/DimaAmega.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Методы программирования 2: Множества на основе битовых полей\n\n[![Build Status](https://travis-ci.org/UNN-VMK-Software/mp2-lab1-set.svg)][travis]\n\n\u003c!-- TODO\n  -\n--\u003e\n\n## Цели и задачи\n\n__Цель данной работы__  — разработка структуры данных для хранения множеств с\nиспользованием битовых полей, а также освоение таких инструментов разработки\nпрограммного обеспечения, как система контроля версий [Git][git] и фрэймворк для\nразработки автоматических тестов [Google Test][gtest].\n\nПредполагается, что перед выполнением работы студенты получают данный\nпроект-шаблон, содержащий следующее:\n\n - Интерфейсы классов битового поля и множества (h-файлы)\n - Готовый набор тестов для каждого из указанных классов\n - Пример использования класса битового поля и множества для решения задачи\n   поиска простых чисел с помощью алгоритма [\"Решето Эратосфена\"][sieve]\n\nВыполнение работы предполагает решение следующих задач:\n\n  1. Реализация класса битового поля `TBitField` согласно заданному интерфейсу.\n  1. Реализация класса множества `TSet` согласно заданному интерфейсу.\n  1. Обеспечение работоспособности тестов и примера использования.\n\n## Используемые инструменты\n\n  - Система контроля версий [Git][git]. Рекомендуется использовать один из\n    следующих клиентов на выбор студента:\n    - [Git](https://git-scm.com/downloads)\n    - [GitHub Desktop](https://desktop.github.com)\n  - Фреймворк для написания автоматических тестов [Google Test][gtest]. Не\n    требует установки, идет вместе с проектом-шаблоном.\n  - Среда разработки Microsoft Visual Studio (2008 или старше).\n  - Опционально. Утилита [CMake](http://www.cmake.org) для генерации проектов по\n    сборке исходных кодов. Она может быть использована для генерации решения для\n    среды разработки, отличной от Microsoft Visual Studio 2008 или 2010, предоставленных в данном проекте-шаблоне.\n\n## Общая структура проекта\n\nСтруктура проекта:\n\n  - `docs` — инструкции по выполнению лабораторной работы, полезные документы.\n  - `gtest` — библиотека Google Test.\n  - `include` — директория для размещения заголовочных файлов.\n  - `samples` — директория для размещения демо-приложений.\n  - `sln` — директория с файлами решений и проектов для VS 2008 и VS 2010,\n    вложенные директории `vc9` и `vc10` соответственно.\n  - `src` — директория с исходными кодами (cpp-файлы).\n  - `test` — директория с модульными тестами и основным приложением,\n    инициализирующим запуск тестов.\n  - `README.md` — информация о проекте, которую вы сейчас читаете.\n  - Служебные файлы\n    - `.gitignore` — перечень расширений файлов, игнорируемых Git при добавлении\n      файлов в репозиторий.\n    - `CMakeLists.txt` — корневой файл для сборки проекта с помощью CMake. Может\n      быть использован для генерации проекта в среде разработки, отличной от\n      Microsoft Visual Studio.\n    - `.travis.yml` — конфигурационный файл для системы автоматического\n      тестирования Travis-CI. Тесты, входящие в состав шаблонного проекта,\n      регулярно запускаются на удаленной [инфраструктуре][travis].\n\nВ решении содержатся следующие модули:\n\n  - Модуль `tbitfield`, содержащий реализацию класса битового поля (файлы\n    `./include/tbitfield.h`, `./src/tbitfield.cpp`). Предполагается, что в ходе\n    выполнения работы реализуются методы класса в файле `./src/tbitfield.cpp`,\n    при этом заголовочный файл `./include/tbitfield.h` с объявлениями должен\n    оставаться неизменным.\n  - Модуль `tset`, содержащий реализацию класса множества (файлы\n    `./include/tset.h`, `./src/tset.cpp`). При выполнении работы так же, как и в\n    случае класса битового поля, разрабатывается только реализация методов\n    класса.\n  - Тесты для классов битовое поле и множество (файлы\n    `./test/test_tbitfield.cpp`, `./test/test_tset.cpp`).\n  - Пример использования класса битового поля и множества для поиска простых\n    чисел с использованием алгоритма, называемого [\"Решетом Эратосфена\"][sieve]\n    (файл `./samples/sample_prime_numbers.cpp`).\n\n## Инструкция по выполнению работы\n\nВыполнение лабораторной работы предполагается в несколько шагов:\n\n  1. Освоение общих принципов работы с Git и GitHub. Последовательность\n     действий, которую необходимо выполнить перед началом работы с\n     проектом, описана в документе, посвященному [Git][git-guide].\n  1. Освоение общих принципов работы с Google Test. Инструкции приведены в\n     разделе, посвященному [Google Test][gtest-guide].\n  1. Создание полноценных реализаций классов `TBitField` и `TSet`, проходящих\n     все автоматические тесты.\n\n\u003c!-- LINKS --\u003e\n\n[git]:         https://git-scm.com/book/ru/v2\n[gtest]:       https://github.com/google/googletest\n[sieve]:       http://habrahabr.ru/post/91112\n[travis]:      https://travis-ci.org/UNN-VMK-Software/mp2-lab1-set\n[git-guide]:   https://github.com/UNN-VMK-Software/mp2-lab1-set/blob/master/docs/part1-git.md\n[gtest-guide]: https://github.com/UNN-VMK-Software/mp2-lab1-set/blob/master/docs/part2-google-test.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimaamega%2Flaba-1.-bitpole.","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimaamega%2Flaba-1.-bitpole.","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimaamega%2Flaba-1.-bitpole./lists"}