Вы находитесь на странице: 1из 25

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего


образования
«Дальневосточный федеральный университет»
(ДВФУ)

ИНЖЕНЕРНАЯ ШКОЛА

ОТЧЁТ О ВЫПОЛНЕННЫХ ИНДИВИДУАЛЬНЫХ ЗАДАНИЯХ


по дисциплине «Информационные технологии»
Направление подготовки: 21.03.01 «Нефтегазовое дело»

На тему «Создание документа в системе подготовке текстов Word на основе


выполненных заданий в программных системах Exсel, MathCAD, Python»

Выполнилa: студент
____________Лопатченко С.А.

Проверил: преподаватель
_____________Шишкин.А.В.

______________________________
оценка

г. Владивосток
2019
Оглавление
Введение.................................................................................................................3

1 Реализация вычисленной задачи в различных программных пакетах..........6

1.1 Формулировка задачи..................................................................................6

1.2 Математическая подстановка задачи.........................................................6

1.3 Реализация задачи в среде Excel.................................................................7

1.4 Результаты вычислений...............................................................................8

1.5 Реализация задачи в среде MathCAD.........................................................8

1.6 Результаты вычислений.............................................................................10

1.7 Реализация задачи в среде Python.............................................................11

1.8 Результаты вычислений.............................................................................14

2 Реализация задачи по обработке экспериментальных данных....................15

2.1 Формулировка задачи................................................................................15

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

2.3 Реализация задачи в среде Excel...............................................................17

3 Реализация задачи на исследование функции и построения графиков на


языке Python...................................................................................................................20

3.1 Формулировка задачи................................................................................20

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

3.3 Реализация задачи......................................................................................21

3.4 Результаты вычислений.............................................................................23

Заключение..........................................................................................................25

Список литературы.............................................................................................26

2
Введение

В рамках дисциплины «Информационные технологии» были изучены


следующие программные системы:
 Excel;
 MathCAD;
 интегрированная среда разработки для языка Python;
 Word.
Системы Excel, MathCAD и язык программирования Python предназначены
для решения и визуализации задач разного рода, связанных с вычислениями,
обработкой экспериментальных данных, символьными преобразованиями,
построением графиков и диаграмм и пр. Они предоставляют набор
инструментальных средств, позволяющих реализовать решение поставленной
задачи в выбранном пакете. При этом одна и та же задача может быть реализована
средствами всех перечисленных программных систем.
Программная система Excel [1].
В 1982 году Microsoft запустила на рынок свой первый электронный
табличный процессор Multiplan, который был очень популярен на CP/Mсистемах,
но на MS-DOS системах он уступал Lotus 1-2-3. Первая версия Excel
предназначалась для Mac и была выпущена в 1985 году, а первая версия для
Windows была выпущена в ноябре 1987 года. Lotus не торопилась выпускать 1-2-3
под Windows, и Excel с 1988 года начала обходить по продажам 1-2-3, что в
конечном итоге помогло Microsoft достичь позиций ведущего разработчика
программного обеспечения. Microsoft укрепляла своё преимущество с выпуском
каждой новой версии, что имело место примерно каждые два года. Текущая
версия для платформы Windows — Excel 16, также известная как Microsoft Office
Excel 2016. Текущая версия для платформы macOS — Microsoft Excel 2016.
Excel  это программа для работы с электронными таблицами, созданная
корпорацией Microsoft. Возможности Excel: графические инструменты, обработка

