版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)要求(1)理解和應(yīng)用條件語句(if)、循環(huán)語句(while、for)、break語句(2)通過編程實(shí)現(xiàn)經(jīng)典的迭代算法,強(qiáng)化對迭代結(jié)構(gòu)的理解和應(yīng)用(3)理解并應(yīng)用窮舉法的基本原理,在具體問題中通過遍歷所有可能的組合或情況找到符合條件的解?!纠?-4】績點(diǎn)計(jì)算??凕c(diǎn)(GradePointAverage,GPA)是衡量學(xué)生學(xué)習(xí)成績的一種標(biāo)準(zhǔn)化指標(biāo)。4.0分制A對應(yīng)績點(diǎn)4.0B對應(yīng)績點(diǎn)3.0C對應(yīng)績點(diǎn)2.0D對應(yīng)績點(diǎn)1.0F對應(yīng)績點(diǎn)0設(shè)課程1:學(xué)分3,成績B(對應(yīng)課程績點(diǎn)3.0)課程2:學(xué)分4,成績A(對應(yīng)課程績點(diǎn)4.0)課程3:學(xué)分2,成績C(對應(yīng)課程績點(diǎn)2.0)計(jì)算GPA課程1的加權(quán)績點(diǎn):3×3.0=9.0課程2的加權(quán)績點(diǎn):4×4.0=16.0課程3的加權(quán)績點(diǎn):2×2.0=4.0總績點(diǎn)=9.0+16.0+4.0=29.0總學(xué)分=3+4+2=9GPA=29.0÷9=3.22#獲取課程數(shù)量num_courses=int(input("輸入課程數(shù)量:"))
total_credits=0
#總學(xué)分total_points=0
#總績點(diǎn)
#獲取每門課程的學(xué)分和成績foriinrange(num_courses):
print(f"\n請輸入第{i+1}門課程信息:")
credits=float(input("學(xué)分:"))
#課程學(xué)分
grade=input("成績(A,B,C,D,E):").upper()
#課程成績,轉(zhuǎn)為大寫英文字母
#根據(jù)課程成績計(jì)算課程績點(diǎn)
ifgrade=='A':
grade_point=4.0
elifgrade=='B':
grade_point=3.0
elifgrade=='C':
grade_point=2.0
elifgrade=='D':
grade_point=1.0
elifgrade=='F':
grade_point=0.0
else:
print("無效成績輸入!")
grade_point=0.0
#如果輸入的課程成績無效,直接賦值為0
#計(jì)算該課程的加權(quán)績點(diǎn)
total_credits+=credits
total_points+=credits*grade_point
#計(jì)算GPAgpa=total_points/total_creditsprint(f"GPA:{gpa:.2f}")實(shí)驗(yàn)任務(wù)從鍵盤輸入兩個(gè)整數(shù),求它們的和、差、積、商、a和b的余數(shù)、a的b次方。輸入一個(gè)用戶的體重和身高,計(jì)算BMI指數(shù),并指出其體質(zhì)類型。編寫一個(gè)猜數(shù)的游戲,由計(jì)算機(jī)給出一個(gè)1~100范圍內(nèi)被猜的整數(shù),當(dāng)用戶猜了一個(gè)數(shù)后,通過比較給出“大了”、“小了”或“猜對了”提示,在猜對的情況下輸出用戶猜數(shù)的次數(shù)。要求最多允許用戶猜8次。輸出九九乘法表。迭代法迭代算法是一種通過重復(fù)計(jì)算逐步逼近解的算法,廣泛應(yīng)用于優(yōu)化、數(shù)值計(jì)算和機(jī)器學(xué)習(xí)等領(lǐng)域。【例5-5】二分法求解非線性方程。非線性方程的根(或解)是指滿足某個(gè)非線性方程的x值,也就是使方程f(x)=0的解,其中f(x)是一個(gè)非線性函數(shù)。二分法:通過不斷縮小區(qū)間,從而逐步逼近方程解的數(shù)值計(jì)算方法。適用于求解連續(xù)函數(shù)的零點(diǎn)(f(x)=0)問題。f(b)f(a)
abxyy=f(x)根【例5-5】二分法求解非線性方程。(1)選擇區(qū)間。首先選擇一個(gè)閉區(qū)間[a,b],并且保證f(a)和f(b)的符號不同,即f(a)·f(b)<0。根據(jù)連續(xù)性理論,這意味著在區(qū)間內(nèi)必定存在解能夠令f(x)=0。(2)計(jì)算中點(diǎn)。計(jì)算區(qū)間的中點(diǎn)(半寬度)。(3)判斷符號。如果f(m)=0,那么m就是方程的解;如果f(a)·f(m)<0,那么解在區(qū)間[a,m]內(nèi),更新右端點(diǎn)b=m;如果f(b)·f(m)<0,那么解在區(qū)間[m,b]內(nèi),更新左端點(diǎn)a=m。重復(fù)以上步驟,繼續(xù)縮小區(qū)間,直到函數(shù)值足夠接近0,或者區(qū)間的中點(diǎn)小于設(shè)定的精度閾值。deff(x):
#示例方程:x^3-x-2=0
returnx**3-x-2
#設(shè)置區(qū)間[a,b]a=1
#區(qū)間左端點(diǎn)b=2
#區(qū)間右端點(diǎn)epsilon=1e-6
#精度閾值
#檢查區(qū)間端點(diǎn)符號是否不同iff(a)*f(b)>0:
print("f(a)和f(b)必須符號不同,否則無法繼續(xù)計(jì)算")else:
#二分法求解
#二分法求解
while(b-a)/2>epsilon:#半?yún)^(qū)間長度不夠小,繼續(xù)迭代
#計(jì)算中點(diǎn)
m=(a+b)/2
f_m=f(m)
#在中點(diǎn)是解的情況下結(jié)束二分法
ifabs(f_m)<epsilon:
break
#根據(jù)符號選擇新的區(qū)間
iff(a)*f_m<0:
b=m
else:
a=m
#返回最終的中點(diǎn)作為方程的解solution=(a+b)/2print(f"方程的解為:{solution}")f(b)f(a)
abxyy=f(x)根【例5-5】二分法求解非線性方程。牛頓迭代法:用于求解方程f(x)=0的數(shù)值方法,它通過從一個(gè)初始猜測點(diǎn)出發(fā),逐步迭代來逼近方程的解。(1)從初始猜測值出發(fā)。牛頓法從一個(gè)初始猜測值x0開始,這個(gè)值通常是方程解的大致估計(jì),通過不斷更新當(dāng)前的猜測值,逐步逼近實(shí)際的解。(2)用切線代替函數(shù)。牛頓法的核心思想是利用函數(shù)在當(dāng)前猜測點(diǎn)的切線來近似函數(shù)本身。具體來說,假設(shè)已經(jīng)知道某一點(diǎn)xi處的函數(shù)值f(xi)和導(dǎo)數(shù)f′(xi),通過該點(diǎn)的切線找到下一個(gè)猜測點(diǎn)xi+1。(3)不斷更新猜測值。在每次迭代中,計(jì)算出新的點(diǎn)xi+1,并將其作為下一次迭代的起點(diǎn)。隨著迭代次數(shù)的增加,新的猜測值逐漸逼近實(shí)際的解。x0xyy=f(x)根x1x2#需要求解的方程f(x)=0deff(x):
#示例方程:x^3-x-2=0
returnx**3-x-2
#f(x)的導(dǎo)數(shù)deff_prime(x):
#f'(x)=3*x^2-1
return3*x**2-1
x0=1.5
#初始猜測值epsilon=1e-6
#精度要求max_iter=100
#最大迭代次數(shù)(防止死循環(huán))
x=x0
#猜測值foriter_countinrange(max_iter)
:
fx=f(x)
f_prime_x=f_prime(x)
#計(jì)算新的解
x_new=x-fx/f_prime_x
#檢查是否滿足精度要求
ifabs(x_new-x)<epsilonorabs(f(x_new))<epsilon:
print(f"方程的解為:{x_new}")
break
#更新x為新的近似值
x=x_newelse:
#不是通過break語句離開循環(huán),達(dá)到最大迭代次數(shù)仍未收斂
print("牛頓法未能收斂,無法找到解.")x0xyy=f(x)根x1x2實(shí)驗(yàn)任務(wù)輸入一個(gè)數(shù)字,分別使用窮舉法、二分法和牛頓迭代法求其平方根,并對時(shí)間性能進(jìn)行對比。輸入兩個(gè)正整數(shù),求它們的最大公約數(shù)。輸入一個(gè)整數(shù),求它的數(shù)字根。數(shù)字根是一個(gè)通過將數(shù)字的各個(gè)位置上的數(shù)字相加,直到得到一個(gè)單一數(shù)字的過程。簡單來說,就是將一個(gè)正整數(shù)的所有位數(shù)相加,然后重復(fù)這個(gè)過程,直到結(jié)果是個(gè)位數(shù)為止。例如,數(shù)字9876的數(shù)字根為39+8+7+6=303+0=3窮舉法窮舉法是一種通過列舉所有可能的解并逐一進(jìn)行驗(yàn)證的算法,適用于解空間較小或沒有明顯規(guī)律可依賴的場景。它的實(shí)現(xiàn)簡單直觀,通過遍歷所有解來確保不會(huì)漏掉任何一個(gè)可能的解,但效率較低,特別是解空間較大時(shí),可能導(dǎo)致高昂的計(jì)算成本。窮舉法適用于小規(guī)模問題、驗(yàn)證性問題或組合優(yōu)化問題的簡化版。在解空間有限的情況下,窮舉法能夠確保找到最優(yōu)解或所有符合要求的解,但是其時(shí)間復(fù)雜度較高,通常為指數(shù)級別?!纠?-7】取小球方案。一個(gè)不透明的袋子中裝有若干個(gè)紅、橙、黃、綠、藍(lán)5種顏色的小球,每次隨意摸出3個(gè)小球,輸出3個(gè)小球顏色都不一樣的所有可能的方案。要點(diǎn)避免相同的組合出現(xiàn)(“紅、黃、藍(lán)”和“黃、紅、藍(lán)”是相同的組合/)方法:使用嵌套循環(huán)時(shí),在每層循環(huán)中限制下一個(gè)小球顏色的選擇范圍,確保每次選出的顏色是不同的,并且每次都能生成唯一的組合。#定義5種顏色colors=['紅','橙','黃','綠','藍(lán)']
#使用3層嵌套循環(huán)生成所有3種不同顏色的組合foriinrange(len(colors)):
#第1層循環(huán),選擇第1種顏色
forjinrange(i+1,len(colors)):
#第2層循環(huán),選擇第2種顏色
forkinrange(j+1,len(colors)):
#第3層循環(huán),選擇第3種顏色
#輸出每個(gè)符合條件的組合
print(colors[i],colors[j],colors[k])紅橙黃紅橙綠紅橙藍(lán)紅黃綠紅黃藍(lán)紅綠藍(lán)橙黃綠
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西安工商學(xué)院《金融營銷》2023-2024學(xué)年第二學(xué)期期末試卷
- 安徽藝術(shù)職業(yè)學(xué)院《工程地質(zhì)勘察與評價(jià)》2023-2024學(xué)年第二學(xué)期期末試卷
- 德宏師范高等專科學(xué)?!兑苯痣娀瘜W(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東郵電職業(yè)技術(shù)學(xué)院《生產(chǎn)運(yùn)營與管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州南洋理工職業(yè)學(xué)院《電路理論實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東政法學(xué)院《人體解剖生理學(xué)(生理)》2023-2024學(xué)年第二學(xué)期期末試卷
- 增強(qiáng)現(xiàn)實(shí)廣告合作合同協(xié)議(2026年)
- 公司消防規(guī)章和防火制度
- 2026年化工職業(yè)基礎(chǔ)知識(shí)試題庫及答案
- 2026年系統(tǒng)運(yùn)維工程師崗位知識(shí)考試題庫含答案
- 《微生物與殺菌原理》課件
- 醫(yī)療機(jī)構(gòu)藥事管理規(guī)定版
- DB34T 1909-2013 安徽省鉛酸蓄電池企業(yè)職業(yè)病危害防治工作指南
- 北京市歷年中考語文現(xiàn)代文之議論文閱讀30篇(含答案)(2003-2023)
- 檔案學(xué)概論-馮惠玲-筆記
- 全國民用建筑工程設(shè)計(jì)技術(shù)措施-結(jié)構(gòu)
- (正式版)YST 1693-2024 銅冶煉企業(yè)節(jié)能診斷技術(shù)規(guī)范
- 1999年勞動(dòng)合同范本【不同附錄版】
- 全國優(yōu)質(zhì)課一等獎(jiǎng)職業(yè)學(xué)校教師信息化大賽《語文》(基礎(chǔ)模塊)《我愿意是急流》說課課件
- 初三寒假家長會(huì)ppt課件全面版
- 2023年中國造紙化學(xué)品發(fā)展現(xiàn)狀與趨勢
評論
0/150
提交評論