1.2.2條件語句.ppt_第1頁
1.2.2條件語句.ppt_第2頁
1.2.2條件語句.ppt_第3頁
1.2.2條件語句.ppt_第4頁
1.2.2條件語句.ppt_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、-條件語句,輸入:x If x0 then Y=1 Else Y=0 End if 輸出 y,1.2 基本算法語句,問題提出,1.輸入語句、輸出語句和賦值語句的一般格式分別是什么?,輸入語句: INPUT “提示內(nèi)容”;變量,輸出語句: PRINT “提示內(nèi)容”;表達式,賦值語句: 變量=表達式,2.對于順序結(jié)構(gòu)的算法或程序框圖,我們可以利用輸入語句、輸出語句和賦值語句寫出其計算機程序.對于條件結(jié)構(gòu)的算法或程序框圖,要轉(zhuǎn)化為計算機能夠理解的算法語言,我們必須進一步學習條件語句.,知識探究(一):條件語句(1),IF 條件 THEN 語句體 END IF,IF 條件 THEN 語句體 END I

2、F,當計算機執(zhí)行上述語句時,首先對IF后的條件進行判斷,如果(IF)條件符合,那么(THEN)執(zhí)行語句體,否則執(zhí)行END IF之后的語句.,例5 求實數(shù)x的絕對值有如下一個算法: 第一步,輸入一個實數(shù)x. 第二步,判斷x的符號.若x0,則x=-x; 否則,x=x. 第三步,輸出x.,該算法的程序框圖如何表示?,程序框圖,思考2:這個算法含有順序結(jié)構(gòu)和條件結(jié)構(gòu),你能寫出這個算法對應的程序嗎?,END,INPUT x,IF x0 THEN,x=-x,END IF,PRINT x,思考3:閱讀下面的程序,你能說明它是一個什么問題的算法嗎?,INPUT “a,b=”;a,b IF ab THEN x=

3、a a=b b=x END IF PRINT a,b END,對實數(shù)a,b按從小到大排序.,知識探究(二):條件語句(2),IF 條件 THEN 語句體1 ELSE 語句體2 END IF,你能理解這個算法語句的含義嗎?,IF 條件 THEN 語句體1 ELSE 語句體2 END IF,當計算機執(zhí)行上述語句時,首先對IF 后的條件進行判斷,如果(IF)條件 符合,那么(THEN)執(zhí)行語句體1, 否則(ELSE)執(zhí)行語句體2.,思考2:求實數(shù)x的絕對值又有如下一個算法: 第一步,輸入一個實數(shù)x. 第二步,判斷x的符號.若x0,則輸出 x;否則,輸出-x. 該算法的程序框圖如何表示?,程序框圖,思

4、考3:你能寫出這個算法對應的程序嗎?,END,INPUT “x=”;x,IF x=0 THEN,PRINT x,ELSE,PRINT -x,END IF,思考4:閱讀下面的程序,你能說明它是一個什么問題的算法嗎?,INPUT “x=”;x IF x=1 THEN y=x2+3*x ELSE y=x-4 END IF PRINT y END,為體現(xiàn)“加快文明社會的發(fā)展,加強對老年人的關愛”,景區(qū)規(guī)定對年齡超過50歲(含50歲)的游客可以免費提供“旅游拐杖”一根,其它游客購買“旅游拐杖”則需 2元/根。根據(jù)結(jié)構(gòu)框圖,使用基本語句設計一個游客購買“旅游拐杖”費用的程序。,輸入 x If x50 Th

5、en y=0 Else y=2 End If 輸出 y,牛刀小試,例6 將下列解一元二次方程ax2+bx+c=0的程序框圖轉(zhuǎn)化為程序.,END,INPUT “a,b,c=”;a,b,c,d=b2-4*a*c,IF d=0 THEN,p= -b/(2*a),q=SQR(d)/(2*a),IF d=0 THEN,PRINT “x1=x2=”;p,ELSE,PRINT “x1,x2=”;p+q,p-q,END IF,ELSE,PRINT “No real root.”,END IF,例7 編寫程序,使任意輸入的3個整數(shù)按從大到小的順序輸出.,第四步,將b與c比較,并把小者賦給c,大者 賦給b.,第一

6、步,輸入3個整數(shù)a,b,c.,第二步,將a與b比較,并把小者賦給b,大者 賦給a.,第三步,將a與c比較,并把小者賦給c,大者 賦給a.,第五步,按順序輸出a,b,c.,算法分析:,INPUT a,b,c,IF ba THEN,t=a,a=b,b=t,END IF,IF ca THEN,t=a,a=c,c=t,END IF,IF cb THEN,t=b,b=c,c=t,END IF,PRINT a,b,c,END,一般在含有兩個或兩個以上的條件結(jié)構(gòu)中,編寫程序時,可利用條件語句的疊加或嵌套形式.,復合條件語句,疊加IF語句,復合條件語句,例2 到銀行辦理個人異地匯款時,銀行要收取一定的手續(xù)費,

7、匯款額不超過100元時,收取1元手續(xù)費;超過100元但不超過5000元,按匯款額的1%收取,超過5000元,一律收取50元手續(xù)費。設計算法,要求輸入?yún)R款額 x 元(x0),輸出手續(xù)費y(元),畫出算法流程圖,并用 If 語句描述該算法。,分析: 1、輸入 x 2、對x進行判斷: (1)若x100, 則 y=1 (2)若1005000, 則 y=50 3、輸出y .,復合條件語句,輸入x;,y =1,y =0.01x,Else,y =50,輸出 y.,Else,End If,End If,流程圖:,If語句:,x100,x5000,復合條件語句,嵌套IF語句,注:,1)If語句可以多層嵌套,可以

8、用文字的縮進表示嵌套的層次 2) 在復合If語句中,要注意If與End If的配對,課堂小結(jié):,2.編寫含有多個條件結(jié)構(gòu)的程序時,每個條件語句執(zhí)行結(jié)束時都以END IF表示.,1.條件語句有兩種形式,應用時要根據(jù)實際問題適當選取.,條件語句,簡單條件語句,復合條件語句,If Then Else End If,隨堂演練,3、將功能為求一個數(shù)的絕對值的 程序補充完整 輸入 X If _ Then Y=X Else Y=X End if 輸出 Y,4、讀程序,輸入 a,b,c IF ab,ac THEN 輸出 a ELSE IF bc THEN 輸出 b ELSE 輸出 c END IF,1)上述程

9、序格式有誤,請改正; 2)該程序的功能是: _,2、寫出下程序運行的結(jié)果 _ 輸入 x If x0 Then p=3x Else p=3+7(x-10) End if 輸出 p 若x= 2 , 則輸出 _ ; 若x= 15 , 則輸出 _,1、以下問題是否需要用條件語句來描述 其算法 A 輸入一個數(shù)x,輸出它的絕對值; B 求分段函數(shù)的函數(shù)值; C 求面積為6的正方形的周長; D 求三個數(shù)中較大的數(shù),5.以下給出的是用算法基本語句描述的某一個問題的算法,根據(jù)程序回答發(fā)下的問題。,Input m,n,p,q If mn and mp and mq then print m end if If n

10、p and nq then print n end if If pq then print p else print q end if end,問題1:若輸入的四個數(shù)是8,2,1,13,問輸出結(jié)果是多少?,問題2:該程序表示的算法的功能是什么?,輸出13,求出任意輸入四個數(shù)m,n,p,q中的最大數(shù),隨堂演練,6. 編寫求一個數(shù)是偶數(shù)還是奇數(shù)的程序,從鍵盤上輸入一個整數(shù),輸出該數(shù)的奇偶性。,程序:INPUT “x=”;x y = x MOD 2 MOD用來取X除以2的余數(shù) IF y=0 THEN PRINT x ; “這個數(shù)是偶數(shù)!” ELSE PRINT x ; “這個數(shù)是奇數(shù)!” END I

11、F END,隨堂演練,開 始,輸入年份 N,N MOD 4=0 AND N MOD 100 0 ?,N MOD 400=0 ?,這年是閏年,這年是閏年,結(jié) 束,是,否,是,否,7 .課本練習4:閏年是指年份能被4整除但不能被100整除,或者能被400整除的年份,編寫程序,判斷輸入的年份是否為閏年。,這年不是閏年,隨堂演練,8、 鐵路運輸托運行李,從甲地到乙地,規(guī)定每張客票托運費計算方法是:行李質(zhì)量不超過50kg時,按0.25/kg元計算;超過50kg而不超過100kg時,其超過部分按0.3元/kg計算,超過100kg時,其超過部分按0.45元/kg計算,編寫程序,輸入行李質(zhì)量,計算并輸出托運的

12、費用,并畫出程序框圖。,解:,設行李質(zhì)量為m kg,應付運費這y元,則運費公式為,隨堂演練,開始,輸入m,m50?,m100?,y=m0.25,y=0.2550+ 0.35(m50),y=0.2550+0.35 50+0.45(m100),輸入m,結(jié)束,INPUT “m=”;m,IF m=50 THEN,y=m0.25,ELSE,IF m=100 THEN,y=0.2550+0.35 (m50),ELSE,y=0.2550+0.3550+ 0.45 (m100),END IF,END IF,PRINT “y=”;y,END,程序:,程序框圖:,否,否,是,是,導與練:到銀行辦理個人異地匯款(不

13、超過100萬元),銀行要收取一定的手續(xù)費,匯款不超過100元,收取一元手續(xù)費;超過100元但不超過5000元,按匯款額的1%收取;超過5000元,一律收取50元手續(xù)費;試用條件語句描述匯款額為x元時,銀行收取手續(xù)費為 y元的過程,畫出程序框圖并寫出程序。,開始,輸入X,X0且X100,x5000,y=1,y=50,y=0.001X,輸出 y,結(jié)束,Input “匯款金額為”;x,If x0 and x=100 then,y=1,else,If x=5000 then,y=0.01*x,else,y=50,endif,endif,print “手續(xù)費為”;y,end,N,Y,Y,N,導與練 程序中有兩個條件語句 ,它們分別是( ),Input “x=“;x If x0 then y=1 Else If x=0 then y=0 Else y=-1 End if End if Print “y=“;y end,B,A. - - ,B. - - ,C. - - ,D. - - ,導與練 某市電信部門規(guī)定:拔打市內(nèi)電話時,如果通話時間不超過3分鐘,則收取通話費0.2元,如果通話時間超過3分鐘,則超過部分以0.1元/分鐘收取通話費(t分鐘計,不足1分鐘按

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論