3
текста, оформление таблиц и отчётов, управление базами данных, удобен в
экономико-статистических расчетах и формулах.
Программная система MathCAD [2].
MathCAD — система компьютерной алгебры из класса систем
автоматизированного проектирования, ориентированная на подготовку
интерактивных документов с вычислениями и визуальным сопровождением,
отличается лёгкостью использования и применения для коллективной работы.
MathCAD был задуман и первоначально написан Алленом Раздовом из
Массачусетского технологического института (MIT), соучредителем компании
Mathsoft, которая с 2006 года является частью корпорации PTC (Parametric
Technology Corporation).
MathCAD имеет интуитивный и простой для использования интерфейс
пользователя. Для ввода формул и данных можно использовать как клавиатуру,
так и специальные панели инструментов.
Язык программирования Python [3].
История языка программирования Python началась в конце 1980-х. Гвидо
ван Россум задумал Python в 1980-х годах, а приступил к его созданию в декабре
1989 года в центре математики и информатики в Нидерландах. Язык Python был
задуман как потомок языка программирования ABC, способный к обработке
исключений и взаимодействию с операционной системой Амёба. Ван Россум
является основным автором Python и продолжал выполнять центральную роль в
принятии решений относительно развития языка вплоть до 12 июля 2018 года.
Он позволяет использовать эффективные высокоуровневые структуры
данных и предлагает простой, но эффективный подход к объектно-
ориентированному программированию. Сочетание изящного синтаксиса,
динамической типизации в интерпретируемом языке делает Python идеальным
языком для написания сценариев и ускоренной разработки приложений в
различных сферах и на большинстве платформ.
Система подготовки текстов Word [4]

4
Microsoft Word — текстовый процессор, предназначенный для создания,
просмотра и редактирования текстовых документов, с локальным применением
простейших форм таблично-матричных алгоритмов. Выпускается корпорацией
Microsoft в составе пакета Microsoft Office. Первая версия была
написана Ричардом Броди (Richard Brodie) для IBM PC, использующих DOS, в
1983 году. Позднее выпускались версии для Apple Macintosh (1984), SCO UNIX и
Microsoft Windows (1989). Текущей версией является Microsoft Office Word 2019
для Windows и macOS.
Microsoft Word многим обязан Bravo — текстовому редактору с
оригинальным графическим интерфейсом, разработанному в исследовательском
центре «Xerox PARC». Создатель Bravo Чарльз Симони (Charles Simonyi) покинул
PARC в 1981 году. Тем же летом Симони переманил Броди, с которым вместе
работал над Bravo.
Первый выпуск Word для MS-DOS состоялся в конце 1983 года. Он был
плохо принят рынком, продажи снижало наличие конкурирующего продукта —
WordPerfect.
Microsoft Word позволяет выполнять ввод, форматирование, проверку
текста и выводить его на печать. Кроме текста, документы могут включать
графику, звуковые файлы и видеоклипы, рисунки, диаграммы, формулы, таблицы
и многое другое. С помощью новой версии Word можно не только выводить
документы на печать, но и отправлять их по факсу или электронной почте прямо
из окна программы, а также сохранять на веб-сервере в виде веб-страниц.

5
1 Реализация вычисленной задачи в различных программных пакетах

1.1 Формулировка задачи

Дан треугольник, заданный координатами своих вершин. Для этого


треугольника вычислить:
 длины сторон;
 периметр;
 площадь;
 величины углов в градусах.

1.2 Математическая подстановка задачи

Рассмотрим треугольник ABC, заданный координатами вершин на


плоскости A ( x A , y A ) B ( x B , y B ) C( x C , y C )
Условие существования треугольника: треугольник существует, если
сумма двух любых длин его сторон больше длины третьей стороны.
Для вычисления характеристик треугольник используются следующие
формулы:
a) Длины сторон:
AB=с=√ (x B −x A )2+( y B − y A )2
2 2
BC=a=√ ( x C−x B ) + ( yC − y B )
AC=b=√ (x C −x A )2 +( y C − y A )2
b) Периметр:
p=a+ b+c .
c) Площадь (формула Герона):
p p p p
s=
√ ∙( −a) ∙( −b)∙( −c )
2 2 2 2
d) Величины углов (в радианах):
c 2 +b2 −a2 c 2 +a2 −b2
A=arccos ⁡( ), B=arccos ⁡( ),
2∙ c ∙ b 2∙ c ∙ a
a 2+ b2−c 2
C=arccos ⁡( ).
2 ∙ a ∙b
6
1.3 Реализация задачи в среде Excel

На рисунке 1 показана электронная таблица, используемая для решения


поставленной задачи. Пользователь вводит координаты вершин треугольника в
диапазон ячеек B2:C4. На основе введенных данных вычисляются
характеристики треугольника, проверяется условие его существования. На
рисунке 1а показан вид листа электронной таблицы, если треугольник
существует. На рисунке 1б вид таблицы для того, когда треугольник не
существует (при этом все вычисления скрыты от пользователя)

