項目七第二課時設計算法實現用隨機投點法計算課件-高中信息技術滬科版必修1_第1頁
項目七第二課時設計算法實現用隨機投點法計算課件-高中信息技術滬科版必修1_第2頁
項目七第二課時設計算法實現用隨機投點法計算課件-高中信息技術滬科版必修1_第3頁
項目七第二課時設計算法實現用隨機投點法計算課件-高中信息技術滬科版必修1_第4頁
項目七第二課時設計算法實現用隨機投點法計算課件-高中信息技術滬科版必修1_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二課時設計算法實現用隨機投點法計算項目七

用計算機計算圓周率

——設計簡單數值數據算法隨機投點法課后作業(yè)選擇結構語句條件表達式目錄一、條件表達式1.關系運算符2.邏輯運算符

在選擇結構中需要根據判斷條件是否被滿足來執(zhí)行不同的分支語句,在循環(huán)結構中則需要根據判斷條件是否被滿足來決定是否繼續(xù)執(zhí)行循環(huán)體語句。程序中表示判斷條件的式子稱為條件表達式,它由關系運算或邏輯運算構成,執(zhí)的結果為布爾值True或False.Python語言中的6種常用的關系運算符Python運算符數學符號名稱示例(dist=0.87)結果<<小于dist<1True<=≤小于等于dist<=1True>>大于dist>1False>=≥大于等于dist>=1False===等于dist==1False!=≠不等于dist!=1True1.關系運算符>>>"Python"=="Python"True>>>"Python">"Python"False>>>"C"<"Python"True

字符和字符串也可以進行比較運算,字符的比較對應字符ASCⅡ碼值的大小;字符串的比較則按照字典順序進行,舉例如下。2.邏輯運算符在實際問題中,對一些復雜的條件,需要用幾個關系達式組合起來表示,這種組合操作就是邏輯運算。常用的邏輯運算符包括與(and)或(or)、非(not)。這三種運算符的運算順序是先not,再and,最后or,但可以使用括號來調整運算的先后順序。非not與and或or例如,判斷一個學生是否為體重(weight)大于50千克或者身高(height)小于155厘米的女生(gender:Female),條件表達式可寫為:(gender=="Female")and(weight>50orheight<155)表達式中的括號可以用于定義運算的優(yōu)先級,這與數中括號的作用相同。上式中先執(zhí)行括號里的or運算,再執(zhí)行and運算。如果不用括號,使用了如下的條件表達式:gender=="Female"andweight>50orheight<155二、選擇結構的語句三種基本形式If條件表達式:語句塊1單分支語句If條件表達式:語句塊1Else:語句塊2雙分支語句if條件表達式:語句塊1Elif條件表達式2:語句塊2……Else:語句塊n多分支語句1.單分支語句if語句首先運算條件表達式,如果結果為True,則執(zhí)行語句塊里的語句序列;如果結果為False,則語句塊里的語句會被跳過。單分支結構流程圖如右圖所示。1.單分支語句1.單分支語句例如,求x的絕對值的語句如下。Ifx<0:X=-X2.雙分支語句Python語言用if-else語句來實現雙分支結構,語句塊1是if語句的條件被滿足時執(zhí)行的一個或多個語句序列,語句塊2是if語句的條件不被滿足時執(zhí)行的一個或多個語句序列。雙分支語句針對條件的兩種可能結果True或者False,分別形成兩條執(zhí)行路徑。雙分支結構流程圖如右圖所示。2.雙分支語句2.雙分支語句2.雙分支語句importrandomx,y=random.randint(1,100),random.randint(1,100)if(x>=y):

print(“%d-%d=”%(x,y)) answer=x-yelse: print(“%d-%d=”%(y,x)) answer=y-xyouranswer=int(input())ifyouranswer==answer:print(“正確”)else:print(“錯誤”)3.多分支語句

Python語言用if-elif-else語句來實現多分支結構,多分支結構是雙分支結的擴展。程序運行時依次判斷if語句和elif語句的條件是否被滿足,如果結果為True,則執(zhí)行該條件下的語句塊,語句塊執(zhí)行結束后跳出整個if-elif-else結構,執(zhí)行后面的語句;如果結果為False,則轉向下一個條件進行判斷。如果沒有任何條件被滿足,則執(zhí)行else下面的語句塊。else子句是可選的。3.多分支語句3.多分支語句

例如:

編寫程序,輸入身高和體重,計算身體的質量指數BMI值,并給出健康信息。這個問題可以用兩種分支結構來實現,語句分別如下。3.多分支語句height=eval(input(“請輸入身高(米):”))weight=eval(input(“請輸入體重(千克):”))

bmi=weight/pow(height,2)print(“BMI數值為:%.2f”%bmi)

Ifbmi<18.5:#<18.5print(“BMI指標為:偏瘦”)elifbmi<25:#18.5<=bmi<25print(“BMI指標為:正?!保〆lifbmi<30:#25<=bmi<30print(“BMI指標為:偏胖”)else:print(“BMI指標為:肥胖”)3.多分支語句height=eval(input(“請輸入身高(米):”))weight=eval(input(“請輸入體重(千克):”))

bmi=weight/pow(height,2)print(“BMI數值為:%.2f”%bmi)

ifbmi<18.5:print(“BMI指標為:偏瘦”)if18.5<=bmi<25:print(“BMI指標為:正?!保﹊f25<=bmi<30:print(“BMI指標為:偏胖”)ifbmi>=30:print(“BMI指標為:肥胖”)三、隨機投點法隨機投點法是通過在正方形內隨機投點,用隨機模擬的方法來估算圓周率。隨機在正方形里撒一把豆子,每一顆豆子落在正方形內任何一點的可能性都是相等的,落在每個區(qū)域中的豆子數與這個區(qū)域的面積近似成正比。落在每個區(qū)域中的豆子數是可以數出來的,設落在扇形內的豆子數為hits,總豆子數為darts,則:

觀察圖可知,單位圓的面積等于第一象限中扇形面積的4倍,單位圓半徑的平方正好是圖中單位正方形的面積。因此,

分析問題

使用計算機模擬隨機投豆(也就是投點)的整個過程如下。首先,確定總的投點數darts。然后,在邊長為1的正方形中投點,并判斷這個點是否在扇形區(qū)域內,如果是,則扇形區(qū)域的投點數hits增加1。(每個投點的x坐標和y坐標都是[0,1)中的隨機數;若x2+y2<1,則判斷該點投在扇形區(qū)域內。)最后,在所有點投完后,計算圓周率的近似值pi。分析問題

這里涉及的數據變量有:總的投點數darts,每個點的坐標值x、y,扇形區(qū)域的投點數hits,圓周率的近似值pi。設計算法1.輸入總的投點數darts 2.令hits=0;3.循環(huán)i從0到dars-1,step1; 輸出圓周率的近似值3.1獲取x,y的隨機值3.2如果x2+y2<1,則hits增加1;4.計算圓周率的近似值;5.輸出圓周率的近似值;

算法中哪幾步在重復執(zhí)行?設計算法fromrandomimportrandomdarts=int(input(“請輸入總的投點數:”))hits=0foriinrange(darts): x,y=random(),random() if________________________ _________________________ pi=4*(hits/darts)print(“pi的值是”,pi)設計算法運行、調試程序在Python中創(chuàng)建并運行程序

溫馨提示

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

評論

0/150

提交評論