freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

5_習(xí)題課_程序流程控制(已修改)

2025-03-17 05:22 本頁(yè)面
 

【正文】 第 2 頁(yè) 流程控制語(yǔ)句習(xí)題課 ?本習(xí)題課的目的 ◆ 通過程序復(fù)習(xí)基本語(yǔ)句 ◆ 進(jìn)行編程練習(xí) ◆ 通過例題開闊思路 ◆ 介紹程序設(shè)計(jì)的基本思想 ?窮舉法的基本思路和關(guān)鍵 ?輸出 簡(jiǎn)單圖形 第 3 頁(yè) 程序設(shè)計(jì)的一般步驟 1. 分析題意,明確問題的性質(zhì) ◆ 數(shù)值計(jì)算 /事務(wù)處理 /邏輯分析 /等 2. 建立問題的描述模型 ◆ 數(shù)學(xué)模型 /過程模型 3. 設(shè)計(jì) /確定算法 ◆ 數(shù)學(xué)問題:分析解 /數(shù)值解的求解算法 ◆ 非數(shù)學(xué)問題: ?數(shù)據(jù)結(jié)構(gòu) /算法分析與設(shè)計(jì) ?一般方法:窮舉 /遞推 /遞歸 /分治 /回溯 /…... 4. 編程調(diào)試 5. 分析運(yùn)行結(jié)果,如有必要,進(jìn)一步優(yōu)化 第 4 頁(yè) 典型數(shù)值問題 例 1 ? 例 1:怎樣存錢獲利最多 銀行定期存款:假設(shè)不同期限的月息利率分別為: % 期限 = 一年 % 期限 = 二年 % 期限 = 三年 % 期限 = 五年 % 期限 = 八年 利息=本金月息利率 12存款年限 現(xiàn)在某人手中有 2023 元,請(qǐng)通過計(jì)算選擇一種存錢方案,使得錢存入銀行 20 年后得到的利息最多(假定銀行對(duì)超過存款期限的那部分時(shí)間不付利息)。 第 5 頁(yè) 典型數(shù)值問題 例 1 ? 問題分析與算法設(shè)計(jì) 為了得到最多的利息,存入銀行的錢應(yīng)在到期時(shí)馬上轉(zhuǎn)存。由于存款的利率不同,所以不同的存款方法(年限組合)得到的利息也是不一樣的。 ? 設(shè) 2023 元存 20 年,其中 1年存 i1 次, 2年存 i2 次, 3年存 i3 次, 5年存 i5 次, 8年存 i8 次,則到期時(shí)應(yīng)得的本利合計(jì): 2023*(1+r1)i1*(1+r2)i2*(1+r3)i3*(1+r5)i5*(1+r8)i8 ? 根據(jù)題意還可得到以下限制條件: 0 = i8 = 20/8 0 = i5 = (208*i8)/5 0 = i3 = (208*i85*i5)/3 0 = i2 = (208*i85*i53*i3)/2 0 = i1 = 208*i85*i53*i32*i2 ? 可用窮舉所有的 i i i i2和 i1的組合。 第 6 頁(yè) 典型數(shù)值問題 例 1 include main( ) { int i8,i5,i3,i2,i1,n8,n5, n3,n2,n1。 float max=0, term。 for (i8=0。 i8=20/8。 i8++ ) /* 窮舉全部可能的存款方式 */ for ( i5=0。 i5=(208*i8)/5。 i5++ ) for ( i3=0。 i3=(208*i85*i5)/3。 i3++ ) for ( i2=0。 i2=(208*i85*i53*i3)/2。 i2++ ) { i1 = 208*i85*i53*i32*i2。 term= * pow(1+*12,(double)i1) * pow(1+*12,(double)i2) * pow(1+*12,(double)i3) * pow(1+*12,(double)i5) * pow(1+*12,(double)i8)。 if ( termmax ) { /* 記錄可能的年限組合 */ max=term。 n1=i1。 n2=i2。 n3=i3。 n5=i5。 n8=i8。 } } printf(%d, %d,%d,%d,%d\n, n8, n5, n3, n2, n1)。 printf(Total: %.2f\n, max)。 } 第 7 頁(yè) 典型數(shù)值問題 例 2 ? 例 1: 從鍵盤上任意輸入一個(gè)正整數(shù),要求判斷該正整數(shù)是否是另一個(gè)整數(shù)的平方。 ? 問題分析與算法設(shè)計(jì) 設(shè):輸入的正整數(shù)為 i,若 i 滿足: i==m*m (整數(shù) m 0) 則 i 為整數(shù)的平方。 可以采用試探的方法 : 令 m 從 1開始逐步增加進(jìn)行試探。 m*m i ? m=m+1 成立 不成立 輸入一個(gè)整數(shù) i 輸出 m 和 i 開始 結(jié)束 設(shè)試探初值 m = 1 m*m == i ? 成立 不成立 第 8 頁(yè) 典型數(shù)值問題 例 2 scanf (”%d”, i)。 m=0。 while ( m*mi ) { m++。 } if ( m*m==i ) printf(”%d%d”,m,i)。 m*m i ? m=m+1 成立 不成立 輸入一個(gè)整數(shù) i 輸出 m 和 i 開始 結(jié)束 設(shè)試探初值 m = 1 m*m == i ? 成立 不成立 { int i, m。 } 第 9 頁(yè) 典型數(shù)值問題 例 2 include ” ” int main ( ) { int i, m。 scanf(” %d” , i)。 m=1。 while ( m*mi ) m++。 if ( m*m==i ) printf (“ %d*%d=%d\n” ,m,m,i)。 return 0。 } for ( m=1。 m*mi。 m++) ; 如果采用 for 語(yǔ)句該如何修改? 表達(dá)式 1 表達(dá)式 2 表達(dá)式 3 for 語(yǔ)句的 循環(huán)體 是什么? 循環(huán)體為空語(yǔ)句 第 10 頁(yè) 典型數(shù)值問題 例 3 ? 例 3:某地,車牌 4位數(shù)字,首位非 交通規(guī)則逃逸。現(xiàn)場(chǎng) 3人目擊但都沒有記住車號(hào),只記得一些特征。甲說(shuō):牌照的 前兩位數(shù)字是相同的 ;乙說(shuō):牌照的 后兩位數(shù)字是相同的 ,但 與前兩位不同 ;丙是位數(shù)學(xué)家,他說(shuō): 四位的車號(hào)剛好是一個(gè)整數(shù)的平方 。請(qǐng)根據(jù)以上線索嘗試找出車號(hào)。 ? 問題分析與算法設(shè)計(jì) 按照題目的要求造出一個(gè)前兩位數(shù) (i)相同、后兩位數(shù) (j)相同且相互間又不同的整數(shù)。 0 i =9 0 = j =9 i != j (1000+100)*i+(10+1)*j = m*m ( m為整數(shù) =31) 第 11 頁(yè) 典型數(shù)值問題 例 3 0 i =9 0 = j =9 i != j 1100*i+11*j = m*m ( m為整數(shù) =31) i = 9 ? j = 0 成立 不成立 i = 1 k = 1100*i + 11*j i != j ? 成立 不成立 k是平方 ? 成立 不成立 輸出: k, i, j j++ j = 9 ? 成立 不成立 i++ 結(jié)束 for ( i=1。 i=9。 i++ ) { } for ( j=0。 j=9。 j++ ) { } if ( i != j ) { } k=1100*i+11*j。 判斷 k是否平方 。 第 12 頁(yè) 典型數(shù)值問題 例 3 include ” void main( ) {int i, j, k, m。 for (i=1。 i=9。 i++ ) /* i:車號(hào)前二位的取值 */ for (j=0。 j=9。 j++ ) /* j:車號(hào)后二位的取值 */ if ( i!=j ) { /* 判斷兩位數(shù)字是否相異 */ k = i*1100+j*11。 for ( m=31。 m*mk。 m++ ) /* 31*31=961 */ ; /* 判斷是否為整數(shù)的平方 */ if ( m*m == k ) printf(Lorry_No. is %d.\n, k)。 } } ? 運(yùn)行結(jié)果: Lorry_No. is 7744. 第 13 頁(yè) 典型數(shù)值問題 例 4IQ游戲 ? 設(shè)有一個(gè)數(shù) X,當(dāng) X 加上 100后得到的數(shù) Y 是一個(gè)正整數(shù)的平方,然后用 Y 再加上 68,又是另外一個(gè)正整數(shù)的平方,你能算出 X 為多少嗎 ? ? 問題分析與算法設(shè)計(jì) 根據(jù)題目直接列方程: y = x + 100 y = m * m ① y + 68 = n * n ② 取值范圍: x0; nm10的整數(shù) 采用窮舉法求解。 第 14 頁(yè) 典型數(shù)值問題 例 4IQ游戲 void main ( ) { int x, y, m, flag。 /* flag:標(biāo)志變量 */ for ( x=0,flag=1。 flag 。 x++ ) /* 窮舉 x */ { y = 100+x。 /* 計(jì)算 y */ for ( m=1。 m*m y。 m++ ) 。 if ( m*m == y )/* 判斷 y是否為一個(gè)數(shù)的平方 */ { for ( 。 m*m y+68。 m++ ) 。 if ( m*m == y+68 ) /* 判斷 y+68 */ { printf(%d\n, x)。 flag = 0。 /* flag置 0,結(jié)束循環(huán) */ } } } } 例 200IQ 第 15 頁(yè) 典型數(shù)值問題 例 4IQ游戲 1 void main ( ) { int y, m, flag。 /* flag:標(biāo)志變量 */ for ( y=101,flag=1。 flag。 y++ ) /* 窮舉 y */ { for ( m=1。 m*m y。 m++ ) 。 if ( m*m == y )/* 判斷 y是否為一個(gè)數(shù)的平方 */ { for ( 。 m*m y+68。 m++ ) 。 if ( m*m == y+68 ) /* 判斷 y+68 */ { printf(” %d\n” , y100)。 flag = 0。 /* flag置 0,結(jié)束循環(huán) */ } } } } 例 200IQ1 第 16 頁(yè) 典型數(shù)值問題 例 4IQ游戲 2 include void main ( ) { int m, n, flag。 /* flag:標(biāo)志變量 */ for ( m=10,flag=1。 flag。 m++ ) { /* 通過窮舉 m,直接構(gòu)造平方數(shù) y */ for ( n=1。 n*n m*m+68。 n++ ) 。 /* 判斷 m*m+68 是否為平方數(shù) */ if ( n*n == m*m+68 ) { printf(” %d\n” , m*m100)。 flag = 0。 /* flag置 0,結(jié)束循環(huán) */ } } } 例 200IQ2 第 19 頁(yè) 典型數(shù)值問題 例 6 ? 例 4: 百錢百雞問題。 中國(guó)古代數(shù)學(xué)家張丘建在他的《算經(jīng)》中提出了著名的“百錢百雞問題”:雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一;百錢買百雞,翁、母、雛各幾何 ? ? 問題分析與算法設(shè)計(jì) 設(shè):要買 x只公雞, y只母雞, z只小雞,可得到方程 : x+y+z=100 ① 5x+3y+z/3=100 ② 取值范圍: 0 = x、 y、 z = 100 可以采用窮舉法求解。 將變量 x、 y、 z 的所有取值可能代入方程進(jìn)行計(jì)算 第 20 頁(yè) 典型數(shù)值問題 例 6 ? 窮舉法基本思路 當(dāng) x=0,y=0,z=0時(shí):是否滿足方程 z=1時(shí):是否滿足方程 z=2時(shí):是否滿
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1