基于記錄的應用程式設計
一.問題描述:撰寫一個應用程式實作程式化教學,程式必須完成以 下功能:
? 向學生提問題;
? 從學生處獲得答案;
? 根據學生的答案繼續選擇下一個問題。
二.在該應用程式的概要設計中,從以下幾個方面進行考慮:
? 如何在你的程式中表示程式化教學課程所需的資訊?在設計階段,需要開發一個合適的資料結構,它可以是記錄和陣列的結合。
? 課程的資料檔案的格式是怎樣的?(資料檔案由所教授課程的老師編輯操作而非程式員)
? 如何將資料檔案使用的外部表示轉換為內部表示?
? 如何撰寫程式對資料庫進行操作?
三.問題的框架:
程式運行的基本操作步驟如下:
? 提出當前的問題:一個問題可以有一行或多行文本組成,這些文本可以用字串表示;
? 從學生處獲取答案:答案也可以由字串表示。
? 查看為該問題準備的一系列答案:如果學生的答案在上述答案中列出,則參考資料結構來選擇新的問題。如果學生的答案與提供的答案不符,則告知學生結果并提供另一次機會回答問題。
四.資料的表示
為使該應用程式擁有較好的可移植性,關于某門課程的所有資訊必須存入一個資料檔案中,而不是直接將它們寫入程式。程式的任務是讀取資料檔案,在內部資料結構中存盤資訊并處理該結構。設計資料結構的程序包括兩個步驟:
? 首先,需要設計一個供程式使用的內部結構。內部資料結構由自定義結構體型別定義組成,其中結合了陣列和記錄,因而可以反映真實世界中資訊的組成方式。
? 其次,需要設計能夠反映資料檔案中資訊如何存盤的外部結構。
這兩個步驟是緊密關聯的,主要是因為他們表示同樣的資訊。但是這兩種結構是為了不同目的而設計的,內部結構應便于程式員使用,而外部結構需要為課程設計者服務,不會在程式操作方面遇到太多困難。
(一) 設計內部表示
先設計一個包含了必需資訊的資料結構,用自頂向下的方法從最高層的結構開始設計,再逐漸增加細節并完善。資料庫的設計中有一個重要概念—封裝:將相關的資訊結合起來放入結構中,并作為整體處理。對于一個大型資料庫來說封裝的程序是有層次的,且必須在每一個層次上考慮細節。在最高層,需要將整個資料庫作為一個變數考慮,它包含了所需的全部資訊。如下圖所示,將資料庫表示為指向某結構的指標,該結構的內容留待后面考慮。當你需要將整個資料庫傳遞給函式時,你只需傳遞變數db即可,這是一個易于操作的指標,利用它可以訪問其他資料,只有當函式需要對資料庫中個別成員進行操作時,才需要查看結構中的細節。
uj5u.com熱心網友回復:
這個。。。考試題還是作業啊。。。
uj5u.com熱心網友回復:
這個也曾經是我想做的一個專案,一個答題專案,當時想做成跨平臺的,因為資料顯示控制元件要跨平臺的話很難選擇與維護,所以當時擱置了,當時確定的最好的資料檔案是HTML檔案,文字、影像、表格、按鈕、輸入框、復選框等很全面,是不二的最佳選擇,如果僅要PC系統運行的話就很簡單了,程式可以直接和顯示控制元件WebBrowser或CppWebBrowser控制元件連接,撰寫和修改也很靈活,跨平臺的話理論上可行但技術上有困難。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/115926.html
標籤:基礎類
上一篇:求大神們幫個忙,本人新手,要從PC的超級終端編程得到方波,謝謝!
下一篇:在線等:菜鳥求大神將delph代碼轉bcb:type TFrameClass = class of TCustomInfoFrame;
