Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 25

Реализация математического алгоритма в программу

13.01.2013, 22:25. Показов 1945. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые. Прошу вашей помощи. Пытаюсь Реализовать алгоритм, но не получается, не могу понять от чего оттолкнуться. Не могли бы вы подсказать куда залезть, либо примером. В конце задачи, будет выдавать два значения, судя по условию, но там я сам уже. Спасибо.

Вот половина алгоритма
Кликните здесь для просмотра всего текста

Известные значение, которые вводит пользователь (оператор):
Т2 = 3 (но чтоб можно было и самому менять, рекомендуется) – время наблюдения.
Vн – скорость
Кн – курс
М – коэффициент (рекомендуется равен 5, но можно самому менять)
D1 – дистанция
П1 – направление на объект
D2 – дистанция
П2 – направление на объект
E – эпселент = 0,01

1. Определение координат первой точки
X1 = D1*sinП1
Y 1 = D1*cos П1
2. Определение координат второй точки
X2 = D2*sinП2
Н2 = D2*cosП2
3. Определение ∆t
∆t = (T2-T1)/60 = T2/60
4. Составляющая вестора скорости Vн
∆Xvн = Vн*∆t*sinKн
∆Yvн = Vн*∆t*cosKн
5. Точка начала вестора Vн
Xн = X1 - ∆Xvн
Yн = Y1 - ∆Yvн
6. Длина ветора
Vн = корень из ∆Xvн^2 + ∆Yvн^2
7. Составляющая вектора скорости цели Vц
∆Xц = X2-Xн
∆Yц = Y2 – Yн
Vц = корень из ∆Xц^2 + ∆Yц^2
8. Дополнительные параметры
Y2н = ∆Yц
X2н = ∆Xц
∂ = Vн/Vц
9. Координаты точек касания
Xк1 = Xн+(∂^2)*X2н + ∂*√(∂^2)+(X2y^2)+(Y2н^2)-(Vн^2)
Xк2 = Xн+(∂^2)*X2н -∂*√(∂^2)+(X2y^2)+(Y2н^2)-(Vн^2)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.01.2013, 22:25
Ответы с готовыми решениями:

Реализация численных методов математического моделирования
Здравствуйте! Помогите пожалуйста реализовать неявную нецентральную схему для моделирования распределения температуры в тонком стержне...

Составить алгоритм и программу с использованием вспомогательного алгоритма и провести отладку алгоритма для исходных дан
Найти максимальное из трёх чисел, каждое из которых является суммой положительных элементов матриц А, В и С, соответственно.

Реализация алгоритма МТ
Прибавление единицы к двоичному числу 1q1->1q1R 0q1->0q1R Bq1->Bq2L 1q2->0q2L 0q2->1q3L Bq2->1STOP 0q3->0q3L ...

4
 Аватар для MrGladus
178 / 178 / 50
Регистрация: 06.01.2013
Сообщений: 392
13.01.2013, 23:02
Если я правильно Вас понял, то Вам надо лишь алгоритм программы? Или же Вам также надо программа которая будет выполнять действия, согласно алгоритму? Если только алгоритм - MS Visio Вам в помощь
1
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 25
13.01.2013, 23:07  [ТС]
Я пытался сделать в MS Visual. Но че то пока не могу, наверно из-за малого опыта. Мне либо что кто0нибудь помог составить, либо чтоб ткнули в нужное место
0
 Аватар для MrGladus
178 / 178 / 50
Регистрация: 06.01.2013
Сообщений: 392
14.01.2013, 00:14
Вот накидал по быстрому для Вас программу. Не запускал и не проверял, но уверен что будет работать, если ввести корректные значения. Добавлю только что десятичные числа в поля необходимо вводить через запятую, если точнее то так: 12,8. Если будете писать через точку то будет возникать ошибка. Ниже в спойлере код программы, а так же прилагаю файл с проектом.

