2015-10-20 4 views
-4

Спокойной ночи,Конвертировать с Basic на Javascript?

Мне нужно перевести этот образец кода от Базовый в javascript. Javascript не поддерживает инструкции «Перейти». Я бы был бы благодарен, если бы вы могли дать мне перевод. Большое спасибо

10 c = 1666.66 
20 b = 1.007897747 
30 a = 10000 
40 n = 6 
50 a = a * b 
60 a = a -c 
70 n = n -1 
80 c = c + 0.01 
90 if a <= 0 then 120 
100 if n = 0 then 30 
110 goto 50 
120 print c 
130 end 
+1

Я голосую, чтобы закрыть этот вопрос, как от -topic, потому что пост запрашивает перевод кода. – Joseph

ответ

0

Вот один из способов сделать это

// store the information in an Object, so that data can be migrated easily 
 
    var dataSet = setInitialValues(); 
 

 
    // perform the calculation, this is a recursive function 
 
    performCalculations(dataSet); 
 
    
 
    // definition for function that create the initial data set 
 
    function setInitialValues(){ 
 
    \t return { 
 
    \t \t \t c: 1666.66, 
 
    \t \t \t b : 1.007897747, 
 
    \t \t \t a : 10000, 
 
    \t \t \t n : 6 
 
    \t \t } 
 
    } 
 
    
 
    // reassign value to a and n, called when n reached 0 
 
    function reSetValues(d){ 
 
    \t d.a = 10000; 
 
    \t d.n = 6; 
 
    \t return d \t 
 
    } 
 
    
 
    // recursive function, operates on the data set 
 
    function performCalculations(d){ 
 
    \t d.a = d.a*d.b; 
 
    \t d.a = d.a-d.c; 
 
    \t d.n = d.n-1; 
 
    
 
    \t d.c = d.c+0.01; 
 
    \t 
 
    \t if (d.a<= 0){ 
 
    \t \t document.write(d.c) 
 
    \t } else if(d.n==0){ 
 
    \t \t reSetValues(d); 
 
    \t \t performCalculations(d); 
 
    \t } else { 
 
    \t \t performCalculations(d); 
 
    \t } 
 
    }

+0

Спасибо, но это не сработает. Javascrit не запускает код. – user5468779

+0

Где вы это запустили? Вставьте код в консоли браузера и запустите его. Результат будет отображаться в консоли. Для записи результат, который дает эта программа, - 1713.0999999999578 – sunitj

+0

@ user5468779 обновил ответ на фрагмент, и вы можете увидеть, что решение дает правильный результат. – sunitj

0

Это предложение имеется бесконечное while петлю в сочетании с for цикла и выхода.

function x() { 
 
    var a, b, c, n; 
 
    c = 1666.66; 
 
    b = 1.007897747; 
 
    while (true) { 
 
     a = 10000; 
 
     for (n = 6; n--;) { 
 
      a *= b; 
 
      a -= c; 
 
      c += 0.01; 
 
      if (a <= 0) { 
 
       return c; 
 
      } 
 
     } 
 
    } 
 
} 
 
document.write(x());

Для доказательства результат, вы можете скопировать код и вставить его в онлайн-BASIC интерпретатор, как http://www.quitebasic.com/

10 let c = 1666.66 
20 let b = 1.007897747 
30 let a = 10000 
40 let n = 6 
50 let a = a * b 
60 let a = a -c 
70 let n = n -1 
80 let c = c + 0.01 
90 if a <= 0 then 120 
100 if n = 0 then 30 
110 goto 50 
120 print c 
130 end 

 Смежные вопросы

  • Нет связанных вопросов^_^