2016年計(jì)算機(jī)二級公共基礎(chǔ)學(xué)習(xí)教程:結(jié)構(gòu)化程序設(shè)計(jì)

字號:


    (二)結(jié)構(gòu)化程序設(shè)計(jì)
    1.結(jié)構(gòu)化程序設(shè)計(jì)的原則
    結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則:自頂而下、逐步求精,模塊化,限制使用goto語句。
    1)自頂而下
    程序設(shè)計(jì)時,應(yīng)先考慮總體,后考慮細(xì)節(jié);先考慮全局,后考慮局部目標(biāo)。即先從最上層總目標(biāo)開始設(shè)計(jì),逐步使問題具體化。
    2)逐步求精
    對復(fù)雜問題,應(yīng)設(shè)計(jì)一些子目標(biāo)作為過渡,逐步細(xì)化。
    3)模塊化
    一個復(fù)雜問題,都是由若干個稍簡單的問題構(gòu)成的。模塊化即是將復(fù)雜問題進(jìn)行分解,即將解決問題的總目標(biāo)分解成若干個分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),把每一個小目標(biāo)稱作一個模塊。
    4)限制使用goto語句
    goto語句可以提高效率,但對程序的可讀性、維護(hù)性都造成影響,因此應(yīng)盡量不用goto語句。
    2.結(jié)構(gòu)化程序設(shè)計(jì)的基本結(jié)構(gòu)與特點(diǎn)
    結(jié)構(gòu)化程序設(shè)計(jì)是程序設(shè)計(jì)的先進(jìn)方法和工具,采用結(jié)構(gòu)化程序設(shè)計(jì)可以使程序結(jié)構(gòu)良好、易讀、易理解、易維護(hù)。
    1)順序結(jié)構(gòu)
    順序結(jié)構(gòu)即是順序執(zhí)行的結(jié)構(gòu),是按照程序語句行的自然順序,一條一條語句地執(zhí)行程序。
    2)選擇結(jié)構(gòu)
    選擇結(jié)構(gòu)又稱分支結(jié)構(gòu),它包括簡單選擇和多分支選擇結(jié)構(gòu)。程序的執(zhí)行是根據(jù)給定的條件,選擇相應(yīng)的分支來執(zhí)行。
    3)重復(fù)結(jié)構(gòu)
    重復(fù)結(jié)構(gòu)又稱循環(huán)結(jié)構(gòu),根據(jù)給定的條件,決定是否重復(fù)執(zhí)行某一相同的或類似的程序段。利用重復(fù)結(jié)構(gòu)可以大量簡化程序行。
    3.結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的應(yīng)用
    1.使用程序設(shè)計(jì)語言中的順序、選擇、循環(huán)等有限的控制結(jié)構(gòu)表示程序的控制邏輯;
    2.選用的控制結(jié)構(gòu)只允許有一個入口和一個出口;
    3.程序語句組成容易識別的塊,每塊只有一個入口和一個出口;
    4.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn);
    5.語言中所有沒有的控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬;
    6.嚴(yán)格控制goto語句的使用:
    (1)用一個非結(jié)構(gòu)化的程序設(shè)計(jì)語言去實(shí)現(xiàn)一個結(jié)構(gòu)化的構(gòu)造;
    (2)若不使用goto語句會使功能模糊;
    (3)在某種可以改善而不是損害程序可讀性的情況下。