Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 7
1

Построить график функции 1/sinx

08.12.2013, 07:52. Показов 2322. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите отладить программу
C#
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
namespace Свой_график
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Graphics g = pgraf.CreateGraphics();
            Pen pen = new Pen(Color.Black);
            double xmin, xmax, ymin, ymax, x, y;
            int xgmin, xgmax, ygmin, ygmax, xg, yg;
            xmin = -2 * Math.PI;
            xmax = 2 * Math.PI;
            ymin = -2;
            ymax = 2;
            xgmin = 0;
            xgmax = pgraf.Width - 30;
            ygmin = pgraf.Height - 30;
            ygmax = 0;
            g.Clear(Color.White);
            // ось OX
            x = xmin;
            xg = xgmin + (int)((xgmax - xgmin) / (xmax - xmin) * (-2 * Math.PI - xmin)); // графическая абсцисса начальной точки оси OX
            yg = ygmin + (int)((ygmax - ygmin) / (ymax - ymin) * (0 - ymin));  // графическая ордината начальной и конечной точки оси OX
            int xg2 = xgmin + (int)((xgmax - xgmin) / (xmax - xmin) * (2 * Math.PI - xmin)); // графическая абсцисса конечной точки оси OX
            g.DrawLine(pen, xg, yg, xg2, yg);
            // деление на оси по OX
            while (x <= xmax)
            {
                xg = xgmin + (int)((xgmax - xgmin) / (xmax - xmin) * (x - xmin));
                g.DrawLine(pen, xg, yg - 6, xg, yg + 6);
                switch ((int)(x / Math.PI))
                {
                    case 0: g.DrawString("0", new Font("Times", 14), Brushes.Black, xg, yg + 10);
                        break;
                    case 1: g.DrawString("\u03C0", new Font("Times", 14), Brushes.Black, xg, yg + 10);
                        break;
                    case -1: g.DrawString("-" + "\u03C0", new Font("Times", 14), Brushes.Black, xg, yg + 10);
                        break;
                    default: g.DrawString(((int)(x / Math.PI)).ToString() + "\u03C0", new Font("Times", 14), Brushes.Black, xg, yg + 10);
                        break;
                }
                x += Math.PI;
            }
            // Ось OY 
            xg = xgmin + (int)((xgmax - xgmin) / (xmax - xmin) * (0 - xmin));// графическая абсцисса начальной и окнечной точки оси OY
            yg = ygmin + (int)((ygmax - ygmin) / (ymax - ymin) * (-2 - ymin));
            int yg2 = ygmin + (int)((ygmax - ygmin) / (ymax - ymin) * (2 - ymin));
            g.DrawLine(pen, xg, yg, xg, yg2);
            // деление оси OY
            y = ymin;
            while (y <= ymax)
            {
                yg = ygmin + (int)((ygmax - ygmin) / (ymax - ymin) * (y - ymin));
                g.DrawLine(pen, xg - 6, yg, xg + 6, yg);
                if (y != 0)
                {
                    g.DrawString(y.ToString(), new Font("Times", 14), Brushes.Black, xg + 10, yg);
                }
                y++;
            }
            // строим график
            x = xmin;
            while (x <= xmax)
            {
                y = 1/Math.Sin(x);
                xg = xgmin + (int)((xgmax - xgmin) / (xmax - xmin) * (x - xmin));
                yg = ygmin + (int)((ygmax - ygmin) / (ymax - ymin) * (y - ymin));
                g.FillEllipse(Brushes.Red, (float)(xg-1 ), (float)(yg-1 ), 1, 1);
                x += (xmax - xmin) / 900;
            }
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2013, 07:52
Ответы с готовыми решениями:

Сколько раз пересечётся график функции sinx c осью абцисс на промежутке от А до В
Сколько раз пересечётся график функции sinx c осью абцисс на промежутке от А до В (вводится...

Построить график функции y=x^2. График строится из отрезков и алгоритма Брезенхема
Построить график функции y=x^2. График строится с помощью отрезков. Для построения отрезков...

Построить график функции
помогите пожалуйста! нужно построить график функции y=a*sin(b*x+c) в C# (a,b,c- вводятся с...

Построить график функции
Напишите, пожалуйста, код программы, для построения графика у=х(квадрат)cosx

0
08.12.2013, 07:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2013, 07:52
Помогаю со студенческими работами здесь

Построить график функции
дали задание сделать программу с графиками для каждого случая на с++ и отдельно общий график...

Построить график функции
помоги пожалуйста. преподаватель дал задание , а сам тему не объяснил и я не понимаю как это...

Построить график функции
Доброго времени суток. Напишите пожалуйста решение f(x)=1/x^2+4/(x+1)^2 построить график функции на...

Построить график функции
Построить график функции z = f (x) при a ≤ x ≤ b , разбивая отрезок на n частей. График начертить...

Построить график функции cos(x)^2
Построить график функции y=cos^2(x) соблюдая условия рис. 1

Построить график функции, вывести, разместить и подписать оси координат
Построить график функции, вывести, разместить и подписать оси координат (обе).Предусмотреть...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru