Условные конструкции
Автор: lukyan101 • Ноябрь 7, 2019 • Лабораторная работа • 393 Слов (2 Страниц) • 289 Просмотры
ГУАП
КАФЕДРА № 41
ОТЧЕТ
ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
доцент, к.т.н. | ||||
должность, уч. степень, звание | подпись, дата | инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №2
УСЛОВНЫЕ КОНСТРУКЦИИ
по курсу: ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ
РАБОТУ ВЫПОЛНИЛ | ||||||
СТУДЕНТ ГР. № | М621 | |||||
подпись, дата | инициалы, фамилия |
Санкт-Петербург
2018
Постановка задачи.
Задание №9, вариант 14.
Вычислить значение функции рез ( ) при условии, что функция вычисляется по формуле:
1 1( ), при < 1
рез ( ) = { 2 2( − 1), при 1 ≤ ≤ 2
3 3( − 2), при > 2
Для данного варианта:
1 = 5, 2 = 5, 3 = 2.5; 2
[pic 1]
+1
2( ) = 4 2 − 1
Т.к. функция содержит дробь - возможны случаи, при которых будет происходить попытка деления числа на 0. Необходимо учесть эти случаи при разработке программы.
Математическая модель.
Необходимо подставить соответствующие варианту задания константы в основную функцию и выполнить преобразования.
5 ∙ +12 , при < 1
[pic 2]
рез ( ) = {(−7) ∗ (4( − 1)2 − 1), при 1 ≤ ≤ 2 5 ∗ (2( − 2) − 1), при > 2
+110 , при < 1
[pic 3]
рез ( ) = { −28( − 1)2 + 7, при 1 ≤ ≤ 2 10( − 2) − 5, при > 2
Функция определена на всей числовой прямой.
Из преобразованной функции видно, что при x = -1
на 0.
→
будет происходить деление
Описание разработанной программы.
Входные переменные:
Имя переменной | Тип переменной | Назначение |
x | float | Хранит значение переменной |
выходные переменные: | ||
Имя переменной | Тип переменной | Назначение |
fx | float | Хранит результат вычисления |
функции | ||
Описание алгоритма. |
[pic 4]
Начало
Ввод x | ||||||
да | нет | |||||
x равен -1 | ||||||
[pic 5]
Вывод сообщения | да | x меньше 1 | нет | |||||||
об ошибке | ||||||||||
fx=10/(x+1) | ||||||||||
да | x больше 2 | нет | ||||||||
fx=10*(x-2)-5 fx=-28*((x-1)**2)+7
Вывод fx
Конец
Листинг программы.
def LAB2_VAR_914(x):
fx = 0.0;
if x == -1 :
print ('Ошибка! Деление на 0 недопустимо.')
else :
if x < 1 :
fx= 10/(x+1)
else :
if x>2:
fx=10*(x-2)-5
else: fx= -28*((x-1)**2)+7
return fx
def TEST_LAB2_VAR_914():
fx = LAB2_VAR_914(x=-6)
if fx != -2.0:
print('Тест №1 не пройден')
else: print('Тест № 1 пройден')
fx= LAB2_VAR_914(x=1)
if fx != 7.0:
print('Тест №2 не пройден')
else: print('Тест №2 пройден')
fx= LAB2_VAR_914(x=5)
...