亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Visual Fox Pro結(jié)構(gòu)化程序設(shè)計(jì)應(yīng)用研究①

        2021-07-05 01:34:08曲芳秀
        關(guān)鍵詞:結(jié)構(gòu)

        曲芳秀

        (佳木斯市職業(yè)技術(shù)學(xué)校,黑龍江 佳木斯 154002)

        0 引 言

        結(jié)構(gòu)化程序設(shè)計(jì)的主要思想是把應(yīng)用程序分成幾個(gè)相對(duì)獨(dú)立的子模塊,用每個(gè)子模塊實(shí)現(xiàn)一個(gè)功能,然后將各個(gè)子模塊之間通過(guò)調(diào)用和傳遞把它們組合在一起,初學(xué)者學(xué)會(huì)編寫結(jié)構(gòu)化程序,對(duì)于編寫出高質(zhì)量的、面向?qū)ο蟮膽?yīng)用程序大有幫助。

        1 結(jié)構(gòu)化程序設(shè)計(jì)的組成

        順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)3種基本結(jié)構(gòu),它是程序設(shè)計(jì)的基礎(chǔ)。

        1.1 順序結(jié)構(gòu)

        它是最基本的程序結(jié)構(gòu),是按照命令或語(yǔ)句順序依次執(zhí)行,一直執(zhí)行程序中的每個(gè)命令或語(yǔ)句。

        1.2 選擇結(jié)構(gòu)

        是程序的3種基本結(jié)構(gòu)之一,初學(xué)者可以根據(jù)指定的條件,選擇執(zhí)行不同的程序分支,分為以下3種:

        (a)單分支選擇:提供一種選擇,指定的條件滿足,才能執(zhí)行此語(yǔ)句。

        (b)雙分支選擇: 提供兩種選擇,指定條件是否滿足,都執(zhí)行一種選擇,并且只能執(zhí)行一種。

        (c)多分支選擇:可以提供多種選擇,但是最多執(zhí)行其中一種。

        a、 單分支選擇結(jié)構(gòu)格式如圖1:

        IF<條件>

        <語(yǔ)句組>

        ENDIF

        圖1 單分支選擇結(jié)構(gòu)的流程圖

        說(shuō)明:在使用IF語(yǔ)句時(shí),其中IF是開始語(yǔ)句,而ENDIF是結(jié)束語(yǔ)句,因此它們必須成對(duì)使用,缺一不可。

        程序流程:首先判斷條件是不是滿足。如滿足,那么“條件”的值為.T.,就先執(zhí)行“語(yǔ)句組”后再執(zhí)行ENDIF后面的語(yǔ)句;反之,將不執(zhí)行“語(yǔ)句組”,直接執(zhí)行ENDIF后面的語(yǔ)句。

        引證:求一元二次方程A+BX+C=0的根X1,X2。

        Z=B∧2-4*A*C

        IF(Z>=0)

        X1=(-B+SQRT(Z))/(2*A)

        X2=(-B-SQRT(Z))/(2*A)

        ? X1,X2

        ENDIF

        b、 雙分支選擇結(jié)構(gòu)格式如圖2:

        IF<條件>

        <語(yǔ)句組1-ELSE>

        <語(yǔ)句組2>ENDIF

        圖2 雙分支選擇結(jié)構(gòu)的流程圖

        程序流程:首先判斷條件是不是滿足。如滿足,“條件”的值為.T.。那么就先執(zhí)行“語(yǔ)句組1”后再執(zhí)行ENDIF后面的語(yǔ)句;反之,我們就先執(zhí)行“語(yǔ)句組2”,然后再執(zhí)行ENDIF后面的語(yǔ)句。

        SET TALK OFF

        CLEAR

        INPUT”請(qǐng)輸入X的值:”TO X

        IF X>=0

        Y=2*X+1

        ELSE

        Y=2*X-1

        ENDIF

        ?”f(“+ALLTRIM(STR(X))+”)=”+ALLTRIM(STR(Y))

        SET TAKL ON RETURN

        C、多分支選擇結(jié)構(gòu)格式:

        DO CASE

        CASE<條件1>

        <語(yǔ)句組1>

        CASE<條件2>

        <語(yǔ)句組2>

        ……….

        CASE<條件n>

        <語(yǔ)句組n>

        [OTHERWISE語(yǔ)句組]

        ENDCASE

        說(shuō)明:DO CASE 是多分支選擇結(jié)構(gòu)開始的語(yǔ)句,ENDCASE是多分支語(yǔ)句結(jié)束的語(yǔ)句,它們必須成對(duì)使用,缺一不可。

        程序流程:首先來(lái)判斷第1個(gè)CASE后面的“條件1”是否得到滿足。如滿足,那么“條件1”的值為.T.,就先執(zhí)行“語(yǔ)句組1”,然后再執(zhí)行ENDCASE后面的語(yǔ)句;否則,我們繼續(xù)判斷第2個(gè)CASE后面的“條件2”,如滿足,就先執(zhí)行“語(yǔ)句組2”,然后再執(zhí)行ENDCASE后面的語(yǔ)句,一直進(jìn)行。直到所有CASE后面的條件都不滿足,這時(shí)如有OTHERWISE選項(xiàng)時(shí),我們就執(zhí)行其下面的“語(yǔ)句組”;如果沒有OTHERWISE選項(xiàng)時(shí),就執(zhí)行ENDCASE后面的語(yǔ)句如圖3所示。

        圖3 多分支選擇結(jié)構(gòu)的流程圖

        引證:f(x)是一個(gè)分段函數(shù),當(dāng)X小于-1或大于5時(shí),取f(x)=0;當(dāng)X大于等于-1或小于1時(shí),f(x)取2(x2)-X;當(dāng)X大于等于1或小于5時(shí),f(x)取X。

        Input”請(qǐng)輸入X值:” TO X

        DO CASE

        CASE X<-1

        f=0

        CASE x<1

        f=2*x*x-x

        CASE x<5

        f=x

        OTHERWISE

        f=0

        ENDCASE

        ? “”,f

        RETURN

        1.3 循環(huán)結(jié)構(gòu)

        循環(huán)結(jié)構(gòu):是按指定條件來(lái)重復(fù)的執(zhí)行某一個(gè)程序段,所以,循環(huán)結(jié)構(gòu)也稱為重復(fù)結(jié)構(gòu)。那么在循環(huán)結(jié)構(gòu)中,可以重復(fù)執(zhí)行的某一個(gè)程序段我們稱為循環(huán)體。

        Visual FoxPro 提供了3中循環(huán)結(jié)構(gòu):指定條件的循環(huán),針對(duì)記錄的循環(huán)和指定次數(shù)的循環(huán)。

        (1)指定條件的循環(huán)

        格式: DO WHILE<條件>

        <語(yǔ)句組>

        ENDDO

        如圖4所示。

        圖4 指定條件的循環(huán)結(jié)構(gòu)流程圖

        說(shuō)明:DO WHILE是循環(huán)的開始的語(yǔ)句,ENDDO是循環(huán)結(jié)束的語(yǔ)句,它們必須成對(duì)使用,缺一不可。

        程序流程:首先來(lái)判斷條件是否滿足。如不滿足,那么“條件”的值為.F.,將不執(zhí)行循環(huán)體中的語(yǔ)句,然后直接執(zhí)行ENDDO后面的語(yǔ)句;如滿足,那么“條件”的值為.T.,將執(zhí)行循環(huán)體的語(yǔ)句后,將返回DO WHILE處,然后再判斷條件是否滿足。繼續(xù)下去,一直到不滿足條件時(shí)結(jié)束循環(huán)為止。

        引證:計(jì)算1-10之間的整數(shù)和

        CLEAR

        S=0

        N=1

        DO WHILE N<=10

        S=S+N

        N=N+1

        ENDDO

        ? “S=”,S,”N=”,N

        RETURN

        (2)針對(duì)記錄的循環(huán)

        格式: SCAN[FOR條件]

        <語(yǔ)句組>

        ENDSCAN

        圖5 針對(duì)記錄的循環(huán)結(jié)構(gòu)流程圖

        圖6 指定次數(shù)的循環(huán)結(jié)構(gòu)流程圖

        說(shuō)明:SCNA 是循環(huán)開始的語(yǔ)句,ENDSCAN是循環(huán)結(jié)束的語(yǔ)句,它們必須成對(duì)出現(xiàn),缺一不可。 選擇“FOR條件”則對(duì)滿足條件的記錄執(zhí)行循環(huán)體的語(yǔ)句;若省略該選項(xiàng),則對(duì)所有記錄執(zhí)行循環(huán)體語(yǔ)句。其中“條件”是一個(gè)邏輯型表達(dá)式。

        程序流程:首先要檢查有沒有滿足條件的記錄。如沒有,那么就不執(zhí)行循環(huán)體中的語(yǔ)句,然后,直接執(zhí)行ENDSCAN后面的語(yǔ)句;如果有,那么就執(zhí)行循環(huán)體中的語(yǔ)句后,記錄指針將自動(dòng)移到下一條滿足條件的記錄上,然后再執(zhí)行循環(huán)體中的語(yǔ)句。繼續(xù)下去,一直到對(duì)所有滿足條件的記錄都執(zhí)行了循環(huán)體中的語(yǔ)句之后才能結(jié)束循環(huán),然后執(zhí)行ENDSCAN后面的語(yǔ)句。

        引證:逐個(gè)顯示“學(xué)籍”表中入學(xué)成績(jī)大于400的所有女生的姓名、性別和入學(xué)成績(jī)字段值

        CLEAR ALL

        USE 學(xué)籍

        SCAN FOR 入學(xué)成績(jī)>400

        IF 性別=”女”

        DISPLAY FIELDS 姓名,性別,入學(xué)成績(jī)

        ENDIF

        ENDSCAN

        USE

        RETURN

        (3)指定次數(shù)的循環(huán)

        格式: FOR<變量>=<初值>TO<終值>[STEP步長(zhǎng)]

        <語(yǔ)句組> 變量增值

        ENDFOR

        ENDFOR后面的語(yǔ)句

        說(shuō)明:FOR是循環(huán)語(yǔ)句的開始,ENDFOR是循環(huán)語(yǔ)句的結(jié)束,它們必須成對(duì)出現(xiàn),缺一不可。

        “語(yǔ)句組”是該循環(huán)的循環(huán)體,它由一組Visual FoxPro的命令組成?!白兞俊庇糜谥付ㄑh(huán)控制變量?!俺踔怠焙汀敖K值”都是數(shù)值型表達(dá)式?!安介L(zhǎng)”循環(huán)控制變量將按步長(zhǎng)增值;若省略該選項(xiàng),則循環(huán)控制變量增值1如圖6所示。

        程序流程:首先把“初值”賦給循環(huán)控制變量,之后來(lái)判斷循環(huán)條件是否滿足。如果循環(huán)控制變量的值小于或等于“終值”而且“步長(zhǎng)”是正數(shù)時(shí),或者循環(huán)控制變量的值大于或等于“終值“而且”步長(zhǎng)“是負(fù)數(shù)時(shí),認(rèn)為滿足循環(huán)的條件。然后就先執(zhí)行循環(huán)體的語(yǔ)句,再把循環(huán)控制變量按”步長(zhǎng)“增加值,然后再去判斷循環(huán)條件是否滿足。繼續(xù)下去,一直到循環(huán)條件不滿足時(shí)才能結(jié)束循環(huán),然后執(zhí)行ENDFOR后面的語(yǔ)句。

        引證:編程計(jì)算50-200之間的奇數(shù)和

        SET TALK OFF

        S=0

        FOR N=51 TO 200 STEP 2

        S=S+N

        ENDFOR

        ? “S=”,S,”N=”,N

        SET TALK ON

        2 結(jié) 語(yǔ)

        初學(xué)者在使用結(jié)構(gòu)化程序設(shè)計(jì)方法編寫程序時(shí),首先要仔細(xì)分析需要解決的問(wèn)題,然后找出解決問(wèn)題的方法,然后使用一組Visual FoxPro的命令實(shí)現(xiàn)操作步驟指定的功能,并且把這些命令按照一定的規(guī)則組織在程序文件中。實(shí)踐中證明了模塊化、自頂向下、逐步求精是解決復(fù)雜問(wèn)題的程序設(shè)計(jì)思想。按照結(jié)構(gòu)化程序設(shè)計(jì)方法,在進(jìn)行程序設(shè)計(jì)時(shí)由最上層開始,一層一層地往下確定,把大型程序逐層分解,每個(gè)子模塊完成一個(gè)相對(duì)簡(jiǎn)單的功能。再把實(shí)現(xiàn)子模塊功能的方法一步一步精確化,最終編寫出程序。

        猜你喜歡
        結(jié)構(gòu)
        DNA結(jié)構(gòu)的發(fā)現(xiàn)
        《形而上學(xué)》△卷的結(jié)構(gòu)和位置
        論結(jié)構(gòu)
        新型平衡塊結(jié)構(gòu)的應(yīng)用
        模具制造(2019年3期)2019-06-06 02:10:54
        循環(huán)結(jié)構(gòu)謹(jǐn)防“死循環(huán)”
        論《日出》的結(jié)構(gòu)
        縱向結(jié)構(gòu)
        縱向結(jié)構(gòu)
        我國(guó)社會(huì)結(jié)構(gòu)的重建
        人間(2015年21期)2015-03-11 15:23:21
        創(chuàng)新治理結(jié)構(gòu)促進(jìn)中小企業(yè)持續(xù)成長(zhǎng)
        亚洲码无人客一区二区三区| 国产午夜视频在线观看| 国产视频毛片| 免费观看成人稀缺视频在线播放| 精品一区二区三区婷婷| 国产成人cao在线| 婷婷综合久久中文字幕蜜桃三电影 | 97碰碰碰人妻无码视频| 爱情岛论坛亚洲品质自拍hd| 日本精品免费一区二区三区 | 天下第二社区在线视频| 久久99国产亚洲高清观看韩国| 国产一级做a爱视频在线| 亚洲AV无码乱码1区久久| 激情视频国产在线观看| 国产一区二区黄色录像| 少妇高潮尖叫黑人激情在线| 乱人伦人妻中文字幕无码| 日韩人妻一区二区中文字幕| 精品人妻中文av一区二区三区| 老太脱裤子让老头玩xxxxx| 精品人妻无码视频中文字幕一区二区三区| 强d乱码中文字幕熟女1000部| 激情五月我也去也色婷婷| 狼人香蕉香蕉在线28 - 百度| 精品乱子伦一区二区三区| 中文字幕人成乱码中文| 国产大屁股视频免费区| 日日噜噜噜夜夜爽爽狠狠| 亚洲大尺度动作在线观看一区 | 人妻少妇中文字幕久久hd高清| 国产无遮挡又黄又爽高潮| 国产 国语对白 露脸| 五码人妻少妇久久五码| 少妇激情一区二区三区99| 看全色黄大色大片免费久久| 精品国产91久久综合| 亚洲av高清不卡免费在线| 色婷婷五月综合久久| 香蕉视频一级| 人妻丰满精品一区二区|