如何将这个旧版BASIC编写为PHP函数?

时间:2013-12-08 11:55:50

标签: php function basic

假设代码中先前设置了以下变量值:

LSLATHOR = 1780NRSLATVER = 34

然后我有两行GWBASIC:

100 PITCHHOR=(LSLATHOR/(NRSLATVER+1))  :  LSLATHOR=PITCHHOR*(NRSLATVER+1)
110 IF PITCHHOR>72 THEN NRSLATVER=NRSLATVER+1:GOTO 100
120 LPRINT "HORIZONTAL PITCH is equal to : ";PITCHHOR;

现在,如果我想把这个逻辑作为PHP函数,我该怎么做呢?:

function calc_h($slat_length_h, $slat_qty_v) {

    $pitch_h = ($slat_length_h / ($v_slat_qty + 1));

    if ($pitch_h > 72) {            

            while ($pitch_h > 72) {                    
                $v_slat_qty += 1;
                $slat_length_h = $pitch_h * ($v_slat_qty + 1);
                $pitch_h = ($slat_length_h / ($v_slat_qty + 1));                 
            }

    }     

    return $pitch_h;
}

$slat_length_h = 1780;
$slat_qty_v = 34;

echo calc_h($slat_length_h, $slat_qty_v);

您需要知道的是,PITCHHOR > 72有时会出现条件,然后需要根据GWBasic脚本调整/重新计算$ pitch_h。

我希望我提供了足够的信息。 Ty vm。

1 个答案:

答案 0 :(得分:1)

我写的如下。但由于你有原始代码,你可以简单地尝试插入一些样本值并比较结果。

function calc_pitchhor($lslathor, $nrslatver) {
  do {
        $pitchhor = ($lslathor/($nrslatver+1));
        $lslathor = $pitchhor*($nrslatver+1);
        ++$nrslatver;
  } while($pitchhor > 72)

  return $pitchhor;
}


$lslathor = 1780;
$nrslatver = 34;

echo "HORIZONTAL PITCH is equal to: ", calc_pitchhor($slat_length_h, $slat_qty_v);