• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 60  文章 - 5  trackbacks - 0
            <2011年10月>
            2526272829301
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            常用鏈接

            留言簿(2)

            隨筆分類(42)

            隨筆檔案(60)

            文章檔案(2)

            我收藏的博客

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            原文:http://www.cprogramming.com/tutorial/thinking.html
            很多人通過Email問我,怎樣開始寫一個程序。也許最好的建議非常簡單,把程序的步驟寫下來:一旦你開始把想法或者代碼寫下來后,你就會對你的項目有一些感覺了。通常程序設計有兩種通用的做法:從上到下的方式和從下到上的方式。
            A lot of people email me asking the way to start some program or another. Perhaps the best advice is simply to start writing down a layout for the program: once you start writing down ideas or code you'll start to get a feel for your project. There are two standard methods of program design: the top-down approach and the bottom-up approach. Top-down programming involves writing code that calls functions you haven't defined and working through the general algorithm before writing the functions that do the processing. Top-down programming is, to a good degree, a very abstract way of writing code because it starts out by using functions you haven't designed, and that you perhaps do not know how to design. The bottom-up approach to programming is the opposite: the programmer writes the basic functions she realizes will be necessary at some point in the programming and then work up to the more complex parts of the program.

            比較有意思的是,那兩種方法都是關注程序中要執行的動作或方法,而不是關注程序要處理的數據。很多時候,寫程序最好的方法是,寫出你將要用到或處理的數據,然后再從上到下的想怎么樣去處理這些數據,最后才能得到你需要的結果。首先定義數據,然后再寫出那些要處理這些數據的相關的函數。,這樣你才會得到你的程序應該怎樣寫的基本思路,
            It's interesting that both of these approaches focus on the actions of the program rather than the objects the program manipulates - variables. Many times, the best way to write a program is to figure out the variables you need to work with and then progress with a top-down approach to the program that manipulates those variables. By defining variables first and then working with functions that work on them, you will always maintain a basic foundation of what your program should be doing. Once you have an idea of what variables you will be using, then you can write functions to perform the operations you need to perform on the variables while maintaining sight of the goal. Finally you can write the code for each individual function.

            Another value to defining variables before writing code is that many times you can accomplish an entire program without many functions; this fact is especially true when you are a beginner making simple programs. The variables give you the raw materials you need to begin working with the tools: loops, if statements, library functions, and perhaps user defined functions.


            現在讓我們來看一個關于怎樣開始寫一個完整程序的例子。假設你要寫的程序是要模擬一個DVD商店的租售系統,這個系統需要計算出出租DVD的總收入。你的程序有可能要求,需要輸入一個代碼,告訴你這個DVD租售的價格是2元一天還是是3元一天,然后還需要它出租了多少天,最后如果這個輸入的代碼是0,整個程序就結束了。你應該要分別計算出租金為3元/天和2元/天的DVD的出租的總天數。拿這個程序來說,思考設計程序的最好的方式是,想象為了計算出租金的收入,你需要存儲哪些信息:

             

            • 你需要一個變量用來存儲總收入,當程序結束時;
            • 你需要一個臨時變量用來存儲代表DVD的租金的代號;
            • 你需要一個臨時變量用來存儲某個DVD出租的天數;
            • 你需要一個變量來存儲租金為3元/天的所有DVD出租了多少天的總數;
            • 最后,你還需要一個變量來存儲租金為2元/天的所有DVD出租了多少天的總數;

             

            Let's take a look at an example of how to go about thinking about a program. If you were to write a program to simulate a video store rental system that calculates the gross revenue from rentals, you might be asked to write a program that accepts a code telling you whether a certain video was rented at $2.00 (input as 2) a day or $3.00 (input as 3) a day and then asks for how many days it was rented out for; finally, if the code for the cost of rental is 0 the program should terminate. You should also count the number of days videos were rented at $3.00 per day and $2.00 per day. The best way to think about the design for a program such as this one is to imagine what information you need to store in order to calculate the revenue:

            • you need a variable to store the total dollar amount at the end of the program;
            • you need a temporary variable to store the code for the cost of a transaction;
            • you need a temporary variable to store the number of days a specific video was rented;
            • you need a variable to store the number of days each video was rented;
            • you need a variable to count the total number of days $3.00 videos were rented;
            • finally, you need a variable to count the total number of days $2.00 videos were rented.

            一旦你認識到你需要這些數據,那么你就很容易想出如何處理這些數據:比如,你知道租金2元/天的DVD的總收入=所有租金為2元/天DVD的出租天數之和*2;類似的也可以計算出租金3元/天的DVD的總收入。你也會理解這個“代表DVD的租金的代號”,這個變量的用處是,當用戶輸入某個DVD出租的天數時,決定哪個變量會被操作。在你的程序中你需要一個循環結構。


            Once you realize you need these variables, you can easily imagine how to translate them in terms of each other: for example, you know the total amount of revenue is the number of days videos at $2.00 were rented times $2.00; in similar fashion, you know the relationship for $3.00 a day videos. You should understand that the transaction 'code' determines which variables are manipulated when the user inputs the number of days a specific video was rented (for example, whether to add to the count of days for $2.00 videos or $3.00 videos). You'll probably need a loop in your program (although you can't necessarily infer this from the variables).

             

            程序的代碼有可能會像下面那樣:

            The code might look as follows:

             1 
             3 int main()
             4 {
             5   int total_dollars = 0;
             6   int total_days_at_3_dollars = 0;
             7   int total_days_at_2_dollars = 0;
             8   int transaction_code = 0;
             9   int days_for_one_video = 0;
            10   do
            11   {
            12     if(transaction_code==2)
            13       total_days_at_2_dollars+=days_for_one_video;
            14     if(transaction_code==3)
            15       total_days_at_3_dollars+=days_for_one_video;
            16     cout<<"Please enter a transaction code and number of days a video was rented: ";
            17     cin>>transaction_code>>days_for_one_video;
            18   }while(transaction_code!=0)
            19   return 0;
            20 }

            我希望,你現在已經有了一個基本的思路,在寫代碼之前,應該如何安排你的程序的結構。

            Hopefully, you now have a basic idea of how to lay out your program structure in your mind before you begin to write code.

             

            posted on 2011-10-19 11:00 黃劍父 閱讀(1891) 評論(0)  編輯 收藏 引用 所屬分類: 編程學院
            久久天天躁狠狠躁夜夜avapp| 久久国产亚洲精品麻豆| 国产69精品久久久久99尤物| 77777亚洲午夜久久多喷| 久久久久亚洲精品中文字幕| 精品久久久久久久中文字幕 | 伊色综合久久之综合久久| 一本大道久久香蕉成人网| 欧洲精品久久久av无码电影| 国产成人精品久久亚洲高清不卡 | 一级女性全黄久久生活片免费| 欧美噜噜久久久XXX| 中文字幕无码久久人妻| 91精品国产91久久久久久青草| 国产69精品久久久久9999APGF| 欧美亚洲另类久久综合| 久久综合国产乱子伦精品免费| 久久精品无码一区二区日韩AV| 国产Av激情久久无码天堂| 亚洲人成精品久久久久| 久久久久亚洲精品无码网址 | 狠狠久久综合伊人不卡| 久久久久亚洲精品天堂| 国产精品久久久久久久人人看| 品成人欧美大片久久国产欧美...| 久久精品aⅴ无码中文字字幕重口| 热99RE久久精品这里都是精品免费 | 一本大道久久香蕉成人网| 久久国产精品无码网站| 香蕉久久一区二区不卡无毒影院 | 九九久久精品无码专区| 国产精品久久久久影院色| 婷婷久久香蕉五月综合加勒比| 18禁黄久久久AAA片| 久久夜色精品国产亚洲| 久久亚洲国产成人影院| 久久中文字幕精品| 久久久久se色偷偷亚洲精品av| 精品国产日韩久久亚洲| 久久中文字幕人妻丝袜| 久久99精品久久久久久久久久|