![]() |
第二版的BASIC玩具程式WinBASIC交流
同樣是利用C++ Builder 6.0寫出來的程式(重寫),架構跟第一版是一樣的
只是加強了不少功能,由於這次是專注在克服前一版未能解決的問題,所以操作介面很簡略 裡面有四個範例給大家參考Test Code1.txt~Test Code4.txt 下面是連結 WinBASIC https://mega.nz/#!rN41nbxD!IRkxmC60L...sk1pNjvODQa0I8 CBBasic https://mega.nz/#!7MRz0QKT!e1mEn8_G8...nLAi4qQv2rUhxw |
要寫X譯器邏輯要很清晰
(魔王是直接在腦子裡設計的嗎? 這樣算是厲害腳色的了~) 如果是用在中小學的邏輯培養課程上 能針對 保留字標出不同色彩 會更好 |
引用:
當有初步構想時會先隨意設計出來(免得靈感消失) 然後邊玩邊思索如何改進不滿意的地方 就這樣慢慢進化到目前的模樣 程式碼用的是TMemo元件,此元件只能顯示正常文字 輸出結果是用TRich元件,此元件就可以使用rtf的格式 我對特殊標字沒什麼興趣,也沒這方面資料,有興趣的朋友,可以從LIST按鈕著手 LIST是將TMemo的內容顯示到TRich上,這時就可以順便處理 |
引用:
|
引用:
只是利用TRich的Findtext有些問題,詳細都寫在程式碼的remark 另外還加入了一些直覺式的結果,在資料夾內有一個Show time1.jpg的圖片 有稍微展示成果,下面是連結(上面連結也修正了) https://mega.nz/#!rN41nbxD!IRkxmC60L...sk1pNjvODQa0I8 接下來想要克服多重回圈的問題,所以還會再分享 |
多重迴圈 解析 語法
有可能會牽扯到 遞迴 與 推疊 前陣子研究一個排列組合法 當時就用到 遞迴函式 因為太久沒用過 害腦子混了好久才寫出來 之前是參考別人的多重迴圈 想說把它解析一下應該就可以 但結果就此陷入好幾天的邏輯錯亂 後來一直用跑除錯方式才改出來 結果 遞迴函式才沒幾行(簡簡單單的說) 一個簡單的經驗(設計概念)提供一下 1.函式開頭要有個結束條件 (必須放在開頭) 比如 If Lv=0 Then ... Exit Sub End If 2.再來接著的就是寫一個單一迴圈, 裡面有個呼叫自己的式子 比如 For i=a To N ... 呼叫自己() ... Next 3.重點是 呼叫自己()使用的引數 要清楚了解 那些必須是傳址 那些是傳值就好 (盡量避免用全域變數設計) 只要先把這三個要點先匡出來 邏輯就會簡單多了 |
引用:
等到程式寫好與原版仍有一段差距時,才會思考理論原理 這些理論,我真的沒想過,所以會思考看看,謝謝 |
感謝mini版主提供的設計經驗
藉由堆疊的概念小弟終於將迴圈寫出來了 而且成功的執行了九九乘法表的程式執行 下面連結,也做了不少的修正 https://mega.nz/#!7MRz0QKT!e1mEn8_G8...nLAi4qQv2rUhxw 執行九九乘法表是設計這個程式最終的挑戰目標(因為這是我學BASIC第一個寫的程式),所以程式就暫時告一個段落了 不過距離接近"BASIC"的功能仍遙不可及,未來有機會還是會繼續挑戰的 |
問個有點突兀的話
這個作品該怎麼玩 ?? |
引用:
或到「偵錯」,自行設計,或按「LOAD」載入檔案「test code1.txt」 功能都改在畫面下面 |
所有時間均為台北時間。現在的時間是 10:18 AM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *