Файл: Лабораторные работы Султонов Фирдавс.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 14.03.2024

Просмотров: 177

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Оглавление

Лабораторная работа №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. Выполнение проекта и получение результатов

Министерство цифрового развития, связи и массовых коммуникаций РФ

ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ»

Кафедра «Информатика»

Лабораторные работы

По дисциплине «Информационные технологии и

программирование (1 часть)»

Вариант №16

Выполнил:

студент группы БУТ2201

Султонов Ф. С

Проверил:

Доц. Кафедры «Информатика»

К.п.н Гуриков С.Р

Москва, 2022

Оглавление

Лабораторная работа №1…………………………………………………………3

Лабораторная работа №2…………………………………………………………8

Лабораторная работа №3………………………………………………………..15

Лабораторная работа №4………………………………………………………..34

Лабораторная работа №5………………………………………………………..41

Лабораторная работа №6………………………………………………………..47

Лабораторная работа №7………………………………………………………..52

Лабораторная работа №8………………………………………………………..60

Лабораторная работа №9………………………………………………………..67

Лабораторная работа №10..……………………………………………………..72

Лабораторная работа №11………………………………………………………82

Лабораторная работа №12………………………………………………………89

Лабораторная работа №13………………………………………………………99

Дополнительное задание.....……………………………………………………112

Лабораторная работа №1 «Запись арифметических выражения на языке Python. Обработка исключений. Запись информации в текстовый файл. Создание пользовательских функций»

  1. Задание на разработку проекта

Записать арифметическое выражение на языке Python, написать программу расчёта этого арифметического выражения, вывести полученный результат, применить к полученному результату следующие функции: math.сeil(), math.trunc(), math.floor(), round(), результаты вывести на экран, далее, осуществить запись всех результатов в текстовый файл.


Для выполнения задания следовало разработать:

- Пользовательскую функцию math_solution(x), предназначенную для решения заданного уравнения.

- В пользовательской функции math_solution(x), осуществить решение задания, а также вывод ответа.

В основной части программы осуществить ввод значения, применение округления различных видов к полученному результату через встроенные функции matheil(), math.trunc(), math.floor(), round(), а также записать полученные результаты в текстовый файл

  1. Разработка алгоритма

На рисунке 1 показана блок-схемы пользовательской функции math_solution()

Рисунок 1 - Блок-схема функции math_solution(), которая решает уравнение

На рисунке 2 показана блок-схема основной части программы.

Рисунок 2 - Блок-схема основной части программы

Ниже представлен код пользовательской функции и основной части программы

Код пользовательской функции

def math_solution(x):

y = math.sqrt(math.exp(2*x) * math.sqrt(x) + ((x-1/3)/x)) * math.fabs(math.cos(2.5*x))

return y

Код основной части программы

import math

x = float(input(‘\n Введите число: ‘))

v = math_solution(x)

print('Ответ арифметического выражения:', v)

s = math.ceil(v)

d = math.trunc(v)

w = math.floor(v)

z = round(v, 3)

print('Округление до ближайшего большего числа:', s)

print('Целая часть числа равна:', d)

print('Округление числа вниз:', w)

print('Округление числа Y до 3:', z)

f = open(‘text.txt’, ‘a’)

f.write('Ответ арифметического выражения:: '+ str(v))

f.write('\nОкругление до ближайшего большего числа: '+ str(s))

f.write('\nЦелая часть числа равна: '+ str(d))

f.write('\nОкругление числа вниз: '+ str(w))

f.write('\nОкругление числа Y до 3: '+ str(z))

f.close()


  1. Выполнение проекта и получение результатов

Ниже представлен результат работы программы (Рисунок 3):

Рисунок 3 - Полученные результаты

На рисунке 4 представлен результат записи ответов в текстовый файл:

Рисунок 4 - Записанные в текстовый файл ответы

Лабораторная работа №2 «Программирование алгоритмов разветвляющихся структур. Нахождение максимального и минимального значения»

  1. Задание на разработку проекта

Согласно варианту задания, запрограммировать систему кусочно-ломанной функции.

Для выполнения задания следовало разработать:

- Пользовательскую функцию 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)), который будет записывать ошибки в лог-файл.

  1. Разработка алгоритма

Ниже представлена блок-схема функции 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))


  1. Выполнение проекта и получение результатов

Ниже на рисунках 3-5 представлены результаты работы программы

Рисунок 3 - Тестирование 3-х веток программы

Рисунок 5 - Запись в лог файл

Рисунок 4 - Записанные в текстовый файл результаты программы

Лабораторная работа №3 «Создание классов. Создание экземпляров классов. Создание конструкторов»

Часть 1

Упражнение 2.1

  1. Задание на разработку проекта

Создания класса, объекты которого представляют расстояния, выраженные в метрической системе мер.

Для выполнения задания следовало разработать:

  • Класс Dist.

  • Атрибуты класса Dist – meters и centimeters.

  • Метод set_dist(self, mt, ct) для инициализации атрибутов класса

  • Метод get_dist(self) для ввода значений атрибутов

  • Метод show_dist(self) для вывода значений атрибутов

  • 3 объекта класса Dist: dist1, dist2 и dist3.

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

  1. Разработка алгоритма

Код программы представлен в Листинге 1

Листинг 1

class Dist:

meters, centimeters = 0, 0.0

def set_dist(self, mt, ct):

self.meters = mt

self.centimeters = ct

def get_dist(self):

self.meters = int(input('Введите число метров: '))

self.centimeters = float(input('Введите число сантиметров '))

def show_dist(self):

print('{0} м {1} см'.format(self.meters, self.centimeters))

dist1 = Dist()

dist2 = Dist()

dist3 = Dist()

dist2.set_dist(14,25.)

dist3.get_dist()

print('dist1 = ', end = '')

dist1.show_dist()

print('dist2 = ', end = '')

dist2.show_dist()

print('dist3 = ', end = '')

dist3.show_dist()

  1. Выполнение проекта и получение результатов.

Результат работы программы представлен на Рисунке 1:

Рисунок 1 - Результат работы первой программы