0 / 0 / 0
Регистрация: 05.09.2017
Сообщений: 9

Как исправить программу "ОДЗ функции"?

14.10.2017, 14:43. Показов 1252. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как написать ОДЗ функции f= f =Sqrt(4 * x + 7) - 3 * Cos(x). Выводит ошибку в этой строке g.DrawLine(p, New Point(xc + Int(mx * x), yc - Int(my * f(x))), New Point(xc + Int(mx * (x + st)), yc - Int(my * f(x + st))))


VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
Public Class Form1
Dim x, a, b, st As Double
Dim w, h, mx, my, xc, yc As Integer
Dim g As Graphics
 
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox1.BackColor = Color.White 'Цвет фона
Oval.Parent = PictureBox1
'параметры холста
w = PictureBox1.Width : h = PictureBox1.Height
Dim bmp = New Bitmap(w, h)
g = Graphics.FromImage(bmp)
 
'Расположение системы координат в окне
Dim xb, xe, yb, ye As Double
xb = -12 : xe = 12 : yb = 10 : ye = -10 'границы системы координат по x,y
Dim xlen, ylen As Integer
xlen = Math.Abs(Int(xb)) + Math.Abs(Int(xe)) : ylen = Math.Abs(Int(yb)) + Math.Abs(Int(ye)) 'длина между границами по x,y
mx = Math.Min(w / xlen, h / ylen) : my = mx 'масштаб по x,y(сколько пикселей в одной единице)
 
'границы в пикселях
Dim xbp, xep, ybp, yep As Integer
xbp = (w - mx * xlen) / 2 : xep = (w + mx * xlen) / 2
ybp = (h - my * ylen) / 2 : yep = (h + my * ylen) / 2
xc = xbp + mx * Math.Abs(Int(xb)) : yc = ybp + my * Math.Abs(Int(yb)) 'координаты центра в пикселях
 
'оси
Draw()
drawGraph(New Pen(Color.Red), -12.5, 12.5, 0.05) ' нарисовать график
 
PictureBox1.Image = bmp
 
a = -12.5 : b = 12.5 : st = TrackBar1.Value / 30
x = a
Timer1.Enabled = True
End Sub
 
 
Private Sub Draw()
Dim p = New Pen(Color.Blue)
g.DrawLine(p, New Point(0, yc), New Point(w, yc))
g.DrawLine(p, New Point(xc, 0), New Point(xc, h))
 
'x
Dim i As Integer
i = xc - mx
Do While i > 0
g.DrawLine(p, New Point(i, yc - 2), New Point(i, yc + 2))
i -= mx
Loop
 
i = xc + mx
Do While i < w
g.DrawLine(p, New Point(i, yc - 2), New Point(i, yc + 2))
i += mx
Loop
 
'y
i = yc - my
Do While i > 0
g.DrawLine(p, New Point(xc - 2, i), New Point(xc + 2, i))
i -= my
Loop
 
i = yc + my
Do While i < h
g.DrawLine(p, New Point(xc - 2, i), New Point(xc + 2, i))
i += my
Loop
 
'подписываем оси
g.DrawString("Y", New Font("Arial", 16), Brushes.Blue, New PointF(xc + 10, 10))
g.DrawString("X", New Font("Arial", 16), Brushes.Blue, New PointF(w - 20, yc - 40))
 
'Стрелки на осях
'x
g.DrawLine(p, New Point(w - 10, yc + 5), New Point(w, yc))
g.DrawLine(p, New Point(w - 10, yc - 5), New Point(w, yc))
'y
g.DrawLine(p, New Point(xc, 0), New Point(xc + 5, 10))
g.DrawLine(p, New Point(xc, 0), New Point(xc - 5, 10))
End Sub 'нарисовать систему координат
 
Function f(ByVal x As Double) As Double
f = Math.Sqrt(4 * x + 7) - 3 * Math.Cos(x)
End Function 'задаём функцию графика
 
Private Sub drawGraph(ByVal p As Pen, ByVal a As Double, ByVal b As Double, ByVal st As Double)
For x As Double = a To b Step st
XMLВыделить код
1
  g.DrawLine(p, New Point(xc + Int(mx * x), yc - Int(my * f(x))), New Point(xc + Int(mx * (x + st)), yc - Int(my * f(x + st))))
Next
End Sub 'рисуем график
 
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If (x > b) Then x = a
Oval.Left = (xc + Int(mx * (x + st))) - Oval.Width / 2
Oval.Top = (yc - Int(my * f(x + st))) - Oval.Height / 2
x += st
End Sub 'передвигаем шарик
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.10.2017, 14:43
Ответы с готовыми решениями:

Табуляция функции: добавить ОДЗ в программу
Нужно протабулировать функцию на интервале 1,5 &lt;= x &lt;= 12,5 с шагом h = 0,75. У меня уже есть готовая программа, помогите...

Нужно составить программу на Turbo Pascal на нахождение ОДЗ функции
Нужно составить программу для проверки области допустимых значений и вычисления значения функции. Функция выглядит следующим образом...

Исправить проверку одз
#define _CRT_SECURE_NO_DEPRECATE #include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;conio.h&gt; #include &lt;cmath&gt; #include &lt;iostream&gt; ...

