




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第二課時設(shè)計算法實現(xiàn)用隨機投點法計算項目七
用計算機計算圓周率
——設(shè)計簡單數(shù)值數(shù)據(jù)算法隨機投點法課后作業(yè)選擇結(jié)構(gòu)語句條件表達式目錄一、條件表達式1.關(guān)系運算符2.邏輯運算符
在選擇結(jié)構(gòu)中需要根據(jù)判斷條件是否被滿足來執(zhí)行不同的分支語句,在循環(huán)結(jié)構(gòu)中則需要根據(jù)判斷條件是否被滿足來決定是否繼續(xù)執(zhí)行循環(huán)體語句。程序中表示判斷條件的式子稱為條件表達式,它由關(guān)系運算或邏輯運算構(gòu)成,執(zhí)的結(jié)果為布爾值True或False.Python語言中的6種常用的關(guān)系運算符Python運算符數(shù)學(xué)符號名稱示例(dist=0.87)結(jié)果<<小于dist<1True<=≤小于等于dist<=1True>>大于dist>1False>=≥大于等于dist>=1False===等于dist==1False!=≠不等于dist!=1True1.關(guān)系運算符>>>"Python"=="Python"True>>>"Python">"Python"False>>>"C"<"Python"True
字符和字符串也可以進行比較運算,字符的比較對應(yīng)字符ASCⅡ碼值的大??;字符串的比較則按照字典順序進行,舉例如下。2.邏輯運算符在實際問題中,對一些復(fù)雜的條件,需要用幾個關(guān)系達式組合起來表示,這種組合操作就是邏輯運算。常用的邏輯運算符包括與(and)或(or)、非(not)。這三種運算符的運算順序是先not,再and,最后or,但可以使用括號來調(diào)整運算的先后順序。非not與and或or例如,判斷一個學(xué)生是否為體重(weight)大于50千克或者身高(height)小于155厘米的女生(gender:Female),條件表達式可寫為:(gender=="Female")and(weight>50orheight<155)表達式中的括號可以用于定義運算的優(yōu)先級,這與數(shù)中括號的作用相同。上式中先執(zhí)行括號里的or運算,再執(zhí)行and運算。如果不用括號,使用了如下的條件表達式:gender=="Female"andweight>50orheight<155二、選擇結(jié)構(gòu)的語句三種基本形式If條件表達式:語句塊1單分支語句If條件表達式:語句塊1Else:語句塊2雙分支語句if條件表達式:語句塊1Elif條件表達式2:語句塊2……Else:語句塊n多分支語句1.單分支語句if語句首先運算條件表達式,如果結(jié)果為True,則執(zhí)行語句塊里的語句序列;如果結(jié)果為False,則語句塊里的語句會被跳過。單分支結(jié)構(gòu)流程圖如右圖所示。1.單分支語句1.單分支語句例如,求x的絕對值的語句如下。Ifx<0:X=-X2.雙分支語句Python語言用if-else語句來實現(xiàn)雙分支結(jié)構(gòu),語句塊1是if語句的條件被滿足時執(zhí)行的一個或多個語句序列,語句塊2是if語句的條件不被滿足時執(zhí)行的一個或多個語句序列。雙分支語句針對條件的兩種可能結(jié)果True或者False,分別形成兩條執(zhí)行路徑。雙分支結(jié)構(gòu)流程圖如右圖所示。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語句來實現(xiàn)多分支結(jié)構(gòu),多分支結(jié)構(gòu)是雙分支結(jié)的擴展。程序運行時依次判斷if語句和elif語句的條件是否被滿足,如果結(jié)果為True,則執(zhí)行該條件下的語句塊,語句塊執(zhí)行結(jié)束后跳出整個if-elif-else結(jié)構(gòu),執(zhí)行后面的語句;如果結(jié)果為False,則轉(zhuǎn)向下一個條件進行判斷。如果沒有任何條件被滿足,則執(zhí)行else下面的語句塊。else子句是可選的。3.多分支語句3.多分支語句
例如:
編寫程序,輸入身高和體重,計算身體的質(zhì)量指數(shù)BMI值,并給出健康信息。這個問題可以用兩種分支結(jié)構(gòu)來實現(xiàn),語句分別如下。3.多分支語句height=eval(input(“請輸入身高(米):”))weight=eval(input(“請輸入體重(千克):”))
bmi=weight/pow(height,2)print(“BMI數(shù)值為:%.2f”%bmi)
Ifbmi<18.5:#<18.5print(“BMI指標(biāo)為:偏瘦”)elifbmi<25:#18.5<=bmi<25print(“BMI指標(biāo)為:正?!保〆lifbmi<30:#25<=bmi<30print(“BMI指標(biāo)為:偏胖”)else:print(“BMI指標(biāo)為:肥胖”)3.多分支語句height=eval(input(“請輸入身高(米):”))weight=eval(input(“請輸入體重(千克):”))
bmi=weight/pow(height,2)print(“BMI數(shù)值為:%.2f”%bmi)
ifbmi<18.5:print(“BMI指標(biāo)為:偏瘦”)if18.5<=bmi<25:print(“BMI指標(biāo)為:正?!保﹊f25<=bmi<30:print(“BMI指標(biāo)為:偏胖”)ifbmi>=30:print(“BMI指標(biāo)為:肥胖”)三、隨機投點法隨機投點法是通過在正方形內(nèi)隨機投點,用隨機模擬的方法來估算圓周率。隨機在正方形里撒一把豆子,每一顆豆子落在正方形內(nèi)任何一點的可能性都是相等的,落在每個區(qū)域中的豆子數(shù)與這個區(qū)域的面積近似成正比。落在每個區(qū)域中的豆子數(shù)是可以數(shù)出來的,設(shè)落在扇形內(nèi)的豆子數(shù)為hits,總豆子數(shù)為darts,則:
觀察圖可知,單位圓的面積等于第一象限中扇形面積的4倍,單位圓半徑的平方正好是圖中單位正方形的面積。因此,
分析問題
使用計算機模擬隨機投豆(也就是投點)的整個過程如下。首先,確定總的投點數(shù)darts。然后,在邊長為1的正方形中投點,并判斷這個點是否在扇形區(qū)域內(nèi),如果是,則扇形區(qū)域的投點數(shù)hits增加1。(每個投點的x坐標(biāo)和y坐標(biāo)都是[0,1)中的隨機數(shù);若x2+y2<1,則判斷該點投在扇形區(qū)域內(nèi)。)最后,在所有點投完后,計算圓周率的近似值pi。分析問題
這里涉及的數(shù)據(jù)變量有:總的投點數(shù)darts,每個點的坐標(biāo)值x、y,扇形區(qū)域的投點數(shù)hits,圓周率的近似值pi。設(shè)計算法1.輸入總的投點數(shù)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.輸出圓周率的近似值;
算法中哪幾步在重復(fù)執(zhí)行?設(shè)計算法fromrandomimportrandomdarts=int(input(“請輸入總的投點數(shù):”))hits=0foriinrange(darts): x,y=random(),random() if________________________ _________________________ pi=4*(hits/darts)print(“pi的值是”,pi)設(shè)計算法運行、調(diào)試程序在Python中創(chuàng)建并運行程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南漳商品房買賣合同范本
- 廠房常保潔合同范例
- 前期物業(yè)協(xié)議合同范本
- 業(yè)務(wù)結(jié)算合同范本
- 體育公園合作合同范本
- 交工檢測合同范本
- 制作補充協(xié)議合同范本
- 養(yǎng)生館工作合同范本
- 校園文化活動與大學(xué)生誠信教育的融合
- 科技發(fā)展中的知識產(chǎn)權(quán)保護與運用
- GB/T 3452.2-2007液壓氣動用O形橡膠密封圈第2部分:外觀質(zhì)量檢驗規(guī)范
- GB/T 30797-2014食品用洗滌劑試驗方法總砷的測定
- GB/T 20057-2012滾動軸承圓柱滾子軸承平擋圈和套圈無擋邊端倒角尺寸
- GB/T 19808-2005塑料管材和管件公稱外徑大于或等于90mm的聚乙烯電熔組件的拉伸剝離試驗
- GB/T 12771-2019流體輸送用不銹鋼焊接鋼管
- 工程驗收及移交管理方案
- 班組建設(shè)工作體系課件
- 圖片編輯概述課件
- 第章交通調(diào)查與數(shù)據(jù)分析課件
- 2023年岳陽職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試筆試題庫及答案解析
- 北師大版八年級數(shù)學(xué)上冊《認(rèn)識無理數(shù)(第2課時)》參考課件2
評論
0/150
提交評論