Кликните здесь для просмотра всего текста
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                double E = Convert.ToDouble(textBox9.Text);
                double T2 = Convert.ToDouble(textBox1.Text);
                double Vh = Convert.ToDouble(textBox2.Text);
                double Kh = Convert.ToDouble(textBox3.Text);
                double M = Convert.ToDouble(textBox4.Text);
                double D1 = Convert.ToDouble(textBox5.Text);
                double P1 = Convert.ToDouble(textBox6.Text);
                double D2 = Convert.ToDouble(textBox7.Text);
                double P2 = Convert.ToDouble(textBox8.Text);
 
                //1. Определение координат первой точки
                double x1, y1;
                x1 = D1*Math.Sin(P1);
                y1 = D1*Math.Cos(P1);
                TextWriter("1. Определение координат 1й точки");
                TextWriter("X1 = D1*sinП1");
                TextWriter("Y 1 = D1*cos П1");
                TextWriter("x1 = " + x1.ToString() + "; y1 = " + y1.ToString());
 
                //2. Определение координат второй точки
                double x2, y2;
                x2 = D2*Math.Sin(P2);
                y2 = D2*Math.Cos(P2);
                TextWriter("2. Определение координат 2й точки");
                TextWriter("X2 = D2*sinП2");
                TextWriter("Н2 = D2*cosП2");
                TextWriter("x2 = " + x2.ToString() + "; y2 = " + y2.ToString());
 
                //3. Определение ∆t
                double deltaT = T2/60;
                TextWriter("3. Определение ∆t");
                TextWriter("∆t = (T2-T1)/60 = T2/60");    
                TextWriter("∆t = " + deltaT.ToString());
 
                //4. Составляющая вестора скорости Vн
                double deltaXvh = Vh*deltaT*Math.Sin(Kh);
                double deltaYvh = Vh * deltaT * Math.Cos(Kh);
                TextWriter("4. Составляющая вестора скорости Vн");
                TextWriter("∆Xvн = Vн*∆t*sinKн");
                TextWriter("∆Yvн = Vн*∆t*cosKн");
                TextWriter("∆Xvн = " + deltaXvh.ToString() + "; ∆Yvн = " + deltaYvh.ToString());
 
                //5. Точка начала вестора Vн
                double Xh = x1 - deltaXvh;
                double Yh = y1 - deltaYvh;
                TextWriter("5. Точка начала вестора Vн");
                TextWriter("Xн = X1 - ∆Xvн");
                TextWriter("Yн = Y1 - ∆Yvн");
                TextWriter("Xн = " + Xh.ToString() + "; Yн = " + Yh.ToString());
 
                //6. Длина ветора
                double Vh_2 = Math.Sqrt((Math.Pow(deltaXvh, 2)) + (Math.Pow(deltaYvh, 2)));
                TextWriter("6. Длина ветора");
                TextWriter("Vн = корень из ∆Xvн^2 + ∆Yvн^2");
                TextWriter("Vн = " + Vh_2.ToString());
 
                //7. Составляющая вектора скорости цели Vц
                double deltaXc = x2 - Xh;
                double deltaYc = y2 - Yh;
                double Vc = Math.Sqrt((Math.Pow(deltaXc, 2)) + (Math.Pow(deltaYc, 2)));
                TextWriter("7. Составляющая вектора скорости цели Vц");
                TextWriter("∆Xц = X2-Xн");
                TextWriter("∆Yц = Y2 – Yн");
                TextWriter("Vц = корень из ∆Xц^2 + ∆Yц^2");
                TextWriter("∆Xц = " + deltaXc.ToString() + "; ∆Yц = " + deltaYc.ToString() + "; Vц = " + Vc.ToString());
 
                //И так далее...
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 
        private void TextWriter(string text)
        {
            string a = text + "\r\n" + richTextBox1.Text;
            richTextBox1.Text = a;
        }
    }
}
Вложения
Тип файла: rar WindowsFormsApplication1.rar (1.66 Мб, 25 просмотров)
1
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 25
14.01.2013, 05:50  [ТС]
Спасибо большое. Работает. Прям выручили.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.01.2013, 05:50
Помогаю со студенческими работами здесь

Реализация алгоритма
Смотрите, есть функция для рисования сегмента круга: pieslice(int x, int y, int start, int end, int radius) - int start и int ende угол...

Реализация алгоритма
помогите пожалуйсто написать программу: 1. Реализовать алгоритм Insertion-Sort (сортировка вставками) и Merge-Sort (сортировка слиянием)...

Реализация алгоритма
Имеются числа n,l,t,p- целые натуральные. Нужно в цикле выводить значения dec(H*bin(i)) где i от 1 до n, h от 0 до l-1. bin(i)...

Реализация алгоритма
Уважаемые форумчане, помогите, пожалуйста, с реализацией алгоритма на VBA Действия производятся в одном столбце Если ячейка...

Реализация алгоритма
Всем привет! Подскажите плиз,как можно реализовать алгоритм. Есть поле,которое может принемать любой размер,к примеру такое ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru