Загрузка данных


**Задание 1**

```python
def gauss(matrix):
    n = len(matrix)
    for col in range(n):
        max_row = col
        for row in range(col + 1, n):
            if abs(matrix[row][col]) > abs(matrix[max_row][col]):
                max_row = row
        matrix[col], matrix[max_row] = matrix[max_row], matrix[col]
        if matrix[col][col] == 0:
            return None
        for row in range(col + 1, n):
            factor = matrix[row][col] / matrix[col][col]
            for j in range(col, n + 1):
                matrix[row][j] -= factor * matrix[col][j]
    x = [0] * n
    for i in range(n - 1, -1, -1):
        x[i] = matrix[i][n]
        for j in range(i + 1, n):
            x[i] -= matrix[i][j] * x[j]
        x[i] /= matrix[i][i]
    return x

n = int(input("Количество уравнений: "))
print(f"Введите {n} строк по {n+1} чисел:")
matrix = []
for i in range(n):
    matrix.append(list(map(float, input(f"Строка {i+1}: ").split())))

result = gauss(matrix)
if result is None:
    print("Нет единственного решения")
else:
    for i, val in enumerate(result):
        print(f"x{i+1} = {round(val, 4)}")
```

---

**Задание 2**

```python
workstations = int(input("Количество рабочих станций: "))
cable = float(input("Длина кабеля (м): "))
has_server = input("Нужен сервер? (да/нет): ").strip().lower() == "да"

cost = 0
cost += workstations * 45000
cost += cable * 35
cost += workstations * 800
cost += ((workstations // 24) + 1) * 5000
cost += workstations * 2500
if has_server:
    cost += 120000

total = cost * 1.15

print(f"\nСтоимость без накладных: {cost:.0f} руб.")
print(f"Накладные расходы (15%): {cost * 0.15:.0f} руб.")
print(f"ИТОГО: {total:.0f} руб.")
```

---

**Задание 3**

```python
questions = [
    ("Что такое ОС?", ["Программа управления железом", "Язык программирования", "База данных"], 0),
    ("Что такое IP-адрес?", ["Адрес в сети", "Тип файла", "Протокол шифрования"], 0),
    ("Что такое RAM?", ["Оперативная память", "Жёсткий диск", "Видеокарта"], 0),
    ("Что делает компилятор?", ["Переводит код в машинный", "Запускает браузер", "Форматирует диск"], 0),
    ("Что такое алгоритм?", ["Последовательность шагов", "Тип данных", "Сетевой протокол"], 0),
]

name = input("Введите ваше имя: ")
score = 0

for i, (question, options, correct) in enumerate(questions):
    print(f"\nВопрос {i+1}: {question}")
    for j, opt in enumerate(options):
        print(f"  {j+1}. {opt}")
    answer = int(input("Ваш ответ (номер): ")) - 1
    if answer == correct:
        print("Верно!")
        score += 1
    else:
        print(f"Неверно. Правильный ответ: {options[correct]}")

percent = score / len(questions) * 100
print(f"\n{name}, вы набрали {score} из {len(questions)} ({percent:.0f}%)")
if percent >= 80:
    print("Оценка: 5")
elif percent >= 60:
    print("Оценка: 4")
elif percent >= 40:
    print("Оценка: 3")
else:
    print("Оценка: 2")
```

**Задание 1. Разработать программу для решения систем линейных алгебраических уравнений.**

**Порядок отладки:**
Запустить программу и ввести тестовую систему с известным решением, например 2x+y=5, x+3y=7 (ответ x=1.6, y=1.8). Проверить совпадение вывода с ожидаемым. Затем ввести вырожденную систему (одинаковые строки) и убедиться что программа выводит сообщение об отсутствии решения.

**Фрагменты кода:**
```python
# Прямой ход метода Гаусса
for col in range(n):
    for row in range(col + 1, n):
        factor = matrix[row][col] / matrix[col][col]
        for j in range(col, n + 1):
            matrix[row][j] -= factor * matrix[col][j]

# Обратный ход
x = [0] * n
for i in range(n - 1, -1, -1):
    x[i] = matrix[i][n]
    for j in range(i + 1, n):
        x[i] -= matrix[i][j] * x[j]
    x[i] /= matrix[i][i]
```

**Скриншоты:** *(вставить самостоятельно)*

---

**Задание 2. Разработать программу для расчёта предварительной сметной стоимости создания проводной локальной сети предприятия.**

**Порядок отладки:**
Запустить программу и ввести простые значения, например 10 станций и 100 метров кабеля без сервера. Вручную посчитать на калькуляторе и сравнить с выводом программы. Проверить что накладные расходы 15% считаются правильно.

**Фрагменты кода:**
```python
cost += workstations * 45000
cost += cable * 35
cost += workstations * 800
if has_server:
    cost += 120000

total = cost * 1.15
print(f"ИТОГО: {total:.0f} руб.")
```

**Скриншоты:** *(вставить самостоятельно)*

---

**Задание 3. Разработать программу для проведения тестирования успеваемости студентов образовательных организаций.**

**Порядок отладки:**
Запустить программу и пройти тест, намеренно ответив на все вопросы верно — убедиться что выводится оценка 5. Затем ответить на все неверно и проверить что выводится оценка 2. Проверить пограничные случаи — ровно 60% и ровно 80% правильных ответов.

**Фрагменты кода:**
```python
for i, (question, options, correct) in enumerate(questions):
    print(f"Вопрос {i+1}: {question}")
    answer = int(input("Ваш ответ (номер): ")) - 1
    if answer == correct:
        score += 1

percent = score / len(questions) * 100
if percent >= 80:
    print("Оценка: 5")
elif percent >= 60:
    print("Оценка: 4")
```

**Скриншоты:** *(вставить самостоятельно)*