2013-11-20 3 views
-3

Я участвую в Fortran 77, я новичок, поэтому не знаю много о Fortran. Наш профессор дал нам домашнюю работу. Предположим написать программу, которая вычисляет cos (x ** 2). Это имеет разложение в ряд Тейлора, поэтому я попытался написать несколько вещей, но Он дал мне эту ошибку:FORTRAN 77 'Ошибка: неклассифицируемый отчет в (1)'

term = term*((-1)**i)*x**2*i)/fac(2*i)       
    1 

Error: Unclassifiable statement at (1)

Программа дырка:

 PROGRAM COSX_SQUARE 
     IMPLICIT NONE 
     INTEGER x, n, i 
     REAL partial_sum, term 

20  PRINT*, 'INPUT THE DEGREE' 
     READ*, x 
     x = x*180/3.1415 

     PRINT*, 'INPUT THE CORRECTION VALUE ' 
     PRINT*, 'AS A NATURAL NUMBER' 

     READ*, n 

     i= -1 
     term = 1 
     partial_sum = term 

10  i=i+1 
     term = term*((-1)**i)*x**2*i)/fac(2*i) 

     partial_sum = partial_sum + term 

     IF (i .LT. n) THEN 
     GO TO 10 
     ELSE 
     PRINT*, 'COS', x, 'SQUARE IS = ', partial_sum 
     END IF 

     GO TO 20 

     END 

Где я Ошибочно? И эта программа будет работать хорошо? Заранее спасибо.

+0

ошибка не совпадает с исходным кодом! BTW: В вашем коде есть что-то не так, я предполагаю, что это просто копирование и вставка ошибок! –

+0

Я полагаю, что «fac» - это внешняя функция, которая возвращает факториал? Или что-то еще? –

+1

Я занимаюсь этим вопросом. OP признал, что то, что опубликовано, не точно отражает код, вызывающий проблему. Перестаньте тратить наше время и свое. –

ответ

1

Вам не хватает одного кронштейна в вашем выражении!

Это, вероятно, следует прочитать:

term = term*(((-1)**i)*x**2*i)/fac(2*i) 
+0

Я согласен. После исправления кода для разделения двух нерасщепленных операторов компилятор также обнаружит эту ошибку. –

+0

Спасибо, я скорректировал скобку, но теперь он дает мне эту ошибку: collect2: ld вернулся 1 статус выхода – animetrk

+0

Это связано с некоторыми недостающими библиотеками ... Но это совсем другая история ;-) Вам нужно будет предоставить более подробную информацию. Но, пожалуйста, напишите это в новом вопросе! –

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