網頁

Monday 13 February 2012

Sem 4 4/13: FORTRAN & COBOL

原來沒有功課的四個星期過得真快
318 Asg 1 是要模擬一 object 在某房間內的 movement, 而且有一堆會 board



做法只是每次找最接近的 board, 計算 segment intersection
比較莫明奇妙的是 output
spec 要求把 path 上每一點都 truncate 至整數點, 再把整個 bitmap print 出來



很明顯 precision 會很有影響, 尤其是條 path pass through 交點時
雖然可以處理, 但是這份功課的重點已經開始偏離 programming languages 本身

FORTRAN

特別限制: 只能使用 if, goto, 不能使用 loop 等
據說是為了體驗 'the old times', 不過用 if goto 也很輕鬆
本身不支援 recursion, 所以整個 FORTRAN 感覺是線性的

比較麻煩的是 1)沒有 struct 2) procedure 不能 access global variable
1) 加上 FORTRAN 是一行一句使得 code 很難看
2) 由於要把所有相關的 variable pass 入去, 又是把 function 寫得很長

總括來說還是寫得很順手



COBOL

B stands for business, 好像是很古老的商業用 language
很明顯用來寫 geom 已經很莫明奇妙, 如果想體驗的話應該寫該種 language 應該寫的 program
COBOL 除了不適合用來計數外, 本身己經有一大堆缺憾

1) Define variable 竟然要一行一個




2) 接近英文的語法
眾多缺點中最差的一個, 例子:
ADD X TO Y GIVING Z
MOVE 1 TO X
據說設計的原意是 "讓不懂電腦的人也可看懂程序", 真是莫明奇妙
不懂電腦的人根本沒必要看懂, 懂電腦的看得很辛苦
幸好後來發現有 COMPUTE, 可以正常地打 arithmetic expression..

3) 莫明奇妙的限制
例如有 PERFORM N TIMES.. END-PERFORM (幸好有 loop 用)
但是卻不能在 N TIMES 中打 expression, 例如 PERFORM N-1 TIMES 是不行的

種種問題令段 program 寫得冗長又難看
雖然古老的 language 有很多不足很正常, 但是最莫明奇妙是要用來寫 geom 和搞 output format, precision 等, 令我對 318 的印象--

No comments:

Post a Comment