а) б
а) треугольник существует; б) треугольник не существует.
Рисунок 1.1 Лист электронной таблицы с расчётами
При реализации задачи использовались следующие формулы
 Для вычисления длин сторон:
 В7: =КОРЕНЬ((B2-B3)^2+(C2-C3)^2)
 B8: =КОРЕНЬ((B3-B4)^2+(C3-C4)^2)
 В9: =КОРЕНЬ((B2-B4)^2+(C2-C4)^2)
 Для проверки существования треугольника:
 =ЕСЛИ(И((B9+B8)>B7;(B8+B7)>B9;
(B9+B7)>B8);"Треугольник существует";"Треугольник не
существует");
7
 Для вычисления периметра:
 В12: =СУММ(B7+B8+B9)
 Для вычисления площади:
 В15: =КОРЕНЬ(B12/2*(B12/2-B7)*(B12/2-B8)*(B12/2-B9))
 Для вычисления углов (в радианах):
 В16: =ACOS(((B7)^2+(B9)^2-(B8)^2)/(2*B7*B9))
 В17: =ACOS(((B7)^2+(B8)^2-(B9)^2)/(2*B8*B7))
 В18: =ACOS(((B8)^2+(B9)^2-(B7)^2)/(2*B8*B9))

1.4 Результаты вычислений

В таблице 1 представлены результаты вычислений в среде Excel для


различных входных данных.
Таблица 1.1  Результаты вычислений

Характеристики треугольника
Координаты Треугольник
№ Длины Величины
вершин существует Периметр Площадь
сторон углов
A(6,9) c=3,16228 A=8,13°
1 B(3,5) Да a=1,41421 9,04863 1 B=153,43°
C(-1,6) b=4,47214 C=18,44°
A(1,1)
2 B(2,2) Нет    
C(3,3)
A(2,1) c=4 A=90°
3 B(2,5) Да a=5 12 6 B=36,87°
C(5,1) b=3 C=53,13°
A(2,1) c=2,82843 A=45°
4 B(4,3) Да a=2 6,82843 2 B=45°
C(4,1) b=2 C=90°

1.5 Реализация задачи в среде MathCAD

На рисунке 2 показана страница документа MathCAD, используемая для


решения поставленной задачи. Пользователь вводит координаты вершин
треугольника в раздел «Координаты Вершин треугольника ABC», присваивая
переменянным x A , y A , x B , y B , x C , y C необходимые значения. На основе введённых
8
данных вычисляют характеристики треугольника, проверяется условие его
существования.

Рисунок 1.2 Страница документа MathCAD с расчётами


При реализации задачи использовались следующие формулы:
 для вычисления длин сторон:
2 2

с ≔ ( x a−x b ) + ( y a− y b )
2 2
a ≔ √ ( x −x ) + ( y − y )
c b c b

2 2
b ≔ √ ( x −x ) + ( y − y )
a c a c

 для проверки существования треугольника:


result ≔if ( ( c+ a ) <b)( ( b+ a ) <c )¿
9
“Треугольник не существует”
Else
“Треугольник существует”
 для вычисления периметра:
p ≔a+b+ c

 для вычисления площади:


p p p p
s≔
√ ( )(
∙ −a ∙ −b ∙ −c
2 2 2 2 )( )
 для вычисления углов:
(c 2 +b 2−a2 )
A ≔acos (
2∙ c ∙ b )
180
A≔ A∙
π

(c 2+ a2−b2)
B≔ acos ( 2∙c∙a )
180
B≔ B ∙
π

(a2 +b2−c 2)
C ≔ acos ( 2∙ a ∙ b )
180
C :=C ∙
π

1.6 Результаты вычислений.

В таблице 2 представлены результаты вычислений в среде Python для


различных входных данных.
Таблица 1.2  Результаты вычислений
Характеристики треугольника
Координаты Треугольник
№ Длины Величины
вершин существует Периметр Площадь
сторон углов
A=55.6197
A(0,10) c=11.18 °
1 B(-5,0) Да a=10.05 31.5258 47.5 B=57.7244
C(5,1) b=10.296 °
C=66.656°
A(1,1)
2 B(2,2) Нет    
C(3,3)
10
Характеристики треугольника
Координаты Треугольник
№ Длины Величины
вершин существует Периметр Площадь
сторон углов
A(2,1) c=4 A=90°
3 B(2,5) Да a=5 12 6 B=36,87°
C(5,1) b=3 C=53,13°
A(2,1) c=2,82 A=45°
4 B(4,3) Да a=2 6,82843 2 B=45°
C(4,1) b=2 C=90°

1.7 Реализация задачи в среде Python

На рисунке 3 код программы на языке Python, используемый для решения


поставленной задачи. Пользователь вводит координаты вершин, которые
записываются в переменные вещественные переменные X a , Y a , X b , Y b , X c , Y c . Затем
вычисляются длины сторон треугольника, проверяется условие его
существования и в случае, если треугольник существует, выводятся его
характеристики. Если треугольник не существует  выводится сообщение. На
рисунке 4 показаны результаты выполнения программы для различных входных
данных.

Рисунок 1.3  Код программы

11
а) б)
а) треугольник существует; б) треугольник не существует.
Рисунок 1.4  Результат выполнения программы.

