Нужно перевести с pascal abc net на с# - C#

Узнай цену своей работы

Формулировка задачи:

Времени в обрез, а препод не принимает на паскале(( помогите пожалуйста
Листинг программы
  1. program pushka;
  2. uses
  3. graphABC;
  4. var
  5. x0, y0, x1, y1, x2, y2, t, r, f, k, b, u: real;
  6. const
  7. M = 1000;
  8. procedure qwe(x0, x1, f: real; var x2: real);
  9. begin
  10. x2 := f * x1 * t * t - x0 + 2 * x1;
  11. end;
  12. procedure asd(y0, y1, f: real; var y2: real);
  13. begin
  14. y2 := f * y1 * t * t - y0 + 2 * y1;
  15. end;
  16. procedure zxc(r: real; var f: real);
  17. begin
  18. f := -k * M / (abs(r * r) * abs(r))
  19. end;
  20.  
  21. begin
  22. setwindowsize(1000,800);
  23. setbrushcolor(clyellow);
  24. circle(250, 250, 30);
  25. x0 := 150;
  26. y0 := -200;
  27. b := 6 ;
  28. u := 0;
  29. k := 10;
  30. t := 0.5;
  31. x1 := x0 + b * t;
  32. y1 := y0 + u * t;
  33. r := sqrt((x1 * x1) + (y1 * y1));
  34. repeat
  35. zxc(r, f);
  36. qwe(x0, x1, f, x2);
  37. asd(y0, y1, f, y2);
  38. r := sqrt((x2 * x2) + (y2 * y2));
  39. setbrushcolor(clblue);
  40. Circle(round(x2 + 250), round(250 - y2), 10);
  41. sleep(10);
  42. ClearWindow;
  43. setbrushcolor(clyellow);
  44. circle(250, 250, 30);
  45. x0 := x1; x1 := x2;
  46. y0 := y1; y1 := y2;
  47. until r<30
  48. end.
вот я попробовала, но движения не происходит
Листинг программы
  1. namespace lab9
  2. {
  3. public partial class Form1 : Form
  4. {
  5. double x0, y0, x1, y1, x2, y2, r, f, k, b, u;
  6. double t;
  7. const int M= 1000;
  8. public Form1()
  9. {
  10. InitializeComponent();
  11. }
  12. private void Form1_Load(object sender, EventArgs e)
  13. {
  14. }
  15. void qwe(double x0, double x1, double f, double x2)
  16. {
  17. x2= f * x1 * t * t - x0 + 2 * x1;
  18. }
  19.  
  20. void asd(double y0, double y1, double f, double y2)
  21. {
  22. y2= f* y1 * t* t - y0 + 2 * y1;
  23. }
  24. void zxc(double r, double f)
  25. {
  26. f = -k * M / (Math.Abs(r * r) * Math.Abs(r));
  27. }
  28. private void panel1_Paint(object sender, PaintEventArgs e)
  29. {
  30. Graphics g = panel1.CreateGraphics();
  31. SolidBrush br1 = new SolidBrush(Color.Yellow);
  32. g.FillEllipse(br1, 250, 250, 50, 50);
  33. x0= 150;
  34. y0= -200;
  35. b= 6;
  36. u= 0;
  37. k= 10;
  38. t= 0.5;
  39. x1= x0 + b * t;
  40. y1= y0 + u * t;
  41. r= Math.Sqrt((x1 * x1) + (y1 * y1));
  42. while (r<50)
  43. {
  44. zxc(r, f);
  45. qwe(x0, x1, f, x2);
  46. asd(y0, y1, f, y2);
  47. r= Math.Sqrt((x2 * x2) + (y2 * y2));
  48. SolidBrush br2 = new SolidBrush(Color.Blue);
  49. g.FillEllipse(br2, (float)Math.Round(x2+250), (float)Math.Round(250-y2), 20, 20);
  50. System.Threading.Thread.Sleep(10);
  51. g.Clear(Color.White);
  52. g.FillEllipse(br1, 250, 250, 50, 50);
  53. x0= x1; x1= x2;
  54. y0= y1; y1= y2;
  55. }
  56. }
  57. }
  58. }

Решение задачи: «Нужно перевести с pascal abc net на с#»

textual
Листинг программы
  1.         double x0, y0, x1, y1, x2, y2, r, f, k, b, u;
  2.         double t;
  3.         const int M = 1000;
  4.  
  5.         void qwe(double x0, double x1, double f)
  6.         {
  7.             x2 = f * x1 * t * t - x0 + 2 * x1;
  8.         }
  9.  
  10.         void asd(double y0, double y1, double f)
  11.         {
  12.             y2 = f * y1 * t * t - y0 + 2 * y1;
  13.         }
  14.  
  15.         void zxc(double r)
  16.         {
  17.             f = -k * M / (Math.Abs(r * r) * Math.Abs(r));
  18.         }
  19.  
  20.         private void panel1_Paint(object sender, PaintEventArgs e)
  21.         {
  22.             e.Graphics.FillEllipse(Brushes.Yellow, 250, 250, 50, 50);
  23.             x0 = 150;
  24.             y0 = -200;
  25.             b = 6;
  26.             u = 0;
  27.             k = 10;
  28.             t = 0.5;
  29.             x1 = x0 + b * t;
  30.             y1 = y0 + u * t;
  31.             r = Math.Sqrt((x1 * x1) + (y1 * y1));
  32.  
  33.             while (r < 395)//Значение нужно уточнить
  34.             {
  35.                 zxc(r);
  36.                 qwe(x0, x1, f);
  37.                 asd(y0, y1, f);
  38.                 r = Math.Sqrt((x2 * x2) + (y2 * y2));
  39.  
  40.                 e.Graphics.FillEllipse(Brushes.Blue, (float)Math.Round(x2 + 250), (float)Math.Round(250 - y2), 20, 20);
  41.  
  42.                 System.Threading.Thread.Sleep(10);
  43.                 e.Graphics.Clear(panel1.BackColor);
  44.  
  45.                 e.Graphics.FillEllipse(Brushes.Yellow, 250, 250, 50, 50);
  46.  
  47.                 x0 = x1; x1 = x2;
  48.                 y0 = y1; y1 = y2;
  49.             }
  50.         }
  51.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут