Загрузка данных
**Задание 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")
```
**Скриншоты:** *(вставить самостоятельно)*