Tłumaczę nadmiernie stary program GW-BASICa na JavaScript i natknąłem się na kawałek składni, który mnie zaskoczył. Zauważ (ponownie): całkowicie nie mój kod, a nazwy zmiennych są szalone, dlatego właśnie je przenosiłem.Nieznana funkcja/składnia GW-BASICa: Q (var) = var
1380 Z = 1
1390 RATIO = FCO2 /(1-FCO2-10^REFFO2)
1400 AA =(1 - 2*RATIO*(100/MIXRATIO - 1))/(1 + 2*(100/MIXRATIO - 1))
1410 PART = LOG(1 - AA)- LOG(100/MIXRATIO - 1)
1420 FOR I = 1 TO - 1 STEP -2
1430 H = I
1440 W = T + H
1450 GG = 62.110326# - .02144446#*W + 4.720326E-07*(W^ 2)+(- 4.5574288#)*(10^(- 12))*(W^ 3)- 7.343018200000001#*(10^(- 15))*(W^ 4)
1460 KK = EXP(- GG /(R*(W + 273.18)))
1470 Q(Z)= KK
1480 Z = Z + 1
1490 NEXT I
1500 NEWFO21 = LOG(10)*.5*(LOG(Q(1))+ PART):NEWFO22 = LOG(10)*.5*(LOG(Q(2))+ PART)
1510 DELEMFDELT =(FN EMF (TREF + 1,NEWFO21) - FN EMF (TREF - 1, NEWFO22))/2
1520 RETURN
Znak zapytania to linia 1470: Q(Z) = KK
. Q
jest zdefiniowany wcześniej w programie jako zmienna wejściowa tak/nie, więc nie ma sensu umieszczać w niej float. Wcześniej nie zdefiniowano funkcji Q()
i nie mogę znaleźć odwołania do funkcji Q()
w GW-BASIC.
Każda pomoc?
+1 za przypomnienie mi o GW-BASIC, to było LATA – Ali
Muszę powiedzieć, że ten konkretny projekt był strzałem w dziesiątkę. –