# Информационные технологии: лабораторные работы

[Репозиторий с методическими указаниями и заданиями.](http://uit.mpei.ru/git/main/it)

## Работа с 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/it-labs`,
    где `IvanovII` — ваше имя пользователя.

2. В начале каждого занятия:

    Клонировать свой форк на рабочий стол
    (`IvanovII` заменить на свое имя пользователя):

    ```sh
    git clone http://uit.mpei.ru/git/IvanovII/it-labs.git
    ```

    Перебазировать свой форк на исходный репозиторий ("апстрим"):

    ```sh
    # Первую команду нужно запускать только один раз,
    # иначе будет ошибка "error: remote upstream already exists".
    git remote add upstream http://uit.mpei.ru/git/main/it-labs.git
    git fetch upstream
    git stash push
    git rebase upstream/main
    git stash pop
    ```

    Перебазировать нужно, чтобы подтянуть из исходного репозитория обновления.

3. После того, как отчет написан, закоммитить его как `TEMAn/report.md`.

    **Здесь и далее «закоммитить» для краткости означает:
    сделать коммит и запушить его на сервер.**

    Здесь и далее `TEMAn` означают каталоги конкретных тем:
    `TEMA1`, `TEMA2` и т. д.
    Можно также коммитить по частям в процессе работы.
    Если для отчета нужны рисунки, то их закоммитить в `TEMAn`,
    назвав `figure0.png`, `figure1.png` и т. д.

4. Решение общего контрольного задания (ОКЗ) закоммитить как `TEMAn/task.md`.

## Оформление материалов

Тексты оформляются в формате [Markdown](https://commonmark.org/help/).
Для этого текст со специальной разметкой пишется в файле с расширением `*.md`,
а в web-интерфейсе будет отображаться оформленным, подобно этому.

Образец оформления материалов по каждой теме: [`TEMA0`](TEMA0).

### Оформление отчетов

Отчет `TEMAn/report.md` оформляется в формате Markdown по следующему образцу:

    # Отчет по теме 1

    Иванов Иван, А-01-24

    ## 1 Изучение среды GNU Octave

    ## 2 Настройка текущего каталога

    Нажал на окно рядом с *Текущая папка:* и установил путь к папке ТЕМА1:

    ![Скриншот выбора текущей папки](figure0.png)

    ...

    ## 6 Создание матриц и векторов

    ```matlab
    >> A=randn(4,6)
        A =

        -0.487249   1.500163  -0.058514   0.447870  -0.831425   0.230160
        0.042227   0.690096  -0.052365   1.305950  -0.379213  -0.269474
        0.654921   0.941014   0.093497   0.561096   0.212812  -0.410104
        -0.148194  -0.678435  -1.008628   1.425202   0.760093  -2.166047
    ```

    

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

В отчет копируется код, введенный в оболочку (строки, начинающиеся с `>>>`),
и вывод соответствующих команд (`'C:\\Users...` в примере).

Если в пункте задания требуется сделать вывод или объяснить что-то,
к коду и выводу добавляется письменный ответ или пояснение.

Если результат работы кода - матрица, но достаточно отобразить лишь её часть. Не нужно вставлять в отчёт матрицы больших размеров!

### Оформление решений

Решение всех заданий оформляется по образцу:

    # Общее контрольное задание по теме 1

    Иванов Иван, А-01-24

    ## Задание

    Создайте переменную ММ – матрицу 5х7 со случайными нормально рас-пределенными элементами с математическим ожиданием 10 и стандартным отклонением 8.

    ...

    ## Решение

    ```matlab

    ...
    
    ```

