Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы Султонов Фирдавс.docx
Скачиваний:
6
Добавлен:
08.11.2023
Размер:
2.08 Mб
Скачать
  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)