Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Примеры. Тема: Разработка линейных программ






Лабораторная работа №2.

Тема: Разработка линейных программ

Цель работы: Сформировать умения разрабатывать линейные алгоритмы.

 

Время на выполнение работы: 2 часа

Этапы работы:

I. Ознакомиться с теоретическими сведениями.

II. Выполнить задания, предложенные преподавателем.

III. Ответить на контрольные вопросы.

 

I. Краткие теоретические сведения

Math – класс

Предоставляет константы и статические методы для тригонометрических, логарифмических и иных общих математических функций.

Иерархия наследования

System.Object
System.Math

Пространство имен: System
Сборка: mscorlib (в mscorlib.dll)

Синтаксис

public static class Math

Тип Math предоставляет следующие члены.

Методы

 

  Имя Описание
Abs(Decimal) Возвращает абсолютное значение числа Decimal.
Abs(Double) Возвращает абсолютное значение числа двойной точности с плавающей запятой.
Abs(Int16) Возвращает абсолютное значение 16-битового целого числа со знаком.
Abs(Int32) Возвращает абсолютное значение 32-битового целого числа со знаком.
Abs(Int64) Возвращает абсолютное значение 64-битового целого числа со знаком.
Abs(SByte) Возвращает абсолютное значение 8-битового целого числа со знаком.
Abs(Single) Возвращает абсолютное значение числа одинарной точности с плавающей запятой.
Acos Возвращает угол, косинус которого равен указанному числу.
Asin Возвращает угол, синус которого равен указанному числу.
Atan Возвращает угол, тангенс которого равен указанному числу.
Atan2 Возвращает угол, тангенс которого равен отношению двух указанных чисел.
BigMul Умножает два 32-битовых числа.
Ceiling(Decimal) Возвращает наименьшее целое число, которое больше или равно заданному десятичному числу.
Ceiling(Double) Возвращает наименьшее целое число, которое больше или равно заданному числу с плавающей запятой двойной точности.
Cos Возвращает косинус указанного угла.
Cosh Возвращает гиперболический косинус указанного угла.
DivRem(Int32, Int32, Int32) Вычисляет частное двух 32-разрядных знаковых целых чисел и возвращает остаток в выходном параметре.
DivRem(Int64, Int64, Int64) Вычисляет частное двух 64-разрядных знаковых целых чисел и возвращает остаток в выходном параметре.
Exp Возвращает e, возведенное в указанную степень.
Floor(Decimal) Возвращает наибольшее целое число, которое меньше или равно указанному десятичному числу.
Floor(Double) Возвращает наибольшее целое число, которое меньше или равно заданному числу двойной точности с плавающей запятой.
IEEERemainder Возвращает остаток от деления одного указанного числа на другое указанное число.
Log(Double) Возвращает натуральный логарифм (с основанием e) указанного числа.
Log(Double, Double) Возвращает логарифм указанного числа в системе счисления с указанным основанием.
Log10 Возвращает логарифм с основанием 10 указанного числа.
Max(Byte, Byte) Возвращает большее из двух 8-битовых целых чисел без знака.
Max(Decimal, Decimal) Возвращает большее из двух десятичных чисел.
Max(Double, Double) Возвращает большее из двух чисел двойной точности с плавающей запятой.
Max(Int16, Int16) Возвращает большее из двух 16-битовых целых чисел со знаком.
Max(Int32, Int32) Возвращает большее из двух 32-битовых целых чисел со знаком.
Max(Int64, Int64) Возвращает большее из двух 64-битовых целых чисел со знаком.
Max(SByte, SByte) Возвращает большее из двух 8-битовых целых чисел со знаком.
Max(Single, Single) Возвращает большее из двух чисел одинарной точности с плавающей запятой.
Max(UInt16, UInt16) Возвращает большее из двух 16-битовых целых чисел без знака.
Max(UInt32, UInt32) Возвращает большее из двух 32-битовых целых чисел без знака.
Max(UInt64, UInt64) Возвращает большее из двух 64-битовых целых чисел без знака.
Min(Byte, Byte) Возвращает меньшее из двух 8-битовых целых чисел без знака.
Min(Decimal, Decimal) Возвращает меньшее из двух десятичных чисел.
Min(Double, Double) Возвращает меньшее из двух чисел двойной точности с плавающей запятой.
Min(Int16, Int16) Возвращает меньшее из двух 16-битовых целых чисел со знаком.
Min(Int32, Int32) Возвращает меньшее из двух 32-битовых целых чисел со знаком.
Min(Int64, Int64) Возвращает меньшее из двух 64-битовых целых чисел со знаком.
Min(SByte, SByte) Возвращает меньшее из двух 8-битовых целых чисел со знаком.
Min(Single, Single) Возвращает меньшее из двух чисел одинарной точности с плавающей запятой.
Min(UInt16, UInt16) Возвращает меньшее из двух 16-битовых целых чисел без знака.
Min(UInt32, UInt32) Возвращает меньшее из двух 32-битовых целых чисел без знака.
Min(UInt64, UInt64) Возвращает меньшее из двух 64-битовых целых чисел без знака.
Pow Возвращает указанное число, возведенное в указанную степень.
Round(Decimal) Округляет десятичное значение до ближайшего целого.
Round(Double) Округляет заданное число с плавающей запятой двойной точности до ближайшего целого.
Round(Decimal, Int32) Округляет десятичное значение до указанного числа дробных разрядов.
Round(Decimal, MidpointRounding) Округляет десятичное значение до ближайшего целого. Параметр задает правило округления значения, если оно находится ровно посредине между двумя числами.
Round(Double, Int32) Округляет значение двойной точности с плавающей запятой до заданного количества дробных разрядов.
Round(Double, MidpointRounding) Округляет заданное значение число двойной точности с плавающей запятой до ближайшего целого. Параметр задает правило округления значения, если оно находится ровно посредине между двумя числами.
Round(Decimal, Int32, MidpointRounding) Округляет десятичное значение до указанного числа дробных разрядов. Параметр задает правило округления значения, если оно находится ровно посредине между двумя числами.
Round(Double, Int32, MidpointRounding) Округляет значение двойной точности с плавающей запятой до заданного количества дробных разрядов. Параметр задает правило округления значения, если оно находится ровно посредине между двумя числами.
Sign(Decimal) Возвращает значение, определяющее знак десятичного числа.
Sign(Double) Возвращает значение, определяющее знак числа двойной точности с плавающей запятой.
Sign(Int16) Возвращает значение, определяющее знак 16-битового целого числа со знаком.
Sign(Int32) Возвращает значение, показывающее знак 32-битового целого числа со знаком.
Sign(Int64) Возвращает значение, показывающее знак 64-битового целого числа со знаком.
Sign(SByte) Возвращает значение, определяющее знак 8-битового целого числа со знаком.
Sign(Single) Возвращает значение, определяющее знак числа одинарной точности с плавающей запятой.
Sin Возвращает синус указанного угла.
Sinh Возвращает гиперболический синус указанного угла.
Sqrt Возвращает квадратный корень из указанного числа.
Tan Возвращает тангенс указанного угла.
Tanh Возвращает гиперболический тангенс указанного угла.
Truncate(Decimal) Вычисляет целую часть заданного десятичного числа.
Truncate(Double) Вычисляет целую часть заданного числа двойной точности с плавающей запятой.

