Skip to main content

Практика

Здесь описаны основные этапы выполнения проекта, также обозначены даты их дедлайнов для учащихся 239.

Каждый законченный этап должен быть сохранён в коммите с указанным названием. Между такими коммитами вы можете добавлять сколько угодно своих, но этапы будут оцениваться по последнему коммиту с требуемым названием. Если такого коммита нет, этап считается невыполненным.

Ссылку на репозиторий нужно прислать сюда.

Без readme задания не проверяются

Для каждого этапа обязателен оформленный в соответствии с требованиями readme файл. Без него проверка исходного кода не выполняется

ReadMe

В корне вашего репозитория должен быть readme файл.

Сначала в нём должен быть заголовок "Проект по информатике"

После него в первом абзаце необходимо указать: класс, фамилию и имя

Во втором абзаце необходимо привести номер и условие задачи

Теория лежит здесь

Название коммита: ReadMe


Элементы управления

Необходимо заполнить панель управления всеми необходимыми элементами для вашей задачи.

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

example

Например, если в вашей задачи даны окружности и линия, то нужно добавить:

  • блок ручного добавления окружности
  • блок случайного добавления окружностей (т.к. их несколько)
  • блок ручного задания линии (например, по двум точкам)
  • блок случайного задания линии

Линия не добавляется, а задаётся, потому что одна.

Вся работа выполняется в классе панели управления PanelControl

Теория лежит здесь и здесь.

Название коммита: Control


Структуры данных

Необходимо создать классы всех геометрических объектов в пакете app по аналогии с классом Point.

example

Теория находится здесь

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

Также нужно написать тесты для всех методов новых структур.

теория по юнит-тестам лежит здесь.

Название коммита: Data Structures


Рисование

Необходимо прописать рисование всех ваших примитивов. Рисование должно использовать примитивы из созданных на прошлом этапе списков, а также поле единичных примитивов (например, в задаче всегда одна линия)

На этом этапе следует вручную в конструкторе класса Task заполнить все списки и поля примитивов вручную. Это позволит без интерфейса добавления проверять, правильно ли выполняется рисование.

example

Само рисование необходимо прописать в методе renderTask() класса Task:

example

Название коммита: Render


Добавление кнопками

Необходимо прописать обработку элементов добавления на панели управления из блока

Грубо говоря, в конце этого этапа должны корректно работать все кнопки добавления.

Теория лежит здесь и здесь.

Название коммита: Buttons


Добавление мышью

Необходимо прописать добавление примитивов мышью. Если вам нужно добавлять два типа объектов, то проще всего добавлять их разными кнопками мыши. Если же их больше, то используйте модификаторы Ctrl и Shift.

Если объект задаётся несколькими точками, то введите счётчик кликов. При первом запоминайте первую точку, при втором - вторую и т.д. Когда все точки заданы, последний клик добавляет фигуру по всем сохранённым точкам и обнуляет счётчик.

Теория лежит здесь

Название коммита: Mouse


Решение задачи

Необходимо решить задачу, написать хотя бы три юнит-теста для решения.

Теория по решению задачи лежит здесь, а теория по юнит-тестам - здесь.

Также необходимо прописать отображение ответа как на панели информации, так и на панели рисования и добавить в ReadMe-файл скриншот с демонстрацией работы программы.

Название коммита: Solve


Работа с файлами

Необходимо прописать загрузку и сохранение данных задачи. Теория лежит здесь

Название коммита: Files


Отчёт

В отчёте необходимо описать, что было выполнено, какие алгоритмы были разработаны. Pdf пример готового отчёта можно скачать здесь, а Word здесь.

Готовый отчёт нужно положить в папку report в корне вашего проекта. Предварительно необходимо создать эту папку. Отчёт должен быть сохранён в двух форматах: 'pdf' и 'word' и называться ГОД_ВЫПУСКА_ПАРАЛЛЕЛЬ_ФАМИЛИЯ_ИМЯ_отчёт.

Например, для учащегося 10-8 в 2022 году Иванова Александра отчёт должен называться 2023_8_Иванов_Александр.pdf и 2023_8_Иванов_Александр.docx

Название коммита: Report


Презентация

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

Готовую презентацию надо также, как и отчёт, положить в папку report. Название файла определяется так же как и название отчёта. Презентация Иванова Александра должен была бы называться 2023_8_Иванов_Александр.pptx.

Название коммита: Presentation


Защита

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

Оценка за защиту ставится с коэффициентом 3, оценивается само выступление, законченность приложения и качество презентации