При реализации задачи использовались следующие формулы:


 Для вычисления сторон:
a=round(sqrt((Xc-Xb)**2+(Yc-Yb)**2),3)
b=round(sqrt((Xc-Xa)**2+(Yc-Ya)**2),3)
c=round(sqrt((Xb-Xa)**2+(Yb-Ya)**2),3)
 Для проверки существования треугольника:
if c>=a+b or a>=c+b or b>=c+a:
print("Треугольник не существует!")
else:
print("Длины сторон:a=",a,",b=",b,",с=",c)
 Для вычисления равностороннего, равнобедренного и разностороннего
треугольника:
if a==b and b==c and a==c:
print("Треугольник равносторонний!")
elif a==b or b==c or a==c:
print("Треугольник равнобедренный!")
12
else:
print("Треугольник разносторонний!")
 Для вычисления периметра:
p = a + b + c
print("p=", round ( p, 3))
 Для вычисления площади:
s = sqrt((p/2)*((p/2)-a)*((p/2)-b)*((p/2)-
c))
print("s =", round( s, 3))
 Для вычисления углов:
uA = acos((c**2+b**2-a**2)/(2*c*b))*180/pi
uB = acos((c**2+a**2-b**2)/(2*c*a))*180/pi
uC = acos((a**2+b**2-c**2)/(2*a*b))*180/pi
print("Углы:uA=",round(uA,3),"uB=",round(uB,
3),"uC=",round(uC,3))
 Для вычисления тупоугольного, прямоугольного и остроугольного
прямоугольника:
if (abs(uA-90)<0.000001 or abs(uB-
90)<0.000001) or abs(uC-90)<0.000001:
print ("Треугольник прямоугольный")
elif (uA>90) or (uB>90) or (uC>90):
print("Треугольник тупоугольный")
else:
print("Труегольник остроугольный")

1.8 Результаты вычислений

В таблице 3 представлены результаты вычислений в среде Python для


различных входных данных.

13
Треугольни Характеристики треугольника
Координаты
№ к Длины Перимет Величины
вершин Площадь
существует? сторон р углов
А(3,7) a= 3.162 A=6,343°
1 В(2,-2) Да b= 6.0 p= 18.217 s = 3.001 B=12,102°
С(3,1) с= 9.055 C=161.555°
A(1,1)
2 B(2,2) Нет — — — —
C(3,3)
A(2,1) a= 5.0 A=90.0°
3 B(2,5) Да b= 3.0 p= 12.0 s = 6.0 B=6.87°
C(5,1) с= 4.0 C=53.13°
a=2
A(2,1) A=45°
b=2
4 B(4,3) Да p= 6.828 s = 2.0 B=45°
c=2,82843
C(4,1) C=90°
Таблица 1.3  Результаты вычислений

14
2 Реализация задачи по обработке экспериментальных данных

2.1 Формулировка задачи

Оценить зависимость ударной вязкости от температуры термообработки


образцов в форме параллелепипеда из полимерного композитного материала,
высотой h и шириной b, если известна работа А, затраченная на разрушение
образца. Экспериментальные данные измерений представлены в таблице 2.1. Для
этого необходимо:
 вычислить среднее значение ударной вязкости для каждой
