<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      第2章 程序的靈魂-算法

       

          聲明:文中觀點(diǎn)僅代表個(gè)人,其中文字、圖片未經(jīng)本人許可,不得部分或全部轉(zhuǎn)載,違者所造成影響后后果自負(fù)!聯(lián)系本人方式:80368704@qq.com QQ:80368704

      前面的話:
             這是給幾個(gè)高中的興趣班講解譚浩強(qiáng)的《C程序設(shè)計(jì)》第三版的講義之節(jié)選,實(shí)際講解時(shí)使用了10個(gè)道具盒子演示計(jì)算過(guò)程。另外,例子的解釋選取了2.1、2.3、2.4這3個(gè)比較典型的,最后用譚浩強(qiáng)先生書上的幾個(gè)簡(jiǎn)單的例子給出了關(guān)于什么是結(jié)構(gòu)化的程序設(shè)計(jì)方法的解釋

      例2.1

      例2.3


      去掉了s2后,算法的功能保持不變哦!!!!!!!

      例2.4

       

       

       

       

       

       

          面向過(guò)程的結(jié)構(gòu)化程序設(shè)計(jì)的一般性解題方法:

          假想現(xiàn)在你是一個(gè)老師,希望讓你的小學(xué)學(xué)生為你完成一個(gè)題目的計(jì)算,但是, 并不想告訴他解決的是什么問(wèn)題,你,可以把題目分解成簡(jiǎn)單到只有+ - x / 步驟的命令表,讓他照表上的命令從頭到尾執(zhí)行完,把結(jié)果給你。這時(shí),他并不知道這個(gè)命令表的目的,但你的結(jié)果拿到了。。。。。,這就是程序設(shè)計(jì)。

          給編程序打個(gè)比方:
          一個(gè)只會(huì)加減乘除的小學(xué)生,現(xiàn)在你要讓他幫助你求某些數(shù)字的最大公約數(shù).
          有幾種辦法可選
          1.教會(huì)他求最大公約數(shù)的方法
          2.把求解方法分解成他現(xiàn)在就能馬上能計(jì)算的若干步,讓他按照步驟作,不用告他在求解什么,只要正確的按步驟求解出結(jié)果就可以了.

          顯然,方法2這個(gè)小學(xué)生更容易上手.

          對(duì)于機(jī)器而言,你只能選擇方法2,因此,在讓機(jī)器運(yùn)算以前,你必須對(duì)計(jì)算的每一步十分了解,并確保正確,因此,你必須首先具體到機(jī)器能理解的每一步,這也是學(xué)習(xí)程序設(shè)計(jì)方法的精髓所在.........

          電腦就是機(jī)器,它的智力并不能理解上面求某些數(shù)字的最大公約數(shù)的例子,同時(shí)也不會(huì)理解諸如: 給出一個(gè)百分制成績(jī),要求輸出成績(jī)等級(jí),A,B,C,D,E. 90以上為A,80-89為B,70-79為C,60-69為D,60以下為E的問(wèn)題。。。。。。,但是我們可以將求解的過(guò)程分解成它能理解并執(zhí)行的+、-、X、/、比大小等命令的列表,如何分解成這樣的列表呢?

         看一下下面給成績(jī)分級(jí)的例子,求解它的機(jī)器命令列表生成的全過(guò)程。

          例子: 給出一個(gè)百分制成績(jī)score,要求輸出成績(jī)等級(jí),A,B,C,D,E. 90以上為A,80-89為B,70-79為C,60-69為D,60以下為E.

       

          1、 好,現(xiàn)在,我給你一個(gè)分?jǐn)?shù)95 ,你能判斷的出他的成績(jī)等級(jí)嗎? 當(dāng)然 ,是A。

          2、 好,現(xiàn)在,我給你一個(gè)分?jǐn)?shù)85 ,你能判斷的出他的成績(jī)等級(jí)嗎? 當(dāng)然 ,是B。

          3、 好,現(xiàn)在,我給你任一個(gè)分?jǐn)?shù) ,你能判斷的出他的成績(jī)等級(jí),并寫在黑板上嗎? 當(dāng)然,那么,告訴我你是如何做的?

          你會(huì),這樣描述給我:

             設(shè),有一個(gè)分?jǐn)?shù)變量

               當(dāng)給定此變量一個(gè)百分制分?jǐn)?shù)時(shí)

               如果 分?jǐn)?shù)<=100 同時(shí) 分?jǐn)?shù)>=90 寫下 A

          否則 如果 分?jǐn)?shù)>=80 寫下 B

          否則 如果 分?jǐn)?shù)>=70 寫下 C

          否則 如果 分?jǐn)?shù)>=60 寫下 D

          否則 如果 分?jǐn)?shù)>=0 寫下 E

          否則 寫下 給錯(cuò)分?jǐn)?shù)了

          4、 好,現(xiàn)在把上面的這段話翻譯成英文:

              float score

              input a float data -----> score

              if score<=100 and score>=90 then write A

            else if score>=80 then write B

            else if score>=70 then write C

            else if score>=60 then write D

             else if score>=0 then write E

            else write down "input data Error!!!!!!!!!!!"

       

         這個(gè)時(shí)候的表達(dá),已經(jīng)很接近計(jì)算機(jī)可以理解的C程序了(畢竟計(jì)算機(jī)是起源于美國(guó),他能理解的東西更接近英語(yǔ))。

       

         5、由于計(jì)算機(jī)C語(yǔ)言的write是printf,因此繼續(xù)進(jìn)行語(yǔ)法規(guī)范如下:

                 float score;        /*設(shè)有一個(gè)變量score*/

                 scanf("%f",&score); /*給出一個(gè)百分制成績(jī)score的值*/

                 if (score<=100&&score>=90) printf("A");

                 else if (score>=80) printf("B");

                 else if (score>=70) printf("C");

                 else if (score>=60) printf("D");

                 else if (score>=60) printf("D");

              else if (score>=0) printf("E");

                 else printf("input data Error!!!!!!!!!!!");/* 輸入數(shù)據(jù)錯(cuò)誤>100或<0 */

       

         這個(gè)時(shí)候的表達(dá),已經(jīng)是計(jì)算機(jī)可以理解的C程序了。

         6、在加上計(jì)算機(jī)可理解的簡(jiǎn)單程序所須的格式:

          開(kāi)頭是: #include<stdio.h>
                   void main(){

          結(jié)尾是: }

          最終程序如下:

          #include<stdio.h>
          void main(){

                 float score;        /*設(shè)有一個(gè)變量score*/

                 scanf("%f",&score); /*給出一個(gè)百分制成績(jī)score的值*/

                 if (score<=100&&score>=90) printf("A");

                 else if (score>=80) printf("B");

                 else if (score>=70) printf("C");

                 else if (score>=60) printf("D");

                 else if (score>=60) printf("D");

              else if (score>=0) printf("E");

                 else printf("input data Error!!!!!!!!!!!");/* 輸入數(shù)據(jù)錯(cuò)誤>100或<0 */

       

       

           }

       

         最終的程序完成了,這就是計(jì)算機(jī)可以理解的命令列表-------程序,其中只含有計(jì)算機(jī)可以理解執(zhí)行的簡(jiǎn)單的命令。

      從上面可以得出計(jì)算機(jī)程序設(shè)計(jì)的一般性的編程解題方法:

         1、你自己先解題目,就象上面的1、2步

             這個(gè)步驟達(dá)到的目的是:讓你充分的了解題目,也就是對(duì)它的求解過(guò)程的全面接觸

         2、 記錄下你解決問(wèn)題的過(guò)程的每一步并整理,就象上例中的第3步最重要的步驟

             盡量只使用 + - x / 和比較大小以及所需數(shù)據(jù)的輸入和輸出命令。

             這個(gè)步驟達(dá)到了一個(gè)重要的目的:

             你寫下的解題步驟,交給任何一個(gè)識(shí)字并且會(huì)比大小的人,比如一個(gè)小學(xué)生,他不理解這些步驟的最終目的,但是只要嚴(yán)格按照步驟進(jìn)行,就能得出正確的最后結(jié)果。

         3、接下來(lái)的第4、5、6步,就是翻譯成英語(yǔ)和規(guī)范成C語(yǔ)言了。

         注意:綠色的大大的過(guò)程兩個(gè)字,傳達(dá)了一個(gè)信息,編制程序的出發(fā)點(diǎn)和目標(biāo)就是發(fā)現(xiàn)并記錄下你自己在解決問(wèn)題時(shí)采用的步驟的全部,即解決問(wèn)題的全過(guò)程,對(duì)編程序再次做一個(gè)簡(jiǎn)單的比喻:你見(jiàn)過(guò)擺骨牌的嗎?設(shè)定好全部前后順序,然后推倒第一個(gè)骨牌, 你就不用管了,剩下的事情它自己完成,編程序就象是從頭到尾擺骨牌。執(zhí)行程序就象是推倒第一個(gè)骨牌,而程序就象是骨牌倒下的全過(guò)程,結(jié)果就是最后呈現(xiàn)在你面前的骨牌圖案。計(jì)算機(jī)的智能是極其有限的,各種程序就是我們?nèi)说乃枷朐谟?jì)算機(jī)中的再現(xiàn),這種再現(xiàn)能指揮計(jì)算機(jī)工作。你的任務(wù)就是再現(xiàn)要完成的任務(wù)的全部過(guò)程。

           因此我們編制小型程序就是在尋找這個(gè)過(guò)程,找到了它,你的任務(wù)也就差不多完成了,這就叫面向過(guò)程

       

      posted @ 2009-03-25 11:49  .NET快速開(kāi)發(fā)框架  閱讀(390)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 天天做天天爱夜夜爽导航| 国产亚洲精品成人av在线| 亚洲熟妇色自偷自拍另类 | 97亚洲色欲色欲综合网| 国产精品制服丝袜无码| 国产999久久高清免费观看| 欧美成人午夜在线观看视频| 国产SM重味一区二区三区| 亚洲色欲色欱WWW在线| 阿坝县| 色综合热无码热国产| 人人妻人人插视频| 亚洲无人区视频在线观看| 四虎亚洲国产成人久久精品| 色婷婷亚洲精品综合影院| www国产成人免费观看视频| 免费久久人人爽人人爽AV| 精品在免费线中文字幕久久| 屁屁影院ccyy备用地址| 日本视频一区二区三区1| 国产精品午夜福利精品| 国产欧美日韩高清在线不卡| 成人亚洲a片v一区二区三区动漫| 国产AV无码专区亚洲AWWW| 亚洲精品国偷自产在线| 国产一区二区不卡91| 亚洲国产日韩一区三区| 亚洲AV无码不卡在线播放| 久久乐国产精品亚洲综合| 无码a∨高潮抽搐流白浆| 91精品国产综合蜜臀蜜臀| 婷婷色综合成人成人网小说| 大乳丰满人妻中文字幕日本| 日本欧美一区二区三区在线播放 | 亚洲成人免费一级av| 国产超碰无码最新上传| 国产精品视频亚洲二区| 国产亚洲精品久久久久秋霞| 午夜成人精品福利网站在线观看 | 少妇高潮水多太爽了动态图| 加勒比中文字幕无码一区|