国产欧美日韩综合在线,亚洲一区二区视频在线观看,近親偷子亂伦ⅩⅩ99,综合国产精品2021

  • <mark id="lnu3d"><thead id="lnu3d"><input id="lnu3d"></input></thead></mark>
  • <output id="lnu3d"></output>

    <acronym id="lnu3d"></acronym>
    <sup id="lnu3d"><thead id="lnu3d"><input id="lnu3d"></input></thead></sup>
  • ? 首頁 ? 理論教育 ?程序設(shè)計的教學(xué)設(shè)計的分析介紹

    程序設(shè)計的教學(xué)設(shè)計的分析介紹

    時間:2024-11-13 理論教育 版權(quán)反饋
    【摘要】:+n)2.算法的邏輯分析上面的教學(xué)設(shè)計是仿制,要進(jìn)一步教會學(xué)生掌握程序設(shè)計中特有的一些邏輯思維方式。

    7.4.5 程序設(shè)計的教學(xué)設(shè)計

    程序設(shè)計的教學(xué)特別要注意漸近性原則,由淺入深,由仿制到獨創(chuàng),要特別鼓勵創(chuàng)新。

    1.框架式教學(xué)設(shè)計

    用例子將解決某類問題的程序講解之后,歸納其基本結(jié)構(gòu)框架,學(xué)生可以很容易地套用此框架解決同類問題。

    例如,累加器程序設(shè)計框架可分析歸納如下:

    累加器變量S=初值

    FOR I=1 TO N

    給定一個加數(shù)

    S=S+加數(shù)

    NEXT I

    輸出S

    用此框架可解決的一類問題示例:

    (1) S=1+2+3+…+1000

    (2) S=12+22+32+…+1002

    (3) S=21+22+…+263

    (4) 將鍵盤輸入若干數(shù)量加等等

    (5) 階乘程序

    (6) S= 1+(1+2)+(1+2+3)+ …+(1+2+3+ … +n)

    2.算法的邏輯分析

    上面的教學(xué)設(shè)計是仿制,要進(jìn)一步教會學(xué)生掌握程序設(shè)計中特有的一些邏輯思維方式。如累加的算法其核心是計算機程序中常用的遞推思維,將若干數(shù)的求和變成若干步的兩數(shù)相加,新和=前一次和+加數(shù),用數(shù)列形式,即 An=An-1+加數(shù)。

    (1)遞推算法

    許多問題的解決,都要用到遞推的算法。這類問題的特點是:①與自然數(shù)有關(guān),如斐波拉契數(shù)列問題;②有明顯的遞進(jìn)步驟。復(fù)利計算、增長率問題都可看成是在前一次的基礎(chǔ)上增加一個定比。字符方式的圖形也是一行一行的進(jìn)行。

    例:用字符“*”號構(gòu)成n行金字塔圖形打印。

    img41

    算法分析:用具休的N值為例講解,N=5。但要強調(diào)不能就此用5個PRINT語句來實現(xiàn)。而要向一行又一行遞推方式引導(dǎo)。實際圖形特點是由兩類字符構(gòu)成,左邊的空格和“*“。研究空格個數(shù)和“*”號個數(shù)與行數(shù)的關(guān)系式如下,

    img42

    (2)窮盡算法分析

    把可能出現(xiàn)問題的情況都考慮到,讓計算機逐一處理,這一邏輯方式也是計算機程序設(shè)計中常用的方式。例如求不定方程的整數(shù)解就常用此法。

    例:求X2 +Y2=19992的正整數(shù)解。

    算法分析:容易估計到0<X<1999,同0<Y<1999 因此正整數(shù)解包含于集合

    img43

    img44

    (3)漸近式算法分析

    從個例一步一步的算法分析,最后歸納到一般的算法。例如求N 個數(shù)A(1),A(2),……,A(N)的最大數(shù)M的算法分析,可以如下進(jìn)行:上式可演變?yōu)檠h(huán)方式:

    img45

    為發(fā)展能力,此問題還可以進(jìn)一步形象化和延伸。如把這個方法比喻為擂臺,還可以有標(biāo)志法,即記憶下標(biāo)值,還有直接交換法,即直接用A(1)、A(2)比較、不用變量M。

    (4)逐步求精算法分析

    逐步求精包含兩層意思:一是自項向下,逐漸細(xì)化的過程;二是由粗到精、由繁到簡的過程。

    例:打印出某畢業(yè)班學(xué)生成績總分在前三名的成績??杉俣ㄟ@些成績單存入A(1)、A(2)、、、、A(N)中了。

    第一層:找出前三名的成績打印出來

    第二層:找出第一名的成績= >M1

    找出第二名的成績單=>M2

    找出第三名的成績單=> M3

    打印出M1、M2、M3

    第四層:A(1)、A(2)、…A(N)中最大數(shù)的下標(biāo)=>K

    M1=A(K):A(K)= -1去除最大數(shù)

    A(1)、A(2)、…A(N)中最大數(shù)的下標(biāo)=>K

    M2=A(K):A(K)= -2

    A(1)A(2)、…A(N)中最大數(shù)的下標(biāo)=>K

    M3=A(K):A(K)= -3

    打印A1、M2、M3

    第五層:僅需細(xì)化A(1)、A(2)、…A(N)中最大數(shù)的下標(biāo)=>K即可。

    第六層:該算法中有三段是重復(fù)的程序段即第五層的程序,考慮精簡。精簡的方式可用子程序或?qū)⑷齻€比較歸一個循環(huán)。

    以上幾種算法、分析方式往往是結(jié)合進(jìn)行的。

    3.算法的評價

    包括正確性、可讀性、速度、存儲空間等評價算法。中學(xué)的算法應(yīng)著重在正確性和可讀性。

    例:將三個數(shù)A、B、C由大到小排序輸出。

    算法分析如下:

    第1種算法,窮舉列出六種情況

    img46

    第2種 算法

    img47

    因此上面六行將有12個判斷,其中有的是不必要的。

    img48

    這個算法減少了判斷,但增加了閱讀程序的困難。如果更看重算法的可讀性,第1種算法反而是更好的了。

    4.一些典型程序算法

    (1) 離散函數(shù)的極值問題

    例:已知矩形的周長是整數(shù)L,且長和寬也是整數(shù),求矩形面積最大時的長和寬?可用窮舉比較的方法

    設(shè)邊長為a和L-a,則 0<a<l,S=a(L-a)算法:S=0

    img49

    (2) 分類求和、統(tǒng)計問題。

    例:將學(xué)生考試成績分為五類統(tǒng)計每類的人數(shù)。分類如后:60分以下;60~69分;70~79分;80~89分;90~100分;

    (3) 增長率、復(fù)利等問題

    (4) 數(shù)列值和數(shù)列求和問題。

    (5) 數(shù)、表中數(shù)字、字符的查找問題。

    (6) 數(shù)列的排序問題。

    免責(zé)聲明:以上內(nèi)容源自網(wǎng)絡(luò),版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請告知,我們將盡快刪除相關(guān)內(nèi)容。

    我要反饋