Поля

  Имя Описание
E Представляет основание натурального логарифма, определяемое константой e.
PI Представляет отношение длины окружности к ее диаметру, определяемое константой π.

Примеры

В следующем примере кода используется несколько математических и тригонометрических функций класса Math для вычисления внутренних углов трапеции.

using System; namespace MathClassCS{ class MathTrapezoidSample { private double m_longBase; private double m_shortBase; private double m_leftLeg; private double m_rightLeg; public MathTrapezoidSample(double longbase, double shortbase, double leftLeg, double rightLeg) { m_longBase = Math.Abs(longbase); m_shortBase = Math.Abs(shortbase); m_leftLeg = Math.Abs(leftLeg); m_rightLeg = Math.Abs(rightLeg); } private double GetRightSmallBase() { return (Math.Pow(m_rightLeg, 2.0) - Math.Pow(m_leftLeg, 2.0) + Math.Pow(m_longBase, 2.0) + Math.Pow(m_shortBase, 2.0) - 2* m_shortBase * m_longBase)/ (2*(m_longBase - m_shortBase)); //Числа в pow вещественные } public double GetHeight() { double x = GetRightSmallBase(); return Math.Sqrt(Math.Pow(m_rightLeg, 2.0) - Math.Pow(x, 2.0)); } public double GetSquare() { return GetHeight() * m_longBase / 2.0; } public double GetLeftBaseRadianAngle() { double sinX = GetHeight()/m_leftLeg; return Math.Round(Math.Asin(sinX), 2); } public double GetRightBaseRadianAngle() { double x = GetRightSmallBase(); double cosX = (Math.Pow(m_rightLeg, 2.0) + Math.Pow(x, 2.0) - Math.Pow(GetHeight(), 2.0))/(2*x*m_rightLeg); return Math.Round(Math.Acos(cosX), 2); } public double GetLeftBaseDegreeAngle() { double x = GetLeftBaseRadianAngle() * 180/ Math.PI; return Math.Round(x, 2); } public double GetRightBaseDegreeAngle() { double x = GetRightBaseRadianAngle() * 180/ Math.PI; return Math.Round(x, 2); } static void Main(string[] args) { MathTrapezoidSample trpz = new MathTrapezoidSample(20.0, 10.0, 8.0, 6.0); Console.WriteLine(" The trapezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0"); double h = trpz.GetHeight(); Console.WriteLine(" Trapezoid height is: " + h.ToString()); double dxR = trpz.GetLeftBaseRadianAngle(); Console.WriteLine(" Trapezoid left base angle is: " + dxR.ToString() + " Radians"); double dyR = trpz.GetRightBaseRadianAngle(); Console.WriteLine(" Trapezoid right base angle is: " + dyR.ToString() + " Radians"); double dxD = trpz.GetLeftBaseDegreeAngle(); Console.WriteLine(" Trapezoid left base angle is: " + dxD.ToString() + " Degrees"); double dyD = trpz.GetRightBaseDegreeAngle(); Console.WriteLine(" Trapezoid left base angle is: " + dyD.ToString() + " Degrees"); } }}

Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.008 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал