編寫程式的程式怎樣編寫??

2006-11-24 4:01 am
編寫程式的程式怎樣編寫??
最初也要有一個編寫程式的程式才能編寫
哪麼第一個編寫程式的程式又是怎樣編寫??

回答 (3)

2006-11-24 4:05 am
✔ 最佳答案
目前較常聽到的大概就是C/C++跟Java了,當然,還能再細分,只不過這兩種我是覺得學了應該是挺實用的。

至於哪種程式語法比較好?不知道提文者是不是要問比較好學,基本上如果只是學個皮毛的話都不難,但是要學的深入的話,應該沒有一個是不難的吧,重點是書上的說明要儘可能搞懂,多逛逛網路上的討論區,有問題的話就發問或爬文,多看看別人程式是怎麼寫的,為什麼會這樣寫,再慢慢寫出自己的風格。

至於補習班我就不推薦了,因為都很花錢,去補個習大概可以買十本書了吧;要是買了十本書,加上夠努力的看網路上大家討論的文章的話,我覺得要學會基本程式撰寫應該不是難事才對。
寫程式並不難, 但是在寫之前必須先想清楚一些問題

1. 問題 (或 目標)是什麼 ? 使用者需求是什麼 ?
2. 處理這個問題的詳細步驟是什麼 ? 如果問題很複雜, 就把它分的更細更小部份來考慮 ?
3. 準備用什麼工具 (語言, 函數, 指令, 物件 ....) 來寫它. 詳細的去了解這個工具的使用規則.
4. 操作介面是什麼 ? 必須具有哪些功能 ?
5. 根據 3 與 4 把 2 給 功能化 模組化
6. 如何除錯

以上各點的重要性是由 1 至 5 依序遞減的, 但是如果要寫一只好的程式, 5 的重要性會大幅度的提高.

以下就各點依序說明

1. 問題 (或 目標)是什麼
這個問題很基本也很重要. 在思考這個問題時, 必須考慮清楚,
我 (使用者) 要的是什麼 ?
它的範圍有多大 ?
什麼是必須的 ? 什麼是可忽略的 ?
這些問題很重要, 因為他們會直接影響這個程式的複雜度與困難度

2. 處理這個問題的詳細步驟是什麼
如果有看過之前的幾篇文, 大概已經可以了解我的意思了.
就像解數學題目一樣, 問題的解決是有一定的步驟的.也像是去旅行一般, 它是有著一定的過程的.
就像是必須坐飛機或坐船才能到美國一樣, 我們不可能沒有輸入資料就要電腦算出結果.
試著先用手寫的方式把步驟一一描述下來
先不管你要用到的指令是什麼, 儘可能很詳細的去條列敘述它, 細到不能再細為止.
這個時候的每一個步驟都會只是一個簡單的小動作, 簡單到沒有額外的事要去考慮或處理.

3. 用什麼工具
你一定不會拿榔頭去開汽水瓶, 也一定不會用開罐器去釘釘子, 因為那是一件很蠢很痛苦的事.
工欲善其事, 必先利其器. 慎選你準備使用的工具, 好好的了解它熟習它, 你會發現其實這是一件很容易的事.
通常一個程式會寫不下去, 主要的原因有兩個, 一是對於程式語言不夠了解, 一是對於解決問題的步驟的解析還不夠細, 以至於找不到合適的指令或功能去解決它.
如果你要控制機台請選擇 PLC
如果涉及大量的計算或是複雜的資料, 就必須使用電腦.
使用電腦時最好用 VB VC 之類的高階語言.
寫簡單的小程式可以用 VB
高精確的計算必須用 Fortran
與資料庫有關的用 Delphi 最好
複雜的程式或作業系統, C/C++ 是不二選擇
但是也沒有必要一定要再去學新的程式語言, 除非是真的不得已.
吃西瓜的時候, 沒有刀子怎麼辦 ? 不一定真的大老遠跑去買把刀回來, 拿湯匙挖開來也是可以吃的.
解決問題的方法很多, 不必要太過執著, 更不要鑽牛角尖.
要從效率與投資報酬的觀點去考慮這個問題. 因為我們要的是解決問題, 不是使用工具.
要提醒一點的是, 這裡說的工具是很廣意的, 並不特別侷限於什麼.
例如我們的程式需要一個按鈕的功能, 可是我們不會或是沒時間寫, 我們可以上網去找別人寫好的回來用.
在使用工具之前務必要充分的熟習它的優點, 缺點與限制.

無論是學哪個語言, 一定要充分去使用它的除錯器, 它會引領我們對這個語言有更深入的了解.
最差的情況, 它也能協助我們很快的掌握住這個語言.

4. 操作介面
操作介面是指資料或訊息要輸入輸出的地方
這個部份對於電腦程式特別重要
因為電腦只是一個運算能力非常強大的黑盒子, 必須靠我們設計的操作介面電腦才知道要做什麼.

想清楚處理問題的詳細步驟後, 有需要人工介入或回應給人知道的就是要設計在操作介面上的東西了.
接下來, 如何把操作介面實現出來就純粹是技術問題了.
一般來說, 在設計操作介面時會多想到一些原本沒有考慮到的問題, 這個時候就必須針對這個部份再深入思考予以解決.
如此一來一往, 互相激盪之後, 程式會變得更加完善.

5. 功能化與模組化
功能化與模組化是一個好程式的必要條件也是其特色.
更重要的是, 它會使程式設計簡單化.
記得前面提過, 解析問題要化繁為簡, 一一細分, 各個擊破.
當我們這麼做的時候, 就已經把問題功能化與模組化了.
試著重新歸納整理一下, 使一個功能或模組能夠為相關的事情服務.
如此一來, 程式會變得更有條理, 更簡潔有力, 也更容易除錯與維護.
長久為之, 自然功力大增, 因為你看到的不再是程式, 而是一個個的功能模組.
而模組是可以套用到其他程式上的. 於是, 寫程式的速度也變快了.


6. 如何除錯
沒有經過除錯的軟體, 只是些佔去一大堆空間的廢物而已.
當程式寫好, 編譯完成後, 只是通過編譯器的檢查而已, 並不代表程式可以用了.
它隱藏著許多的問題在裡面, 特別是邏輯上的, 或是資料轉換上的問題.
這些有沒有的問題稱之為 Bug , 蟲, 有了蟲就會有麻煩, 麻煩是大家都不樂意見到的.
所以必須 Debug, 除錯. 然而既然生而為蟲, 當然是很會躲了.
他們往往躲在很隱蔽的角落, 趁我們不注意的時候, 偷偷的出來搗蛋一下.
這一下, 輕者執行結果不正確, 重者當機, 必須關機重開, 所以非除不可.

除錯時, 必須準備各種適當的資料, 去模擬各種可能發生的情況.
從各種角度去測試, 去攻擊這個軟體, 把這些蟲找出來, 然後一一的修正它.
這樣才能確保程式在絕大多數的情況下都能正常運作, 才是一個可用的軟體.

作為一個設計師, 他有義務去思考及解決所有可能發生的問題.
他必須把所有的變化都掌握在手裡, 並且預先安排好解決之道, 這樣才算得上是在做設計.
如果做不到這點, 就只能算是不入流的程式撰寫員, 只能幫人家打打下手而已.

看到這裡, 一定會覺得寫程式很累很麻煩. 這是事實.
但是當你有了足夠的經驗, 開始能夠把所有的問題掌握住, 讓電腦按照我們的意思運作, 甚至能夠為人所不能為時, 那種成就感也是筆墨所難以形容的.
2006-12-04 7:29 am
我想發問者是問全世界最早的第一篇program是甚麼及如何生成這一套language, 而不是如何寫程式
2006-11-24 6:55 am
編寫程式的程式是如何作的?

首先了解 CPU所能運算的方式. 舉 Intel為例. 運行於個人電腦上. 它所能解讀的機器碼. 亦即 [組合語言]Assembler. 使用 [組合語言]就能開發出編寫程式的程式. 當然, C++也可做相同的功能. 但別忘記. C++是組合語言所生成呢!


收錄日期: 2021-04-12 23:33:33
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20061123000051KK03637

檢視 Wayback Machine 備份