температуры из таблицы;
 найти доверительный интервал вычисленных значений;
 построить график зависимости ударной вязкости от температуры;
 найти уравнение экспериментальной зависимости ударной вязкости от
температуры;
 с помощью полученного уравнения спрогнозировать ударную
вязкость для t = 85°С, 110°С, 145°С.
Таблица 2.4  Экспериментальные данные
t, °С b i , мм , hi , мм Ai , Дж
12,4 4,1 4,9
13,5 4,1 4,7
60 12,7 4,3 4,2
13,4 4,2 4,3 2.2 Постан
12,6 4,1 3,7 овка
12,6 4,2 5,6 задачи
12,5 4,1 5,4
80 12,1 4,3 5,8 Для
13,1 4,3 5,9
12,8 4,2 5,2 решения
13,3 4,4 4,6
13,1 4,3 4,5
100 12,9 4,2 5,6
12,4 4,3 5
12,1 4,2 4,2
12,5 4,3 4,3
12,9 4,2 4
120 12,6 4,1 3,8
12,8 4,3 3,7
13 4,2 3,7
12,5 4,3 2,2 15
12,6 4,3 2,1
140 12,3 4,2 2,8
12,9 4,2 2,9
13,3 4,5 2,4
поставленной задачи необходимо вычислить ударную вязкость (KC) для каждого
измерения, которая характеризует способность материала сопротивляться
ударным нагрузкам и определяется отношением работы A, затраченной на
разрушение образца, к площади поперечного сечения образца в месте излома:
A i кДж
KC i=
[ ]
b i ∙ hi м2

Затем необходимо посчитать среднее значение ударной вязкости для


каждой температуры по формуле:
nt
1
KC t = ∑ KC i
n i=1

где nt – количество измерений для каждой температуры;


Следующий шаг – найти погрешность вычисления ударной вязкости для
каждой температуры (методом Корнфельда) по формуле:
max ( KC i) −min ( KC i )
∆ t= ,i=1.. nt
2
и построить доверительный интервал вычисленных значений:
Нижняя граница : KC i −∆t

Верхняя граница : KC i + ∆t

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


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

2.3 Реализация задачи в среде Excel

Для решения задачи была создана расчетная форма, приведенная на рисунке


2.1

16
Рисунок 2.5 Расчетная форма для обработки экспериментальных данных
Для каждого измерения необходимо посчитать ударную вязкость KC i, при
этом значения высоты hi и ширины b i, выраженные в миллиметрах, необходимо

перевести в метры, а результат перевести в кДж/ м 2 , следовательно, формула в


ячейке E3 будет выглядеть следующим образом:
=D3/(B3*0,001*C3*0,001)/1000
В ячейках E4:E27 используются аналогичные формулы.
Для экспериментов по каждой температуре необходимо вычислить среднее
значение ударной вязкости KC t и погрешность вычисления ❑t.:
F3: =СРЗНАЧ(E3:E7)
G3: =МАКС(E3:E7)
H3: =МИН(E3:E7)
I3 =(G3-H3)/2

17
В ячейках интервала F8:I23 используются аналогичные формулы
В таблице 2.2 приведены средние значения ударной вязкости и границы
доверительных интервалов.
Таблица 2.5  Результаты вычислений

Доверительный интервал
КСt,
t, 0C Нижняя Верхняя
кДж/м2
граница граница
60 81,246 68,867 93,625
80 104,825 97,451 112,199 На основе данных из
100 87,654 75,277 100,031 таблицы 2.2 построена диаграмма,
120 72,475 66,087 78,863
140 45,503 37,783 53,224 приведенная на рисунке 2.2. По
средним значениям ударной
вязкости построена линия тренда, описывающая в аналитическом виде функцию
зависимости ударной вязкости от температуры.

Зависимость ударной вязкости от температуры


Ударная вязкость кДж/м2

120
100
f(x) = 0 x³ − 0.11 x² + 11.66 x − 293.18
80 R² = 0.98
60
40
20
0
40 60 80 100 120 140 160
КСt, кДж/м2
Температура, 0C
Polynomial (КСt, кДж/м2)
Доверительный интервал Нижняя граница
Доверительный интервал Верхняя граница

