Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Пример программного модуля для решения задачи «Треугольник»Содержание книги
Поиск на нашем сайте
Пример программного модуля для решения задачи табулирование функцииy=Sin(ln(1+x)/x)*Exp(x) Function yy(x As Double) As Double If (x = 0) Then yy = Sin(1) Else yy = Sin(Application.Ln(1 + x) / x) * Exp(x) End Function Sub Pabota1() Dim x As Double Dim y As Double, i As Double, h As Double Worksheets(1).Activate Do Do prom = InputBox("Введите начальную границу отрезка a=") If Not IsNumeric(prom) Then MsgBox ("Повторите ввод") Loop Until IsNumeric(prom) a = prom Do prom = InputBox("Введите конечную границу отрезка b=") If Not IsNumeric(prom) Then MsgBox ("Повторите ввод") Loop Until IsNumeric(prom) b = prom If a >= b Then MsgBox ("Повторите ввод") Loop Until a < b Do prom = InputBox("Количество шагов табулирования n=") If Not IsNumeric(prom) Then MsgBox ("Повторите ввод") Loop Until IsNumeric(prom) n = prom Worksheets("Лист1").Activate Cells.Clear Range("d1") = "Контрольная работа №2" Range("c2") = "Табулирование функции y=Sin(ln(1+x)/x)*Exp(x)" Range("e3") = "Исходные данные" Range("d4") = "Начальная граница функции a=" & CSng(a) Range("d5") = "Конечная граница функции b=" & CSng(b) Range("d6") = "Количество шагов табулирования n=" & CByte(n) h = (b - a) / n Range("d7") = "Шаг табулирования h=" & CSng(h) Range("b8") = "Результаты вычислений" Range("b9") = "№ п/п" Range("c9") = "x" Range("d9") = "y" Range("e9") = "Экстремумы" x = a For i = 1 To n + 1 x = a + (i - 1) * h Range(Cells(9 + i, 2), Cells(9 + i, 2)) = CSng(i) Range(Cells(9 + i, 3), Cells(9 + i, 3)) = CSng(x) If x <= -1 Then Range(Cells(9 + i, 4), Cells(9 + i, 4)) = "Не существует" If x <> -1 Then Range(Cells(9 + i, 4), Cells(9 + i, 4)) = CSng(yy(x)) Next i For i = 1 To n + 1 If Cells(9 + i, 4).Value = Application.Max(Range("d10:D30").Value) Then Range(Cells(9 + i, 5), Cells(9 + i, 5)) = "Максимум" If Cells(9 + i, 4).Value = Application.Min(Range("d10:D30").Value) Then Range(Cells(9 + i, 5), Cells(9 + i, 5)) = "Минимум" Next i End Sub Пример программного модуля для решения задачи построение графика функции следующего задания:
Function yy(x As Double) As Double a = 1 b = 1 c = 2 d = 3 If (x < 0) Then yy = (a + x ^ 2 / (b + x ^ 2)) If (x >= 0) And (x <= 1) Then yy = c * (Cos(x)) ^ 2 * Exp(-x) If (x > 1) Then yy = (1 + Abs(2 * Sin(d * x)) ^ (1 / 3)) ^ (1 / 2) End Function Sub Pabota1() Dim x As Double Dim y As Double, i As Double, h As Double Worksheets(1).Activate Do Do prom = InputBox("Введите начальную границу отрезка a1 = ") If Not IsNumeric(prom) Then MsgBox ("Повторите ввод") Loop Until IsNumeric(prom) a1 = prom Do prom = InputBox("Введите конечную границу отрезка b1 = ") If Not IsNumeric(prom) Then MsgBox ("Повторите ввод") Loop Until IsNumeric(prom) b1 = prom If a1 >= b1 Then MsgBox ("Повторите ввод") Loop Until a1 < b1 Do prom = InputBox("Количество шагов табулирования n=") If Not IsNumeric(prom) Then MsgBox ("Повторите ввод") Loop Until IsNumeric(prom) n = prom Worksheets("Лист1").Activate Cells.Clear Range("d1") = "График 1" Range("c2") = "Табулирование функции y = f(x) " Range("e3") = "Исходные данные" Range("d4") = "Начальная граница функции a1= " & CSng(a1) Range("d5") = "Конечная граница функции b1= " & CSng(b1) Range("d6") = "Количество шагов табулирования n= " & CByte(n) h = (b1 - a1) / n Range("d7") = "Шаг табулирования h=" & CSng(h) Range("b8") = "Результаты вычислений" Range("b9") = "№ п/п" Range("c9") = "x" Range("d9") = "y" Range("e9") = "Экстремумы" x = a1 For i = 1 To n + 1 x = a1 + (i - 1) * h Range(Cells(9 + i, 2), Cells(9 + i, 2)) = CSng(i) Range(Cells(9 + i, 3), Cells(9 + i, 3)) = CSng(x) Range(Cells(9 + i, 4), Cells(9 + i, 4)) = CSng(yy(x)) Next i For i = 1 To n + 1 If Cells(9 + i, 4).Value = Application.Max(Range("d10:D30").Value) Then Range(Cells(9 + i, 5), Cells(9 + i, 5)) = "Максимум" If Cells(9 + i, 4).Value = Application.Min(Range("d10:D30").Value) Then Range(Cells(9 + i, 5), Cells(9 + i, 5)) = "Минимум" Next i End Sub Sub Pabota3() Worksheets(3).Activate Dim a As Double, b As Double, c As Double, p As Double, s As Double a = InputBox("Введите a=") b = InputBox("Введите b=") c = InputBox("Введите c=") Worksheets("Лист3").Activate Cells.Clear Range("a1") = "Задание: Вычисление площади треугольника" Range("a2") = " a=" Range("a3") = " b =" Range("a4") = " c =" Range("a6") = " p =" Range("b2") = CSng(a) Range("b3") = CSng(b) Range("b4") = CSng(c) p = (a + b + c) / 2 Range("b6") = CSng(p) If (p * (p - a) * (p - b) * (p - c)) <= 0 Then Range("a7") = " Нет решения " Else If (p * (p - a) * (p - b) * (p - c)) > 0 Then s = (p * (p - a) * (p - b) * (p - c)) ^ (1 / 2) r = s / p r1 = a * b * c / (4 * s) End If If (p * (p - a) * (p - b) * (p - c)) > 0 Then Range("a8") = " s =" Range("d10") = " r =" Range("f10") = " R =" Range("b8") = CSng(s) Range("e10") = CSng(r) Range("g10") = CSng(r1) End If End Sub
|
||
|
Последнее изменение этой страницы: 2024-06-17; просмотров: 58; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.198 (0.005 с.) |