форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
134 строки
6.4 KiB
Markdown
134 строки
6.4 KiB
Markdown
# Программное обеспечение автоматизированных систем: лабораторные работы
|
|
|
|
[Репозиторий с методическими указаниями и заданиями.](http://uit.mpei.ru/git/main/python)
|
|
|
|
## Работа с Git
|
|
|
|
**Работы проверяются только после того, как закоммичены по правилам ниже.**
|
|
|
|
[Лабораторная работа про Git второго семестра][gitlab]
|
|
поможет вспомнить, как работать с Git.
|
|
|
|
[gitlab]: http://uit.mpei.ru/git/main/cs/src/branch/main/labs/lab02
|
|
|
|
1. В начале семестра
|
|
создать на сервере копию этого репозитория («форкнуть» его), нажав *Fork*.
|
|
Получится репозиторий-форк `http://uit.mpei.ru/git/IvanovII/python-labs`,
|
|
где `IvanovII` — ваше имя пользователя.
|
|
|
|
1. В начале каждого занятия:
|
|
|
|
Клонировать свой форк на рабочий стол
|
|
(`IvanovII` заменить на свое имя пользователя):
|
|
|
|
```sh
|
|
git clone http://uit.mpei.ru/git/IvanovII/python-labs.git
|
|
```
|
|
|
|
Перебазировать свой форк на исходный репозиторий ("апстрим"):
|
|
|
|
```sh
|
|
# Первую команду нужно запускать только один раз,
|
|
# иначе будет ошибка "error: remote upstream already exists".
|
|
git remote add upstream http://uit.mpei.ru/git/main/python-labs.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`.
|
|
|
|
## Оформление материалов
|
|
|
|
Тексты оформляются в формате [Markdown](https://commonmark.org/help/).
|
|
Для этого текст со специальной разметкой пишется в файле с расширением `*.md`,
|
|
а в web-интерфейсе будет отображаться оформленным, подобно этому.
|
|
|
|
Образец оформления материалов по каждой теме: [`TEMA0`](TEMA0).
|
|
|
|
### Оформление отчетов
|
|
|
|
Отчет `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'
|
|
```
|
|
|
|
Нажал *Файл / Открыть*, диалог оказался сразу нацелен на установленную папку:
|
|
|
|

|
|
|
|
Заголовки пунктов должны отражать их суть в нескольких словах,
|
|
то есть просто скопировать текст пункта в заголовок не подойдет.
|
|
Вы должны сами придумать осмысленные заголовки, прочитав пункт задания.
|
|
|
|
В отчет копируется код, введенный в оболочку (строки, начинающиеся с `>>>`),
|
|
и вывод соответствующих команд (`'C:\\Users...` в примере).
|
|
|
|
Если в пункте задания требуется сделать вывод или объяснить что-то,
|
|
к коду и выводу добавляется письменный ответ или пояснение.
|
|
|
|
### Оформление решений
|
|
|
|
Решение всех заданий оформляется по образцу:
|
|
|
|
# Общее контрольное задание по теме 2
|
|
|
|
Иванов Иван, А-01-25
|
|
|
|
## Задание
|
|
|
|
Создать переменную `name`, содержащую ваше имя. Определить тип этой переменной.
|
|
|
|
## Решение
|
|
|
|
```py
|
|
>>> name = 'Иван'
|
|
>>> type(name)
|
|
'str'
|
|
```
|
|
|
|
Для темы 1 вместо «Задания» — «Вопрос», вместо «Решения» — «Ответ».
|
|
|
|
Для тем 8 и 9 раздела «Решение» не нужно,
|
|
вместо этого решение размещается в отдельных файлах `*.py`.
|