Переделать код с си++ на Visual basic - VB

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

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

Здравствуйте! У меня есть программа, создающая генератор случайных чисел, но она написана на языке си++. Помогите пожалуйста переделать в Visual Basic!
Листинг программы
  1. #include <iostream>
  2. #include <time.h>
  3. using namespace std;
  4. // начальное значение
  5. int x0=1;
  6. // функция генерации случайных чисел
  7. int rnd(void)
  8. {
  9. // некоторые целые параметры
  10. long int m=429496, a=214013, c =25310;
  11. // x объявляется статической переменной
  12. static long int x = x0;
  13. // формула линейного конгруэнтного метода
  14. x = ((a * x) + c) % m;
  15. x0 = x;
  16. return x;
  17. }
  18. // функция изменяет начальное значение, присваивая ему другую величину, получаемую функцией в качестве аргумента.
  19. void srnd(unsigned int seed)
  20. {
  21. x0 = seed;
  22. }
  23. int main()
  24. {
  25. int m;
  26. srnd(time(NULL)); // в функцию передается системное время в секундах
  27. m=rnd()%201-100;
  28. cout<<m<<endl;
  29. system("PAUSE");
  30. return 0;
  31. }

Решение задачи: «Переделать код с си++ на Visual basic»

textual
Листинг программы
  1. Option Explicit
  2. Dim x0 As Long
  3. Private Function Random() As Long
  4.     Dim M As Double, A As Double, C As Double
  5.     Static x As Double
  6.     x = x0
  7.     M = 429496: A = 214013: C = 25310
  8.     x = rMod(((A * x) + C), M)
  9.     x0 = x
  10.     Random = x
  11. End Function
  12. Public Function rMod(ByVal Op1 As Double, ByVal Op2 As Double) As Double       ' Возвращает остаток от деления одного указанного числа на другое указанное число.
  13.    rMod = (Abs(Op1) - (Abs(Op2) * (Int(Abs(Op1) / Abs(Op2))))) * Sgn(Op1)
  14. End Function
  15. Private Sub SRnd(ByVal Seed As Long)
  16.     x0 = Seed
  17. End Sub
  18. Private Sub Form_Load()
  19.     Dim M As Long
  20.     x0 = 1
  21.     SRnd (Timer)
  22.     M = Random() Mod 201 - 100
  23.     MsgBox M
  24. End Sub

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


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

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

15   голосов , оценка 4.267 из 5

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

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

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