print("1. Преобразование восьмеричного значения 45 в целое число:")
octal_value = '45'
decimal_value = int(octal_value, 8)
print(f"Восьмеричное {octal_value} = десятичное {decimal_value}")
print()


print("2. Работа со словарем:")
D = {"усиление": 23, "запаздывание": 12, "постоянная времени": 78}
print(f"Исходный словарь: {D}")

keys_list = list(D.keys())
values_list = list(D.values())
print(f"Список ключей: {keys_list}")
print(f"Список значений: {values_list}")

tuple_result = (keys_list, values_list)
print(f"Кортеж из двух списков: {tuple_result}")

print("\nОтличие кортежа от списка:")
print("- Кортеж НЕИЗМЕНЯЕМ (immutable) - после создания нельзя изменить элементы")
print("- Список ИЗМЕНЯЕМ (mutable) - можно добавлять, удалять, изменять элементы")
print("- Кортеж занимает меньше памяти и работает быстрее")
print("- Кортеж используется для группировки разнородных данных")
print("- Список используется для последовательностей однородных данных")
print()


print("3. Единое выражение с математическими операциями:")
result_3 = ((1768 // 24.8) % 3) ** 2.4
print("Выражение: ((1768 // 24.8) % 3) ** 2.4")
print(f"Результат: {result_3}")
print()


print("4. Единое выражение с битовыми операциями:")
result_4 = ((~(13 & 27)) ^ 14) << 2
print("Выражение: ((~(13 & 27)) ^ 14) << 2")
print(f"Результат: {result_4}")
print()


print("5. Работа со списком и проверка подстроки:")
list_5 = ['колебат'] * 4
print(f"Список: {list_5}")

concatenated = list_5[1] + list_5[2]
print(f"Конкатенация 2-го и 3-го элементов: '{concatenated}'")

has_substring = 'аткол' in concatenated
print(f"Наличие 'аткол' в '{concatenated}': {has_substring}")
print()


print("6. Методы словаря D:")
methods = [method for method in dir(D) if not method.startswith('_')]
print(f"Доступные методы: {methods}")

print("\nИспользование метода keys():")
keys_method = D.keys()
print(f"  D.keys() = {keys_method}")
print(f"  Тип: {type(keys_method)}")
print(f"  Можно преобразовать в список: {list(keys_method)}")

print("\nИспользование метода values():")
values_method = D.values()
print(f"  D.values() = {values_method}")
print(f"  Тип: {type(values_method)}")
print(f"  Можно преобразовать в список: {list(values_method)}")

print("\nВывод:")
print("  - keys() возвращает представление ключей словаря")
print("  - values() возвращает представление значений словаря")
print("  - Эти представления динамически связаны со словарем")
print("  - Изменения в словаре автоматически отражаются в представлениях")
print()


print("7. Работа со строкой и списком:")
text = "Создать объект - символьную строку с текстом данного предложения"
print(f"Исходный текст: '{text}'")

words_list = text.split()
print(f"Список слов: {words_list}")

index = words_list.index('-')
words_list[index] = ','
print(f"После замены '-' на ',': {words_list}")

words_list.remove('данного')
print(f"После удаления 'данного': {words_list}")


print("\n=== ЗАПИСЬ РЕЗУЛЬТАТОВ В ФАЙЛ ===")
with open('TEMA3/control_task_results.txt', 'w', encoding='utf-8') as file:
    file.write("РЕЗУЛЬТАТЫ КОНТРОЛЬНОГО ЗАДАНИЯ\n")
    file.write("=" * 50 + "\n\n")
    
    file.write("1. Преобразование восьмеричного значения:\n")
    file.write(f"   Восьмеричное {octal_value} = десятичное {decimal_value}\n\n")
    
    file.write("2. Работа со словарем:\n")
    file.write(f"   Исходный словарь: {D}\n")
    file.write(f"   Кортеж из списков: {tuple_result}\n")
    file.write("   Отличие кортежа от списка: кортеж неизменяем, список изменяем\n\n")
    
    file.write("3. Математические операции:\n")
    file.write(f"   Результат: {result_3}\n\n")
    
    file.write("4. Битвые операции:\n")
    file.write(f"   Результат: {result_4}\n\n")
    
    file.write("5. Проверка подстроки:\n")
    file.write(f"   Наличие 'аткол' в '{concatenated}': {has_substring}\n\n")
    
    file.write("6. Методы словаря:\n")
    file.write(f"   Ключи: {list(D.keys())}\n")
    file.write(f"   Значения: {list(D.values())}\n\n")
    
    file.write("7. Финальный список слов:\n")
    file.write(f"   {words_list}\n")

print("Результаты записаны в файл 'control_task_results.txt'")


print("\n=== АНАЛИЗ РЕЗУЛЬТАТОВ ===")
print("1. Восьмеричное преобразование: успешно выполнено")
print("2. Словарь преобразован в кортеж списков: структура данных сохранена")
print("3. Математическое выражение: все операции выполнены в правильном порядке")
print("4. Битовые операции: продемонстрирована работа с битовыми операторами")
print("5. Проверка подстроки: показана работа со строками и оператором 'in'")
print("6. Методы словаря: изучены методы keys() и values()")
print("7. Обработка списка: выполнены все требуемые операции модификации")