Рисунок 2.6 Диаграмма зависимости ударной вязкости от температуры


С помощью аналитической функции были получены прогнозируемые
значения для некоторых температур (таблица 2.3).
Таблица 2.6 Прогнозируемые значения ударной вязкости
КСп,
t, 0C
кДж/м2
85 100,328 18
110 79,390
145 37,057
3 Реализация задачи на исследование функции и построения графиков
на языке Python

3.1 Формулировка задачи

Для функции:
1
f ( x )=x +
x−1
Найти:
 область определения функции;
 уравнение касательной в точке 𝑥0 = 0.4;
 уравнения вертикальной и наклонной асимптот.
Построить:
 график функции;
 касательную;
 асимптоты.

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

Область определения. Функция 𝑓(𝑥) определена на множестве всех


действительных чисел, за исключением «особых» точек, в которых знаменатель
обращается в ноль. Чтобы найти особые точки необходимо:
 выделить знаменатель функции 𝑓(𝑥);
 приравнять знаменатель 0 и найти решения полученного уравнения.
Уравнение касательной к функции𝑓(𝑥)имеет вид:
y−f ( x 0 )=f ' ( x 0 ) ∙ ( x−x 0 ) .

Приведем это уравнение в виде y=k ∙ x +b :


y=f ' ( x0 ) ∙ x+ ( f ( x 0 ) −f ' ( x 0 ) ∙ x 0 ) .

Следовательно,
x0
k =f ' ( x 0 ) , b=f ( x 0 )−f '( ) ∙ x 0 . (1).

19
Вертикальные асимптоты следует искать в точках разрыва функции.
Прямая 𝑥 = 𝑎 является вертикальной асимптотой графика функции𝑓(𝑥), если хотя
бы одно из предельных значений
lim f (x )или lim f ( x)
→ →
−0 +0
x❑ a x❑ a

равно +∞ или − ∞ .
Прямая y=k ∙ x +b является наклонной асимптотой графика функции𝑓(𝑥),
если
lim |f ( x ) −k ∙ x−b|=0
x→ ∞

Если наклонная асимптота существует, ее коэффициенты 𝑘 и 𝑏


вычисляются по формулам:

k =lim
f (x)
, b=lim (f ( x )−k ∙ x ¿)¿ (2).
x❑ ∞

x x❑ ∞

3.3 Реализация задачи

Ниже приведен код программы с подробными комментариями, который


используется для решения поставленной задачи.
Сначала с помощью оператора def описывается исследуемая функция.
Затем в символьном виде выделяется ее знаменатель, приравнивается к 0, и в
символьном виде решается уравнение. Найденная точка является точкой разрыва
функции, а также абсциссой вертикальной асимптоты.
Для построения касательной и наклонной асимптоты с помощью оператора
def определяется функция y=k ∙ x +b, описывающая прямую линию. Коэффициенты
наклонной асимптоты и касательной определяются в соответствии с формулами
1-2.
import numpy as np
import sympy as sp
import matplotlib.pyplot as plt
# описание функции
def f (x):
z = x + 1 / (x - 1)
return z
15
# описание прямой

