Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2курс 2сем / TP_Ianysheva_lr_3

.docx
Скачиваний:
9
Добавлен:
16.04.2021
Размер:
175.26 Кб
Скачать

ГУАП

КАФЕДРА № 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

доцент, канд. техн. нау, доцент

А. В. Аграновский

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №3

Циклические конструкции

по дисциплине: Технологии программирования

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР.

4716

С.А. Янышева

подпись, дата

инициалы, фамилия

Санкт-Петербург 2019

1. Постановка задачи

Вычислите приближенное значение функции 𝑓(𝑥) посредством вычисления соответствующего ряда. Вычисления следует остановить тогда, когда значение очередного члена ряда оказалось меньше заданного 𝜀

2. Математическая модель

Так как вычисление состоит из одной формулы, математические выкладки и конечные формулы отсутствуют.

3. Описание разработанной программы

Имя переменной

Тип переменной

Назначение

x

Float

Аргумент функции

x1

String

Переменная для теста

x2

Float

Переменная для теста

x3

Float

Переменная для теста

x4

Float

Переменная для теста

e

Float

Аргумент функции

e1

Float

Переменная для теста

e2

String

Переменная для теста

e3

Float

Переменная для теста

e4

Float

Переменная для теста

Переменные x1, x2, x3, x4, e1, e2, e3, e4 используются в функции для проверки тестового набора.

Листинг программного кода:

import math

def check_inputx(x): # Проверка введённого значения x на ошибки

try: # Проверка на флоатовское значение

float(x)

except ValueError:

return ('Error')

x = float(x)

return x

def check_inpute(e): # Проверка введённого значения e на ошибки

try:

float(e)

except ValueError:

return ('Error')

e = float(e)

return e

def LAB3_VAR_33(x,e):

x = check_inputx(x)

if (x == 'Error'):

print('Ошибка. Введено не числовое значение x.')

return ('Error')

e = check_inpute(e)

if (e == 'Error'):

print('Ошибка. Введено не числовое значение e.')

return ('Error')

if (x) > 1:

print('Ошибка. Введено недопустимое значение x.')

return ('Error')

n = 1 # коэффициент определяющий знак слагаемого

z = 1 # значение знаменателя и степени, изначально равно единице

result = 0

while 1:

s = n * ((x ** z) / z)

z = z + 1

n = n * (-1)

result = result + s

if math.fabs(s) < e:

break

return result

def TEST_LAB3_VAR_33():

print('Тест 1')

print('Х1 = chislo, e1 = 0.000001')

x1 = 'chislo'

e1 = 0.000001

result = (LAB3_VAR_33(x1, e1))

if result == "Error":

print('Тест пройден')

else:

print('Тест не пройден')

print('----------------------------')

print('Тест 2')

print('Х2 = 0.1, e2 = chislo')

x2 = 0.1

e2 = 'chislo'

result = (LAB3_VAR_33(x2, e2))

if result == "Error":

print('Тест пройден')

else:

print('Тест не пройден')

print('----------------------------')

print('Тест 3')

print('Х3 = 1.5, e3 = 0.000001')

x3 = 1.5

e3 = 0.000001

result = (LAB3_VAR_33(x3, e3))

if result == "Error":

print('Тест пройден')

else:

print('Тест не пройден')

print('----------------------------')

print('Тест 4')

print('Х4 = 0.1, e4 = 0.000001')

x4 = 0.1

e4 = 0.000001

result = (LAB3_VAR_33(x4, e4))

print('Ln(1+x)=', result)

if ((math.fabs(((result)) - (math.log1p(x4)))) < 0.0000001):

print('Тест пройден')

else:

print('Тест не пройден')

print('----------------------------')

print('Тест 5')

print('Х5 = -0.5, e5 = 0.0000000001')

x5 = -0.5

e5 = 0.0000000001

result = (LAB3_VAR_33(x5, e5))

print('Ln(1+x)=', result)

if ((math.fabs(((result)) - (math.log1p(x5)))) < 0.0000001):

print('Тест пройден')

else:

print('Тест не пройден')

TEST_LAB3_VAR_33()

4. Описание тестового набора

Тестирование будет производится на следующих данных, представленных в таблице №3.

Таблица №3 – Тестовый набор

Описание тестового случая

Входные данные

Ожидаемый результат

Результат теста

Пользователь ввёл строку в x

x = “chislo”

e = 0.000001

Ошибка. Введено не числовое значение x.

Пройден

Пользователь ввёл строку в e

x = 0.1

e = “chislo”

Ошибка. Введено не числовое значение e.

Пройден

Пользователь ввёл значение x >= 1

x = 1.5

e = 0.000001

Ошибка. Введено недопустимое значение x.

Пройден

Пользователь ввёл значение x ≤ 1, e

x = 0.1

e = 0.000001

Разность модулей результата работы программы и вычисления с помощью функции math.log1p меньше 0.0000001

Пройден

Пользователь ввёл значение x ≤ 1, e

x = -0.5

e = 0.0000000001

Разность модулей результата работы программы и вычисления с помощью функции math.log1p меньше 0.0000001

Пройден

5. Пример работы программы

На рисунке 1 представлен пример работы программы.

Рисунок 1 – Пример работы программы

6. Выводы

В ходе выполнения лабораторной работы была реализована программа вычисления приближенного значения функции. Были получены практические навыки написание расчетных программ на языке программирования Python.

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

Соседние файлы в папке 2курс 2сем