- •Оглавление
- •Лабораторная работа №1 «Запись арифметических выражения на языке Python. Обработка исключений. Запись информации в текстовый файл. Создание пользовательских функций»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов
- •Лабораторная работа №2 «Программирование алгоритмов разветвляющихся структур. Нахождение максимального и минимального значения»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов
- •Лабораторная работа №3 «Создание классов. Создание экземпляров классов. Создание конструкторов»
- •Часть 1
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов.
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов.
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов.
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов.
- •2 Часть
- •Задание на разработку проекта
- •Арифметическое выражение лр1: Арифметическое выражение лр2:
- •Разработка алгоритма
- •Выполнение проекта и получение результатов
- •Проверка правильности работы
- •Лабораторная работа №4 «Создание меню в Python-программе. Инкапсуляция»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов
- •Доказательство правильности работы
- •Лабораторная работа №5 «Табулирование функции»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов
- •Лабораторная работа №6 «Работа с библиотеками Python»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов
- •Лабораторная работа № 7 «Создание приложений, использующих итеративные циклические структуры»
- •Задание на разработку проекта
- •Разработка алгоритма
- •3. Выполнение проекта и получение результатов
- •4.Доказательство правильности работы программ
- •Лабораторная работа №8 «Программирование Python-приложений с использованием библиотеки Tkinter»
- •1.Задание на разработку проекта
- •2.Разработка алгоритма
- •3.Выполнение проекта и получение результатов
- •4.Доказательство правильности работы программ
- •Лабораторная работа №9 «Работа с кортежами»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результата
- •Доказательство правильности работы программы
- •Лабораторная работа №10 «Работа со словарями»
- •1 Часть
- •Задание на разработку проекта
- •2. Разработка алгоритма
- •Выполнение проекта и получение результата
- •Доказательство правильности работы программы
- •2 Часть
- •Задание на разработку проекта
- •Разработка проекта
- •Выполнение проекта и получение результатов
- •Лабораторная работа №11 «Работа со списками»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов:
- •Лабораторная работа №12 «Базовые алгоритмы обработки списков и их сортировка»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов:
- •Лабораторная работа №13 «Работа со вложенными последовательностями»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов
- •Дополнительное задание «Реализация пошаговой детализации»
- •Задание на разработку проекта
- •Разработка алгоритма
- •3. Выполнение проекта и получение результатов
Выполнение проекта и получение результатов
Ниже представлен результат работы программы (Рисунок 3):
Рисунок 3 - Полученные результаты
На рисунке 4 представлен результат записи ответов в текстовый файл:
Рисунок
4 - Записанные в текстовый файл ответы
Лабораторная работа №2 «Программирование алгоритмов разветвляющихся структур. Нахождение максимального и минимального значения»
Задание на разработку проекта
Согласно варианту задания, запрограммировать систему кусочно-ломанной функции.
Для выполнения задания следовало разработать:
- Пользовательскую функцию minl(x, a, y, b) для поиска минимального и максимального значения
- Пользовательскую функцию minl(x, a, y, b) разместить в модуле
В основной части программы импортировать пользовательскую функцию, осуществить перехват исключений, записать полученные ответы в текстовый файл и записать лог-файл.
Формализация задания
Для того чтобы записать лог-файл и реализовать перехват исключений
необходимо импортировать для начала библиотеку logging и написать код ‘logging.basicConfig(filename = 'log.txt', level = logging.INFO)’ который будет задавать путь к файлу в котором будут сохраняться данные лог-файла. Далее, чтобы реализовать перехват исключений нужно воспользоваться конструкцией
‘try:
except Exception as e:’, в котором первая часть будет пытаться выполнить код, в случае ошибки будет выполнена вторая часть конструкции. Во второй части конструкции нужно написать ‘logging.error(str(e))’, который будет записывать ошибки в лог-файл.
Разработка алгоритма
Ниже представлена блок-схема функции minl() (Рисунок 1):
Рисунок
1 - Блок-схема функции minl(),
для нахождения минимального и
максимального значения
На рисунке 2 показана блок-схема основной части программы.
Рисунок
2 - Блок-схема основной части программы
Ниже представлен код пользовательской функции основной части программы:
Код пользовательской функции
def minl(x, y, a, b):
if x > 0:
r = x**3 + (math.log(x + a))**2
elif x <= 0 and y <= 0:
if abs(x) + a > abs(y) + b:
minim1 = abs(y) + b
else:
minim1 = abs(x) + a
if a > x:
minim2 = x
else:
minim2 = a
if minim1 > minim2:
r = minim2
else:
r = minim1
else:
if math.e**(a+b) < math.log(x**2 + y**2)**2:
r = math.log(x**2 + y**2)**2
else:
r = math.e**(a+b)
return r
Код основной части программы
import math
import logging
from mindef import *
logging.basicConfig(filename = 'log.txt', level = logging.INFO)
a = float(input('Введите значенние a: '))
b = float(input('Введите значенние b: '))
x = float(input('Введите значенние x: '))
y = float(input('Введите значенние y: '))
rez = minl(x, y, a, b)
print('Результат выражения: ' + str(rez))
try:
print("Открытие файла...")
f = open('lab2.txt', 'a')
f.write('\nВходные параметры: a = ' + str(a) + ' b = ' + str(b) + ' x = ' + str(x) + ' y = ' + str(y))
f.write('\nОтвет полученного выражения: ' + rez)
f.close()
print('Данные успешно записаны в файл!')
except Exception as e:
print('Что-то пошло не так')
logging.error(str(e))