4
 Аватар для Alex77755
11523 / 3810 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
16.10.2017, 12:53
f= f =Sqrt
странная функция, однако...
ОДЗ функции
ну сформулируй без программирования просто словами область метода Sqrt
Или и в школе за тебя мама уроки делала?
Sqrt - Возвращает квадратный корень из указанного числа.
понял как определить ОДЗ функции? Сравнить выражение с 0. Больше или равно
А для начала пойми на каком языке кодишь
Если ваш бэйсик выдает конструкции типа Imports System, sender As Object, Public Class Form1, то вам СЮДА!
0
1546 / 1510 / 325
Регистрация: 03.10.2012
Сообщений: 1,544
16.10.2017, 15:23
Цитата Сообщение от oksana_07 Посмотреть сообщение
Выводит ошибку в этой строке g.DrawLine(p, New Point(xc...
В вызове функции drawGraph
Цитата Сообщение от oksana_07 Посмотреть сообщение
drawGraph(New Pen(Color.Red), -12.5, 12.5, 0.05) ' нарисовать график
вы передаете в параметр a отрицательное значение, в результате при вычислении функции f,
получается корень из отрицательного числа.
подставьте другое значение, например
VB.NET
1
drawGraph(New Pen(Color.Red), 6, 12.5, 0.05)
2. Что такое Oval
Миниатюры
Как исправить программу "ОДЗ функции"?  
0
1546 / 1510 / 325
Регистрация: 03.10.2012
Сообщений: 1,544
16.10.2017, 17:20
Извиняюсь, недопонял. ОДЗ - это область допустимых значений что-ли?
Ну, тогда так, например
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Function f(ByVal x As Double) As Double
        If 4 * x + 7 = 0 OrElse 4 * x + 7 > 0 Then
            f = Math.Sqrt(4 * x + 7) - 3 * Math.Cos(x)
        Else
            Return 0
        End If
 
    End Function 'задаём функцию графика
 
    Private Sub drawGraph(ByVal p As Pen, ByVal a As Double, ByVal b As Double, ByVal st As Double)
        For x As Double = a To b Step st
            If 4 * x + 7 = 0 OrElse 4 * x + 7 > 0 Then
                p = New Pen(Color.Green)
            Else
                p = New Pen(Color.Red)
            End If
            g.DrawLine(p, New Point(xc + Int(mx * x), yc - Int(my * f(x))), New Point(xc + Int(mx * (x + st)), yc - Int(my * f(x + st))))
        Next
    End Sub 'рисуем график
Здесь зеленым цветом - ОДЗ в заданном диапазоне
Миниатюры
Как исправить программу "ОДЗ функции"?  
0
 Аватар для Alex77755
11523 / 3810 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
16.10.2017, 18:41
VB.NET
1
  If 4 * x + 7 = 0 OrElse 4 * x + 7 > 0 Then
А что в NET нет оператора ">="
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.10.2017, 18:41
Помогаю со студенческими работами здесь

Как исправить программу (сглаживание функции)
Доброго времени суток) В этой программе я хотел реализовать сглаживание функции и вывести его на экран(по сути пытался перепечатать...

Как исправить программу (Постройте таблицу значений функции y=f(x) для x ∈[a,b] с шагом h)
Нужно исправить программу и доработать в соответствии с данной функцией (см.фото): Исходный код программы на фото. ...

Найти ОДЗ функции
Найти ОДЗ функции

ОДЗ и исследование функции
Помогите исследовать y = arcsin (tg x)

одз хеш-функции
добрый вечер! подскажите пожалуйста, какая область допустимых значений хеш-функции заранее очень благодарен


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
Множества в Python
py-thonny 11.06.2025
В Python существует множество структур данных, но иногда я сталкиваюсь с задачами, где ни списки, ни словари не дают оптимального решения. Часто это происходит, когда мне нужно быстро проверять. . .
Работа с ccache/sccache в рамках C++
Loafer 11.06.2025
Утилиты ccache и sccache занимаются тем, что кешируют промежуточные результаты компиляции, таким образом ускоряя последующие компиляции проекта. Это означает, что если проект будет компилироваться. . .
Настройка MTProxy
Loafer 11.06.2025
Дополнительная информация к инструкции по настройке MTProxy: Перед сборкой проекта необходимо добавить флаг -fcommon в конец переменной CFLAGS в Makefile. Через crontab -e добавить задачу: 0 3. . .
Изучаем Docker: что это, как использовать и как это работает
Mr. Docker 10.06.2025
Суть Docker проста - это платформа для разработки, доставки и запуска приложений в контейнерах. Контейнер, если говорить образно, это запечатанная коробка, в которой находится ваше приложение вместе. . .
Тип Record в C#
stackOverflow 10.06.2025
Многие годы я разрабатывал приложения на C#, используя классы для всего подряд - и мне это казалось естественным. Но со временем, особенно в крупных проектах, я стал замечать, что простые классы. . .
Разработка плагина для Minecraft
Javaican 09.06.2025
За годы существования Minecraft сформировалась сложная экосистема серверов. Оригинальный (ванильный) сервер не поддерживает плагины, поэтому сообщество разработало множество альтернатив. CraftBukkit. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru