作者scorpion2272 (我是盆栽)
看板MATLAB
標題[問題] 超過執行時間跳出
時間Thu Nov 1 03:55:44 2012
各位好,
最近須幫指導教授寫一個matlab線上考試系統,
老師希望能夠即時批改,告訴考生這題答對與否。
但目前卡在如下功能:
因為怕學生丟過來的code有無窮迴圈,
所以想要寫個計時器,
若運算超過20秒則視為他跑進無窮迴圈,
就結束他的運算。
剛剛試了一下用timer,本有這個想法:
假設f為學生寫的函數,
設兩個timer,一個跑f,一個在20秒後會把跑f的timer給stop掉,
結果那個跑f的timer一進f的無窮迴圈後matlab就什麼指令都聽不進去了。
目前還沒想到方法,也不確定matlab的這種線上批改模式是否真的可行...
煩請各位提供意見!謝謝!
--
專家總是叫我們不要吃漢堡這種垃圾食物,
要多吃營養的食物,
例如白麵包、芝麻、生菜、蕃茄、酸黃瓜、起司和牛肉。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.203.105
1F:推 tyc5116:認真的助教XD 11/01 14:15
2F:推 guteres:你講的應該是類似ACM系統 11/03 08:04
3F:→ scorpion2272:是的 是想要開發類似的功能 但想到防止無窮迴圈這點 11/03 12:13
4F:→ scorpion2272:就不知如何下手.. 11/03 12:13
5F:推 jigfopsda:這要multiprocess或multithread吧 11/05 22:02
6F:→ jigfopsda:我不確定matlab支不支援.. 11/05 22:03
7F:→ geniusturtle:我自己有一個用C程式去叫matlab起來的範例 11/07 22:32
8F:→ geniusturtle:不過TLE時,會把所有的matlab.exe都給kill掉 11/07 22:32