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

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

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

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

Добавлен: 14.03.2024

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

Скачиваний: 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. Выполнение проекта и получение результатов

Ниже на рисунке 10 показан результат работы программы

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

  1. Проверка правильности работы

На рисунках 11-12 показана проверка правильности результатов

Рисунок 11 - Результат выражения из ЛР1

Рисунок 12 - Результат работы программы из ЛР2

Показанные результаты полностью совпадают с результатами из предыдущих работ.

Лабораторная работа №4 «Создание меню в Python-программе. Инкапсуляция»

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

Выполнить расчет арифметического выражения:

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

- Пользовательскую функцию resh0(self), предназначенную для расчета арифметического выражения из ЛР1

- Пользовательскую функцию resh1(self), предназначенную для расчета 1 ветки арифметического выражения.

-Пользовательскую функцию resh2(self), предназначенную для расчета 2 ветки арифметического выражения.

- Пользовательскую функцию resh3(self), предназначенную для расчета 3 ветки арифметического выражения.

- Организовать создание меню

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

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

Ниже представлен код программы

Код программы

import math

class Lab():

def __init__(self, a, b, x, y):

self.__x = x

self.y = y

self.__a = a

self.__b = b

def __resh0(self):

h = math.sqrt(math.exp(2*self.__x) * math.sqrt(self.__x) + ((self.__x-1/3)/self.__x)) * math.fabs(math.cos(2.5*self.__x))

return h

def resh1(self):

r = x**3 + (math.log(x + a))**2

return r

def resh2(self):

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

return r

def resh3(self):

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

choice = None

while choice!="0":

print("""

Меню

0 - Выйти

1 - Выполнить программу

""")

choice = input("Сделайте выбор ")

print()

if choice == "0":

print("Заканчиваем работу")

elif choice =="1":

print("Введите исходные данные ", end=" ")

a = float(input('\nВведите значение a: '))

b = float(input('Введите значение b: '))

x = float(input('Введите значение x: '))

y = float(input('Введите значение y: '))

rez = Lab(a, b, x, y)

print('Результат ЛР1: ', rez._Lab__resh0())

if x > 0:

j = rez.resh1()

elif x <= 0 and y <= 0:

j= rez.resh2()

else:

j = rez.resh3()

print('Результат ЛР2: ', j)

else:

print("Такого пункта в меню нет ", choice)


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

Ниже представлено тестирование программного кода (Рисунок 1):

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

Ниже представлено тестирование меню программы (Рисунок 2):

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

Далее представлено обращение к закрытому методу (Рисунок 3):

Рисунок 7 - Обращение к закрытому методу

  1. Доказательство правильности работы

Можно заметить, что результат программы из 4 лабораторной работы совпадает с результатом программы из 2 лабораторной работы (Рисунок 4):

Рисунок 4 - Результат работы программы из ЛР№2

Лабораторная работа №5 «Табулирование функции»

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

Построить таблицу и вычислить произведение значений функции y=f(x) при y > 0 при изменении x на отрезке [a; b] с шагом h:

Отрезок [-0.5;1.5], шаг h=0.1

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

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

- Пользовательскую функцию cycle(a, b, h), предназначенную для табулирования арифметического выражения и вычисления произведений значений функции y = f(x), а также построить таблицу.

- Пакеты, в которых следует разместить пользовательские функции

В основной части программы выполнить алгоритмы каждой функции, осуществить ввод данных.

Формализация задания:

Для того чтобы табулировать функцию нужно задать циклическому алгоритму for значение предела табулирования. Это задается следующей формулой: n = round((b-a)/h+1), где b – верхний предел, a – нижний предел, h – шаг.


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

Ниже приведена блок-схема функции task(), которая решает поставленное арифметическое выражение (Рисунок 1):

Рисунок 8 - Блок-схема функции task(), которая решает арифметическое выражение

Далее приведена блок-схема функции cycle() по табулированию арифметического выражения (Рисунок 2):

Рисунок 9 - Блок-схема функции cycle() по табулированию арифметического выражения

Далее представлена блок-схема основной части программы (Рисунок 3):

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

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

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

def task(x):

y = x**5 + 5*x**4 - 2*x**3 - 4*x**2 + 7*x - 3

return y

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

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

import task

def cycle(a, b, h):

x = a

n = round((b-a)/h + 1)

pr = 1

for i in range(n):

y = task.task(x)

if y > 0:

print('x = ', x, 'z = ', '{0:.3f}'.format(y))

pr *= y

x += h

return pr

Ниже представлен код основной части программы, где осуществляется ввод данных и выполняются алгоритмы каждой функции.

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

import cycle

a = float(input('Нижняя граница: '))

b = float(input('Вверхняя граница: '))

h = float(input('Шаг: '))

rez = cycle.cycle(a, b, h)

print('Результат выражения: ', rez)


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

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

Ниже представлено тестирование основной части программы (Рисунок 4):

Лабораторная работа №6 «Работа с библиотеками Python»

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

Записать условие своей задачи по табулированию функций в редактор Word, а также разместить в нем результаты работы программы в виде встроенного рисунка. А также записать результаты программы по табулированию функции в Excel.

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

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

- Пользовательскую функцию cycle(a, b, h), предназначенную для табулирования арифметического выражения и вычисления произведений значений функции y = f(x), а также построить таблицу.

- Пакеты, в которых следует разместить пользовательские функции

- Код, который запишет условие задачи по табулированию функции в текстовый редактор Word, а также разместит в нем результаты работы программы.

- Код, который выведет таблицу значений табулирования функции в редактор Excel

В основной части программы импортировать внешние библиотеки, а также записать соответствующие коды программы.

Формализация задания:

Для того, чтобы записать результаты в документ Word, нужно импортировать библиотеку docx. Затем инициализировать документ с помощью конструкции имя_переменной = docx.Document(). После с помощью команд doc.add_paragraph(), doc.add_picture() и doc.save() записать условие задачи, импортировать рисунок и сохранить документ соответственно.

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

Ниже представлен код программы

Код программы

import docx

import pandas as pd

import openpyxl

from openpyxl import Workbook

from math import *

from cycle import *

doc = docx.Document()

doc.add_paragraph("_________________________________________________________________________________________________________")

doc.add_paragraph('''Задание:

Использование внешних библиотек Python''')

doc.add_paragraph("_________________________________________________________________________________________________________")