Применим форму , чтобы найти переменные, используемые для вычисления амплитуды, периода, сдвига фазы и смещения по вертикали.
Найдем амплитуду .
Найдем период .
Нажмите для увеличения количества этапов.
Период функции можно вычислить по формуле .
Заменим на в формуле периода.
Абсолютное значение ― это расстояние между числом и нулем. Расстояние между и равно .
Найдем сдвиг фазы, используя формулу .
Нажмите для увеличения количества этапов.
Сдвиг фазы функции можно вычислить по формуле .
Сдвиг фазы:
Заменим величины и в уравнении на сдвиг фазы.
Сдвиг фазы:
Разделим на .
Сдвиг фазы:
Сдвиг фазы:
Перечислим свойства тригонометрической функции.
Сдвиг фазы: нет
Смещение по вертикали: нет
Выберем несколько точек для построения графика.
Нажмите для увеличения количества этапов.
Найдем точку в .
Нажмите для увеличения количества этапов.
Заменим в этом выражении переменную на .
ТФКП. Вычислить значение функции в точке. Записать в алгебраической форме cos(1+i)
Упростим результат.
Нажмите для увеличения количества этапов.
Умножим на .
Точное значение : .
Умножим на .
Окончательный ответ: .
Найдем точку в .
Нажмите для увеличения количества этапов.
Заменим в этом выражении переменную на .
Упростим результат.
Нажмите для увеличения количества этапов.
Сократим общий множитель .
Нажмите для увеличения количества этапов.
Вынесем множитель из .
Сократим общий множитель.
Перепишем это выражение.
Точное значение : .
Умножим на .
Окончательный ответ: .
Найдем точку в .
Нажмите для увеличения количества этапов.
Заменим в этом выражении переменную на .
Упростим результат.
Нажмите для увеличения количества этапов.
Сократим общий множитель .
Нажмите для увеличения количества этапов.
Сократим общий множитель.
Перепишем это выражение.
Применим угол приведения, найдя угол с эквивалентными тригонометрическими значениями в первом квадранте. Добавим минус к выражению, так как косинус отрицательный во втором квадранте.
Источник: www.mathway.com
Стандартные математические функции в языке Си
Математические вычисления не ограничиваются лишь арифметическими действиями. Кроме них, можно ещё встретить корни, модули, логарифмы, тригонометрические функции и пр. Научимся же использовать подобные функции в своих программах.
Для использования математических функций нужно подключить заголовочный файл math.h . В ней определено много различных функций, но мы пока рассмотрим следующие:
Некоторые математические функции
fabs(x) модуль числа x
sqrt(x) квадратный корень из числа x
sin(x) синус числа x (х в радианах)
cos(x) косинус числа x (х в радианах)
pow(x, y) вычисление x y
4. Вычисление производных примеры. Самое начало.
exp(x) вычисление e x
log(x) натуральный логарифм числа x
log10(x) десятичный логарифм числа x
- Все функции возвращают значение типа double .
- Параметры функций – вещественные числа( double ), но можно передавать и целые числа. При этом произойдёт неявное преобразование типа . Компилятор из целого числа, например 3, сделает вещественное 3.0.
#include #include // подключаем math.h int main (void)
Вычислить синус угла ввёденного с клавиатуры. Угол вводится в градусах.
#include #include // подключаем math.h int main (void) < double alpha, sin_a, pi = 3.1415926; scanf(«%lf», alpha = alpha*pi/180; sin_a = sin(alpha); printf(«%.2fn», sin_a); return 0; >
В этой программе есть о чём поговорить. Тригонометрические функции, которые определены в math.h работают с радианной мерой угла. Людям же привычнее работать с градусами. Поэтому в данной программе мы предварительно перевели значение из градусов в радианы.
Если этого не сделать, результат получится неправильным. Проверьте это самостоятельно.
Неявное преобразование типов
При явном преобразовании типа мы в скобках перед значением указывали тип, к которому нужно привести данное значение. В неявном преобразовании этого делать не нужно. Компилятор автоматически подберёт необходимый тип. Неявное преобразование типов осуществляется в следующих случаях:
- перед передачей аргументов в функцию (как в нашем примере с корнем. Листинг 1.)
- выполнение арифметических операций с разными типами аргументов
- перед выполнением присваивания
- если выполняются арифметические операции с разными типами аргументов. Оба аргумента приводятся к большему типу.
Порядок типов: int < float < double - при присваивании. Значение справа от оператора присваивания приводится к типу переменной слева от оператора присваивания. При этом, если больший тип присваивается меньшему, то может произойти потеря точности.
Примеры: int+float будет автоматически преобразовано к float+float
float/int будет автоматически преобразовано к float/float
double*float будет преобразовано к double*double
int = double double будет преобразовано к int с потерей дробной части
float = int int будет преобразовано к float
Сохрани в закладки или поддержи проект.
Практика
Решите предложенные задачи: Для удобства работы сразу переходите в полноэкранный режим
Дополнительные материалы
- пока нет
Источник: youngcoder.ru
Высокого уровня python
Единственный в мире Музей Смайликов
Самая яркая достопримечательность Крыма
Скачать 2.12 Mb.
Вывод данных
Вывод данных на экран монитора может быть выполнен функцией print()
. Эта функция позволяет выполнять форматированный вывод, как с использованием Си-подобного форматирования, так и с использованием форматной строки Python.
Следующие строки демонстрируют, как можно форматировать вывод. for x in range(1,11): print(‘%2d %3d %7.2f’ % (x, x*x, x*x*x)) print(» «.format(a, x, y))
Буква в формате числа определяет тип выводимого числа. Так, d – это целый тип, f – вещественное число. Число в формате означает то число позиций, которое будет использовано для вывода числа. Для вещественного числа указывается, после точки, количество выводимых десятичных знаков.
Во второй строке использован Си-подобный формат, в котором формат числа начинается с процента «%». В этом формате аргументы отделяются от форматной части строки так же символом % – процент. В третьей строке используется форматная строка Python, в которой в форматной строке позиции для значений аргументов выделяются фигурными скобками.
Обратите внимание на то, что сами форматные строки начинаются и завершаются одиночной или двойной кавычкой. В Python допускаются оба вида кавычек для выделения строки. Важно только что бы начало и конец были одинаковыми.
Так же следует понимать, что в промежутках между символами форматирования могут находиться и другие символы или слова: print(‘x=%2d x^2=%3d x^3=%7.2f’
% (x, x*x, x*x*x)) print(«a= x= y=»
.format(a, x, y))
Использование форматных строк делает вывод данных более внятным.
За более подробной информацией обращайтесь к учебникам или Интернет.
12
Решение задания
Вернемся к нашим примерам и запишем их, используя правила языка
Python. Первое выражение примет вид:
1. y = tan(x**2/2-1)**2+2*cos(x-pi/6)/(1/2+sin(a)**2)
Второе выражение представим в виде двух:
2. tmp=log(3-cos(pi/4+2*x),
3+sin(x))/(1+tan(2*x/pi)**2) y = pow(2, tmp)
Описание алгоритма
Для вычислений необходимо обеспечить ввод двух переменных x и a.
Поскольку по условиям задачи их тип и точность представления не заданы, выберем для них вещественный тип (float). Для оптимизации записи выражения используем промежуточную переменную tmp.
1. Ввести значения a и x, преобразовать к типу float.
2. Вычислить выражение 1.
3. Вывести результат вычисления.
4. Вычислить значение переменной tmp;
5. Вычислить выражение 2.
6. Вывести результат вычисления.
Листинг программы
# -*- coding: cp1251 -*- from math import * a = float(input(‘Введите параметр а: ‘)) x = float(input(‘Введите значение x: ‘)) y=tan(x**2/2-1)**2+(2*cos(x-pi/6))/(1/2+sin(a)**2) print(» «.format(a, x, y)) tmp=log(3-cos(pi/4+2*x),
3+sin(x))/(1+tan(2*x/pi)**2) y=pow(2,tmp) print(» «.format(x, y))
Результаты тестирования программы
a x
Первое выражение
Второе выражение
Калькулятор Программа
-2 -2 1.196954 1.1970 1.1184 0 -2 -0.834654
-0.8347 1.1184 0
0 5.889618 5.8896 1.6880 2
0 3.730931 3.7309 1.6880 1.5 0.5 2.771242 2.7712 1.7955 4
3 -1.326566
-1.3266 1.0517
Примечание: Эта таблица оформлялась в текстовом редакторе вручную.
16
Лабораторная работа №2: «Разветвляющиеся
вычислительные процессы», Задание 1
Цель работы:
Дать студентам практический навык в использовании условных операторов ветвления на языке программирования Python. Работа состоит из двух заданий.
Следующий материал представлен в виде оформленной лабораторной работы.
17
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
СЕВЕРО-КАВКАЗСКАЯ ГОСУДАРСТВЕННАЯ
ГУМАНИТАРНО-ТЕХНОЛОГИЧЕСКАЯ АКАДЕМИЯ
Кафедра:
«Информатики и информационных технологий»
Лабораторная работа №2
Разветвляющиеся вычислительные процессы
Задание 1 Вариант № 1
по дисциплине:
«Программирование на языке высокого уровня.
Python»
Выполнил
Студент 2 курса группа ПО-2051
И.Х. Джанкёзов
Проверил
________________ В.П. Рядченко
Черкесск
2018
18
Постановка задачи
Написать программу, которая по введённому значению аргумента вычисляет значение функции, заданной в виде графика.
Теоретическая часть
Для решения задачи использован оператор ветвления, который в языке
Python имеет следующий вид:
if :
[elif :
]
[else:
]
– это набор вложенных инструкций, которые выделяются одинаковым количеством пробелов (обычно четырьмя).
Для ввода данных используется инструкция input(), которая возвращает строку. Введённые значения, перед использованием в арифметических выражениях, должны быть преобразованы к числовому формату.
Вывод данных выполняется инструкцией print(), в которой использован форматированный вывод данных.
График функции представлен фрагментами прямых линий, описываемых уравнением
b
kx
y
и дугами кругов. В общем случае уравнение круга может быть представлено так:
2 2
2
R
)
b
y
(
)
a
x
(
Неизвестные параметры, угол наклона и смещение прямой, а так же координаты центра дуг, определим, используя данные из графика.
Для прямой на интервале (-5, 0) можем записать следующую систему уравнений:
Из второго уравнения следует, что b = -2, а из первого – k = -3/5.
19
Для полукруга с центром (6, 2) уравнение круга примет вид:
Перепишем уравнение так: отсюда следует, что
. Знак перед корнем выбран для случая, когда рассматривается верхняя часть полукруга.
Выполнив необходимые вычисления для всех фрагментов функции, мы получим систему уравнений, которую запишем в следующем виде:
8 2
8 4
6 4
2 4
2 2
2 0
4 0
5 2
5 3
5 1
2 2
x
x
)
x
(
x
x
x
x
x
x
x
y
Функция определена на всём диапазоне
)
;
(
x
. При этом, особых точек у неё нет.
Описание программы
Программа написана на алгоритмическом языке Python 3.6, реализована в среде ОС Windows 10 и состоит из частей, отвечающих за ввод данных, вычисление и представление данных на экране монитора.
Описание алгоритма
1. Ввести значение аргумента x и преобразовать его к типу float.
2. Определить, к какому интервалу из области определения функции оно принадлежит, и вычислить значение функции y по соответствующей формуле.
3. Вывести значение x и y.
Описание входных и выходных данных
Входные данные поступают с клавиатуры, а выходные — выводятся на монитор для просмотра. Входные и выходные данные имеют тип float.
Листинг программы (вариант 1)
# -*- coding: cp1251 -*- from math import * # теперь можно так:
# print(sin(pi/4)) x = float(input(‘Введите значение x=’)) if x =-5 and x = 0 and x = 2 and x = 4 and x = 8: y = 2 print(«X= Y=».format(x, y))
Блок-схема алгоритма этого решения приведена в Приложении 1
(рис.1) к лабораторной работе.
Следует отметить, что в такой записи алгоритма проверка выполняется для всех условных операторов, в том числе и тех, которые следуют за вычисленным. Так, например, если x равно -3, то выполнится второй оператор, но и во всех последующих операторах операция сравнения будет проведена. Число проверок можно сократить, если написать программу с использованием вложенных условных операторов.
Листинг программы (вариант 2)
# -*- coding: cp1251 -*- from math import * # теперь можно так:
# print sin(pi/4) x = float(input(‘Введите значение x=’)) if x =-5 and x = 0 and x = 2 and x = 4 and x Результат работы программы
Введите значение аргумента: -6
X= -6.00 Y= 1
Введите значение аргумента: -3.33
X= -3.33 Y= -0.00
Введите значение аргумента: 6
X= 6.00 Y= 4.00
Список используемой литературы
1. Н.А. Прохоренок, В.А. Дронов, Python 3 и PyQt 5. Разработка приложений:
СПб.: БХВ-Петербург, 2017
21
ПРИЛОЖЕНИЕ 1 к лабораторной работе №2, задание 1
И.Х. Джанкёзова
Рис.1 – Блок-схема алгоритма программы Lab2_1a
-5 =8 y = 2
Вывод значений аргумента и функции
Конец
1 1
Нет
Нет
Нет
Нет
Нет
Нет
22
ПРИЛОЖЕНИЕ 2 к лабораторной работе №2, задание 1
И.Х. Джанкёзова
Рис.2 – Блок-схема алгоритма программы Lab2_1b (показана только логическая часть) x Задание к лабораторной работе №2
«Разветвляющиеся вычислительные процессы».
Задание 1
Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика. Параметры, необходимые для решения задания следует получить из графика и определить в программе.
1)
2)
3)
4)
Источник: topuch.com