20
def y(x, k, b):
z = x * k + b
return z
x = sp.Symbol("x")
print("Функция f(x): ", f(x))
# область определения
print("\nОбласть определения:")
fract = sp.fraction(sp.factor(f(x)))
denomF = fract[1]
print(" знаменатель функции: ", denomF)
xSolve = sp.solve(denomF)
xZ = xSolve[0]
print(" функция не определена в точке: ", xZ)
# уравнение касательной в точке
x0 = 0.4
print("\nУравнение касательной в точке x0 = ", x0)
dF = sp.diff(f(x), x)
print(" производная функции:", dF)
k = dF.evalf(subs = {x : x0})
b = f(x0) - k * x0
print( " уравнение касательной: y = %5.2f * x + %5.2f" % (k, b))
# уравнения асимптот
print("\nУравнение вертикальной асимптоты:")
lim = sp.limit(f(x), x, xZ)
print ( "предел равен: ",lim, ", следовательно x =", xZ)
print("\nУравнение наклонной асимптоты:")
k1 = sp.limit(f(x)/x, x, inf)
b1 = sp.limit((f(x)- k1 * x), x, inf)
print(" y = %5.2f *x + %5.2f" % (k1, b1))
Далее на основе вычислений, проведенных в первой части программы,
строится график функции на интервале [a, a1], касательная, вертикальная и
наклонные асимптоты.
Чтобы получить изображение графика с точками разрыва, нужно разбить
интервал построения функции [a, a1] на несколько интервалов так, чтобы каждый
не включал точку разрыва. А затем построить фрагменты графика на каждом из
полученных интервалов. В нашем случае интервал построения[a, a1]необходимо
разбить на два [a,xZ-]и [xZ+,a1], где xZ – точка разрыва. В качестве  можно
взять шаг построения графика, умноженный на некоторую константу, например,
h*3.
Для построения наклонной асимптоты в списки абсцисс и ординат
включены две точки (a,y(a,k1,b1)) и (a1,y(a1,k1,b1)) – точки, в которых асимптота
пересекает левую и правую границу области построения. Аналогично строится
касательная к функции (используются точки (a,y(a,k,b1)) и (a1,y(a1,k,b1))).

21
Чтобы построить вертикальную асимптоту, необходимы две точки,
абсцисса которых – точка разрыва xZ, а значения ординат – минимальное и
максимальное значение функции для правой и левой ветви графика.
# построение графика функций и прямых
a = -2; a1 = 4; h = 0.01
#две части графика функции
xList1 = np.arange (a, xZ - h * 3, h)
xList2 = np.arange (xZ + h * 3, a1, h)
lineF1 = plt.plot(xList1, f(xList1))
lineF2 = plt.plot(xList2, f(xList2))
# касательная к графику
lineY = plt.plot([a, a1], [y(a, k, b), y(a1, k, b)])
#наклонная ассимптота
lineA = plt.plot([a, a1], [y(a, k1, b1), y(a1, k1, b1)])
# вертикальная ассимптота
lineAV = plt.plot([xZ, xZ], [min(f(xList1)), max(f(xList2))])
# задание формата вывода линий
plt.setp(lineF1, color='r', linewidth=2.0)
plt.setp(lineF2, color='r', linewidth=2.0)
plt.setp(lineY, color='y', linewidth=1.0)
plt.setp(lineA, color='g', linewidth=1.0, linestyle='dashed')
plt.setp(lineAV, color='b', linewidth=1.0, linestyle='dashed')
plt.legend((lineF1[0], lineY[0], lineA[0], lineAV[0]),
('f(x)', 'касательная', 'наклонная асимпт.',
'вертикальная асимпт.'), loc='upper right')
# установка координатных осей
plt.gca().spines['left'].set_position('zero')
plt.gca().spines['bottom'].set_position('zero')
plt.gca().spines['top'].set_visible(False)
plt.gca().spines['right'].set_visible(False)
plt.show()

3.4 Результаты вычислений

На рисунке 3.1 приведен результат выполнения программы, на рисунке 3.2 –


графики функции, наклонной асимптоты, вертикальной асимптоты и касательной.

22
Рисунок 3.7– Результат выполнения программы

Рисунок 3.8– График функции, касательные и асимптоты

23
Заключение

В процессе изучения дисциплины «Информационные технологии» было


выполнено 18 лабораторных работ, которые включали более 70 заданий.
В программных системах Excel, MathCAD, Python системах были решены
следующие типы заданий:
 вычисление различных характеристик плоских фигур;
 обработка инженерно-технической информации;
 обработка экспериментальных данных;
 построение графиков функций;
 вычисления с матрицами и векторами;
 решение уравнений;
 символьные преобразования (только в MathCAD и Python).
В системе Word был создан данный документ в соответствии с
требованиями оформления письменных работ для студентов и слушателей ДВФУ.

24
Список литературы

1. https://ru.wikipedia.org/wiki/Microsoft_Excel#История [1]
2. https://ru.wikipedia.org/wiki/Mathcad [2]
3. https://ru.wikipedia.org/wiki/История_языка_программирования_Python
[3]
4. https://ru.wikipedia.org/wiki/Microsoft_Word [4]

25

Оценить