六肖中特免费公开109 | 文獻求助論文范文 | 論文題目 | 參考文獻 | 開題報告 | 論文格式 | 摘要提綱 | 論文致謝 | 論文查重 | 論文答辯 | 論文發表 | 期刊雜志 | 論文寫作 | 論文PPT
六肖中特免费公开109您當前的位置:六肖中特免费公开109 > 開題報告

068期六肖中特:c語言畢業論文開題報告

時間:2018-04-20 來源:未知 作者:學術堂 本文字數:5016字
  計算思維的本質是抽象和自動化。對于C語言程序來說,抽象就是使用程序、函數、函數調用以及數據類型、常量、變量、數組和鏈表等元素描述現實生活中的系統、功能、功能調用以及單個特征或特征組合等,自動化則體現為函數內部的語句在EIP寄存器加法操作支持下順序自動地執行以及函數之間的調用在內存堆棧區支持下自動地進行跳轉。以下是我們分享的c語言畢業論文開題報告,供你參考借鑒。
  
  一、研究背景及研究意義
  
  信息技術的快速發展加速了教育信息化的進程,在線教育系統與測試系統的出現為學生提供了一個可以提高和檢測綜合能力的便捷途徑。另一方面,C語言教學在各大高校中都是必修課程之一,且在計算機相關課程教學中,針對某個理論性的知識點的考察,一般會以客觀題的形式給出。由于答案具有唯一性,通過簡單得匹配方式便能識別正確與否從而給出相應成績。針對這類客觀題的自動評分技術已經相當成熟,因此后續在自動評分方向的研究中主要集中于主觀題的自動評判。在過去幾年的積極探索階段到現有的實際研究成果來看,有關C語言知識的檢測中對編程題的考察是必不可少的。雖然檢測的形式各不相同(填寫空缺代碼塊完成完整程序,按題目要求編寫整個程序),但終究是為了考察學生掌握編程技巧及編程思想的程度。
  
  本課題研究的主要目的是結合編程實現的特征,為一個正在初始運營中的在線測試平臺提供一個能查重與自動評分的功能???。其中最終評分包括兩個部分,一是對每個學生提交的程序代碼文件相互之間進行相似度檢測,當相似度超過預定閾值作為抄襲處理,此為查重檢測。二是將學生程序與模板程序匹配檢測相似度并由此計算最終得分。
  
  程序語言與自然語言在各自適用領域上有較大差異,其語言雖然都有詞法、語法規則等,但編寫程序語言時并沒有自然語言那么的靈活,不會出現一詞多義,一義多詞,他只有固定的關鍵字,標識符編寫規則,功能實現結構等,所以較于自然語言來說識別起來要容易一些。國內外對編程題相似度檢測及自動評分都有不少的研究,現也有一些系統比較成熟。
  
  目前,各大高校對C語言課程考察方式一般還是以傳統的紙質化考試為主。
  
  這樣的考試方法在人工閱卷的過程中存在著些許的不確定因素,隨著教育的普及,能力測試之后需要批改的試卷絕不是一個小數目。這單一單調的工作很容易使得批改人員疲憊不堪,從而閱卷出錯率將會被動的提高。利用計算機完成自動閱卷將杜絕這一問題的出現,同時,其運行速度快能及時的給學生反饋結果也沒有人的感官情緒,能公平公正的對待每一份試卷。
  
  對于主觀題的自動評分技術還在不斷的完善中,由于在主觀題的識別所需的技術:人工智能、自然語言處理、模式識別等還處于起步階段。所以主觀題自動閱卷技術不能一蹴而就,還需要不斷的實驗研究。目前,探索開發出合理試用的主觀題自動評分系統是一個技術難題,若能將開發的系統投入教學或是別的考察里面,將會大大的節省人力物力。
  
  二、國內外研究現狀
  
  國外對文本相似度檢測的研究早國內,在20世紀中期,就有學者提出讓計算機同人工閱卷一般來對主觀題如作文進行評閱。至今,經過數多學者的致力研究,出現了許多與教育結合的應用系統,并已投入使用。在對自然語言的文本分析處理方法的研究同時,隨著計算機教育的普及,程序代碼的檢測也在逐漸興起。
  
  1966年,Ellis  Page開 發 了 一 個 模 擬 人 工 評 分 的 系 統Project  EssayGrade(PEG),該系統是總結學生提交文本的特征向量,然后將文本的特征進行量化,最后根據量化的結果對其文本進行判分。
  
  1967年,Halstead提出了用屬性計數法計算程序代碼之間的相似度,所謂的屬性是指代碼的某些度量值,如:空行的數目,字符量,語句量,控制結構量等,在他的研究基礎之上,1977年Otteiistein設計了檢測FORTRAN編程語言的代碼抄襲檢測系統,該系統基于屬性技術的相似度檢測技術?;謔糶約際跚蠼獬絳虼脛湎嗨貧鵲南低郴褂蠪aidhi和Robinson的程序抄襲檢測系統,以及Grier設計的Accuse程序抄襲檢測系統。
  
  單方面只考慮屬性計數而忽略程序的結構組成,得出的代碼相似度比值準確率較低,在1996年,Verco和Wise對Accuse程序抄襲檢測系統進行了一系列可能性的測試,通過在源程序中加入不影響代碼運行的字符串或用其他結構代替原結構等方式。在對測試結果分析研究之后指出:只是單純的增加供于檢測的程序屬性數量,在程序相似度檢測中并不能得到更加精確的檢測結果。
  
  G.Whal首次提出了程序結構方向的研究思路,通過分析程序的內部結構來匹配兩源代碼之間的相似度。在此后,學者們朝著這兩個方向開始研究,同時也有將二者結合研究的。
  
  G.Whal設計的Plague系統,Micheal  Wise設計的YAP3系統,Sim系統都是采用的程序結構度量技術進行研究。Donaldson是結合了屬性技術與程序結構度量兩種技術完成對程序相似度的檢測。
  
  還有用token(標記)序列來表示程序的字符串匹配算法,是根據編譯原理技術,將程序的語句進行分詞的操作,然后將得到的單詞存入token序列。然后使用字符串匹配算法計算相似度。常用的字符串匹配算法有:最長公共子序列(LCS)算法、余弦算法、編輯距離(Levenshtein)算法等。采用這種方法的有Duploc、NICAD、Dup、Clone Detective、CCFinder、CP-Miner等。
  
  現在使用比較廣泛是 Online Judge 系統,簡稱 OJ,是一個在線的判題系統,系統通過對用戶提交的代碼進行編譯和運行,對于能夠運行的程序通過預先設定的測試集來檢測代碼運行的結果,以及運行時間是否在規定范圍之內。該系統最早使用在 ACM-ICPC 國際大學生程序設計賽和 OI 信息學奧林匹克競賽中。該系統的返回結果有 7 種:Wrong Answer : 答案不完全正確;Time Limit Exceeded :
  
  運行超出時間限制;Memory Limit Exceeded : 超出內存限制;Output LimitExceeded: 輸出超過限制;Runtime Error : 運行時錯誤;Compile Error : 編譯錯誤;Accepted : 程序通過。該系統采用的是動態評分方式。
  
  三、研究內容
  
  本文的主要研究內容以及創新點有:
  
  1)研究文本相似度檢測技術,分別比較點陣圖法、空間向量的余弦算法、最長公共子序列LCS算法、最小編輯距離Levenshtein distance算法對源程序相似度檢測效果。提出基于LCS的C語言程序查重算法。并對源代碼進行適用于LCS算法匹配的預處理操作,改進匹配方式以提高算法匹配效率,提取源代碼的特征屬性求解閾值。
  
  2)研究程序識別相關技術,以及自動評分的兩種常見方法:動態評分;靜態評分。本文主要研究靜態評分方法,將程序抽象提取為SDG的表現形式,分析結構語義對源代碼進行預處理,并提出基于控制流程匹配度的C語言自動評分算法。
  
  3)分析 C語言程序的結構,分析抽象語法樹的表現形式,將程序劃分為多個不同粒度的子程序,并轉換為結構樹。運用編譯原理技術分析數據依賴、控制依賴完成樹的構建。因此提出基于最小子程序匹配的C語言自動評分算法。
  
  四、提綱
  
  摘要
  
  ABSTRACT
  
  第 1 章 緒論
  
  1.1 研究背景及研究意義
  
  1.2 國內外研究現狀
  
  1.2.1 國外研究現狀
  
  1.2.2 國內研究現狀
  
  1.3 本論文的主要研究內容
  
  1.4 論文組織安排
  
  第 2 章 相關理論及技術介紹
  
  2.1 正則表達式
  
  2.1.1 正則表達式的符號元
  
  2.1.2 正則表達式的使用的規則
  
  2.1.3Java字符串匹配
  
  2.2 編譯原理技術
  
  2.2.1 詞法分析
  
  2.2.2 語法分析
  
  2.2.3 語義分析
  
  2.3 系統依賴圖
  
  2.3.1 結構化程序設計
  
  2.3.2 程序流程圖
  
  2.3.3 程序依賴圖
  
  2.3.4 系統依賴圖
  
  2.4C語言
  
  2.4.1C語言程序設計
  
  2.4.2C語言結構特點
  
  2.4.3C語言基礎概述
  
  2.4.4C語言代碼多樣性分析
  
  2.5 本章小結
  
  第 3 章 基于LCS的C語言程序查重算法
  
  3.1 代碼抄襲概述
  
  3.2 抄襲常用方法
  
  3.3 源代碼查重預處理
  
  3.4 程序代碼查重算法
  
  3.4.1 文本相似度算法
  
  3.4.2LCS最長公共子序列
  
  3.4.3 閾值分析
  
  3.4.4 檢測代碼重復率
  
  3.4.5 算法分析
  
  3.5 實驗結果及分析
  
  3.6 本章小結
  
  第 4 章 基于流程控制匹配的自動評分算法
  
  4.1 流程控制結構圖
  
  4.1.1 流程控制結構劃分
  
  4.1.2 流程控制結構劃分細節說明
  
  4.1.3 結構依賴關系劃分
  
  4.1.4 結構依賴關系劃分說明
  
  4.2 程序流程控制結構圖
  
  4.2.1 代碼預處理
  
  4.2.2 自定義函數分析
  
  4.2.3 生成流程控制結構圖算法
  
  4.3 程序流程控制結構圖匹配算法
  
  4.3.1 匹配單位元素定義
  
  4.3.2 程序代碼自動評分算法
  
  4.3.3 算法分析
  
  4.4 實驗結果及分析
  
  4.5 本章小結
  
  第 5 章 基于最小子程序匹配的自動評分算法
  
  5.1 子程序的概述
  
  5.1.1 子程序的定義
  
  5.1.2 定義基本語句單元
  
  5.2 基于結構樹的程序中間表示
  
  5.2.1 代碼預處理
  
  5.2.2 結構樹定義
  
  5.2.3 生成樹狀圖算法
  
  5.3 最小子程序匹配評分算法
  
  5.3.1 劃分最小粒度子程序
  
  5.3.2 子程序匹配描述
  
  5.3.3 子程序匹配的自動評分算法
  
  5.3.4 算法分析
  
  5.4 實驗結果及分析
  
  5.5 本章小結
  
  第 6 章 總結與展望
  
  6.1 結論
  
  6.2 展望
  
  參考文獻
  
  致謝
  
  五、組織安排
  
  整個論文包含個章節,整體組織結構如下所示:
  
  第一章緒論,根據研讀的國內外文獻簡要描敘一下本文所研究主題的背景、意義,然后介紹國內外相關研究方法及成果,以及自己研究的內容簡介。
  
  第二章介紹了完成本文實驗的相關理論知識:正則表達式的應用、編譯原理技術、程序與圖的關系、C語言編碼特性、多樣性等。
  
  第三章介紹程序查重算法動態求解最長公共子序列。
  
  第四章介紹了基于流程控制匹配的自動評分算法第五章介紹了基于最小子程序匹配的自動評分算法。
  
  第六章總結了整個算法實現過程中主要工作,分析優缺點,并對后續的工作進行展望。
  
  六、進度安排
  
  20XX年11月01日-11月07日 論文選題、
  
  20XX年11月08日-11月20日 初步收集畢業論文相關材料,填寫《任務書》
  
  20XX年11月26日-11月30日 進一步熟悉畢業論文資料,撰寫開題報告
  
  20XX年12月10日-12月19日 確定并上交開題報告
  
  20XX年01月04日-02月15日 完成畢業論文初稿,上交指導老師
  
  20XX年02月16日-02月20日 完成論文修改工作
  
  20XX年02月21日-03月20日 定稿、打印、裝訂
  
  20XX年03月21日-04月10日 論文答辯
  
  七、參考文獻
  
  [1]王甜甜。結構語義相似的程序識別方法研究[D].哈爾濱工業大學, 2009.
  [2]Gupta  S,  Dubey  S  K.  Automatic  Assessment  of  Programming  assignment[J].  ComputerScience & Engineering, 2012, 2(1)。
  [3]劉月霞,牛志堯,吳寧。面向大規模在線開放課程的編程題多特征綜合自動評分方法[J].西安交通大學學報, 2016, 50(10):64-70.
  [4]Jacobi  R  P,  Ayalarincón M, Carvalho  L G, et al.  Reconfigurable  systems  for  sequencealignment and for general dynamic programming.[J]. Genetics & Molecular Research Gmr,2005, 4(3):543.
  [5]Guo P, Deng Y W, Zhang H Y. A CAPTCHA Image Recognition Algorithm Based on EditDistance[J]. Key Engineering Materials, 2011, 474-476:2203-2207.
  [6]Al-Anzi F S, Abuzeina D. Toward an  enhanced  Arabic  text  classification using  cosinesimilarity and Latent Semantic Indexing[J]. Journal of King Saud University - Computer andInformation Sciences, 2016.
  [7]Ducasse S, phane, Rieger M, et al. A language independent approach for detecting duplicatedcode. In: ICSM[J]. 2000:109--118.
  [8]Roy C K,  Cordy J R.  NICAD: Accurate  Detection of  Near-Miss  Intentional  Clones  UsingFlexible Pretty-Printing and Code Normalization[C]// The, IEEE International Conference onProgram Comprehension. IEEE Computer Society, 2008:172-181.
  [9]Baker B S. On finding duplication and near-duplication in large software systems[C]//Reverse Engineering,1995. Proceedings of, Working Conference on. IEEE, 1995:86-95.
  [10]Baker B S. Parameterized Duplication in Strings: Algorithms and an Application to SoftwareMaintenance[J]. Siam Journal on Computing, 1997, 26(5):1343-1362.
  [11]Juergens E, Deissenboeck F, Hummel B. Clone Detective - A workbench for clone detectionresearch[C]// IEEE, International Conference on Software En
  [12]Higo Y, Kamiya T, Kusumoto S, et al. Method and implementation for investigating codeclones in a software system[J]. Information  & Software Technology, 2007,49(9–10):985-998.
  [13]Livieri S, Higo Y, Matushita M, et al. Very-Large Scale Code Clone Analysis and Visualization of Open Source Programs Using  Distributed CCFinder:D-CCFinder[C]//International Conference on Software Engineering. IEEE, 2007:106-115.
附件下載:
    相近分類:畢業論文開題報告