# Программное обеспечение автоматизированных систем * Методические указания и варианты заданий — в списке файлов выше. * [Журнал](https://docs.google.com/spreadsheets/d/1P9XF8Chyo3sBx5sgGW2UriUBv78sLLuHwOadQvefH9s/edit?usp=sharing) * [Комментарии к методическим указаниям](comments.md) --- ## Работа с Git **Работы проверяются только после того, как закоммичены по правилам ниже.** 1. В начале семестра создать на сервере копию этого репозитория ("форкнуть" его), нажав *Fork*. Получится репозиторий-форк `http://uit.mpei.ru/git/IvanovII/python`, где `IvanovII` — ваше имя пользователя. 1. В начале каждого занятия: Клонировать свой форк на рабочий стол: ```sh git clone http://uit.mpei.ru/git/IvanovII/python ``` Перебазировать свой форк на исходный репозиторий ("апстрим"): ```sh # Первую команду нужно запускать только один раз, # иначе будет ошибка "error: remote upstream already exists". git remote add upstream http://uit.mpei.ru/git/main/python.git git fetch upstream git stash push git rebase upstream/main git stash pop ``` Перебазировать нужно, чтобы подтянуть из исходного репозитория обновления. 1. После того, как отчет написан, закоммитить его как `TEMAn/report.md`. Здесь и далее `TEMAn` — каталоги конкретных тем: `TEMA1`, `TEMA2` и т. д. Можно также коммитить по частям в процессе работы. Если для отчета нужны рисунки, то их закоммитить в `TEMAn`, назвав `figure0.png`, `figure1.png` и т. д. 1. Решение общего контрольного задания (ОКЗ) закоммитить как `TEMAn/task.md`. Исключения: * Тема 1 не содержит общего контрольного задания — ничего не делать. * Тема 8 требует нескольких файлов — закоммитить их в каталог `TEMA8/task`. 1. Решение индивидуального контрольного задания (ИКЗ) по темам 2, 4, 5, 7, 8 или решение теста по модуля после тем 3, 6, 9 закоммитить как `TEMAn/test.md`. Исключения: * Тема 1 вместо ИКЗ содержит контрольный вопрос — закоммитить также в `TEMA1/test.md`. * Тема 8 и тест по модулю 3 (после темы 9) требуют нескольких файлов — закоммитить в каталог `TEMAn/test`. ## Оформление отчета Отчет `TEMAn/report.md` оформляется в формате Markdown по следующему образцу: # Отчет по теме 1 Иванов Иван, А-01-25 ## 1 Изучение среды IDLE ## 1.1 Настройка текущего каталога ``` >>> import os >>> os.chdir(r"C:\users\u111-19\Desktop\python\TEMA1") >>> os.getcwd() 'C:\\Users\\u111-19\\Desktop\\python\\TEMA1' ``` Нажал *Файл / Открыть*, диалог оказался сразу нацелен на установленную папку: ![Скриншот диалога открытия файла](figure0.png) Нужно написать приведенный выше текст в `report.md` (например, Блокнотом), а рядом разместить изображение `figure0.png`, тогда в web-интерфейсе Gitea фрагмент будет отображаться так: > # Отчет по теме 1 > > Иванов Иван, А-01-25 > > ## 1 Изучение среды IDLE > > ## 1.1 Настройка текущего каталога > > ``` > >>> import os > >>> os.chdir(r"C:\users\u111-19\Desktop\python\TEMA1") > >>> os.getcwd() > 'C:\\Users\\u111-19\\Desktop\\python\\TEMA1' > ``` > > Нажал *Файл / Открыть*, диалог оказался сразу нацелен на установленную папку: > > ![Скриншот диалога открытия файла](assets/report-example.png) Заголовки пунктов должны отражать их суть в нескольких словах, то есть просто скопировать текст пункта в заголовок не подойдет. Вы должны сами придумать осмысленные заголовки, прочитав пункт задания. В отчет копируется код, введенный в оболочку (строки, начинающиеся с `>>>`), и вывод соответствующих команд (`'C:\\Users...` в примере). Если в пункте задания требуется сделать вывод или объяснить что-то, к коду и выводу добавляется письменный ответ или пояснение. [Узнать больше о формате Markdown.](https://commonmark.org/help/) ## Оформление решений Решение всех заданий оформлять по образцу: # Общее контрольное задание по теме 2 Иванов Иван, А-01-25 ## Задание Создать переменную `name`, содержащую ваше имя. Определить тип этой переменной. ## Решение ```py >>> name = 'Иван' >>> type(name) 'str' ``` Для тем 8 и 9 раздела «Решение» не нужно, вместо этого решение размещается в отдельных файлах `*.py`.