Программа 8.3.
100 'ПЕРЕХОД ОТ ПРЯМОУГОЛЬНОЙ ФОРМЫ К ПОЛЯРНОЙ И ОТ ПОЛЯРНОЙ К ПРЯМОУГОЛЬНОЙ
110 '
120 DIM REX[256] 'Массив REX[ ] содержит действительную часть
130 DIM IMX[256] 'Массив IMX[ ] содержит мнимую часть
140 DIM MAG[256] 'Массив MAG[ ] содержит модуль
150 DIM PHASE[256] 'Массив PHASE[ ] содержит фазу
160 '
170 PI = 3.14159265
180 '
190 GOSUB XXXX 'Предполагаемая подпрограмма загрузки данных в массивы REX[] и IMX[]
200 '
210 '
220 ' 'Переход от прямоугольной к полярной форме представления; выражение (8.6)
230 FOR K% = 0 TO 256
240 MAG[K%] = SQR( REX[K%]^2 + IMX[K%]^2 ) 'см. выражение (8.6)
250 IF REX[K%] = 0 THEN REX[K%] = 1E-20 'защита от деления на ноль (проблема 2)
260 PHASE[K%] = ATN( IMX[K%] / REX[K%] ) 'см. выражение (8.6)
270 ' 'корректировка значений арктангенса (проблема 3)
280 IF REX[K%] < 0 AND IMX[K%] < 0 THEN PHASE[K%] = PHASE[K%] - PI
290 IF REX[K%] < 0 AND IMX[K%] >= 0 THEN PHASE[K%] = PHASE[K%] + PI
300 NEXT K%
310 '
320 '
330 ' 'Переход от полярной к прямоугольной форме представления; выражение (8.7)
340 FOR K% = 0 TO 256
350 REX[K%] = MAG[K%] * COS( PHASE[K%] )
360 IMX[K%] = MAG[K%] * SIN( PHASE[K%] )
370 NEXT K%
380 '
390 END