最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

while循環(huán)--北太天元學(xué)習(xí)7

2023-07-18 14:46 作者:盧朓  | 我要投稿

while循環(huán)

北太天元學(xué)習(xí)5和6,我們看到for循環(huán)對(duì)于運(yùn)行對(duì)于給定次數(shù)的循環(huán)是很有用的。
這個(gè)for循環(huán)的缺點(diǎn)是程序員必須提前知道循環(huán)運(yùn)行多少次。為了對(duì)循環(huán)次數(shù)事先未知的代碼段
進(jìn)行循環(huán)執(zhí)行,我們可以使用while循環(huán)。while循環(huán)將循環(huán)執(zhí)行被關(guān)鍵字while和end圈定
特定代碼段,直到滿足某個(gè)條件后跳出循環(huán)。

while循環(huán)的一般形式如下:

while 邏輯表達(dá)式
?? ?特定代碼段
end

邏輯表達(dá)式是一個(gè)true或false的語(yǔ)句, 只要邏輯表達(dá)式返回值為true,就執(zhí)行循環(huán)。
如果邏輯表達(dá)式返回值為false,則北太天元將跳過(guò)特定代碼段,并繼續(xù)執(zhí)行end之后的語(yǔ)句。

例如:我們對(duì)一個(gè)物體的溫度隨著時(shí)間的變化進(jìn)行數(shù)學(xué)建模, 假設(shè)就是剛煮好的一個(gè)雞蛋,
溫度是 T(0)? = 100度, 室溫是20度, 下一個(gè)時(shí)刻和當(dāng)前時(shí)刻的溫度關(guān)系由下面的式子
給出 T(n+1) = T(n) - 0.2*(T(n) - 20); ?
求當(dāng) n 是的多少的時(shí)候, 溫度降到37度以下(包含37度)?


while 循環(huán)代碼如下:

T = 100;
n = 0;
while T > 37
?? ?n = n + 1;
?? ?T = T - 0.2*(T - 20);
end?? ?
fprintf("當(dāng)n=%5.0f時(shí),溫度T開(kāi)始降到了37度以下,? 此時(shí)溫度T=%4.2f\n",n, T);

注意,如果我們把 邏輯表達(dá)式由 T > 37 改成了 T>19, 你會(huì)發(fā)現(xiàn)這個(gè)條件總是滿足,
北太天元將會(huì)陷入了無(wú)限循環(huán)中,原因是 上面例子給出的雞蛋的溫度在n趨向于無(wú)窮時(shí)是
單調(diào)遞減趨向于20, 也就是說(shuō)溫度都是大于20的,因此 上面的while循環(huán)的跳出條件
總也不滿足(T>37總也不會(huì)返回false)。 此時(shí)后,你可以使用? ctrl+c 中斷程序執(zhí)行。

我們通過(guò)了一定的分析才能發(fā)現(xiàn) T 總是大于20的,如果沒(méi)有這個(gè)分析,我又擔(dān)心會(huì)陷入無(wú)限
循環(huán)里,把 T>19 改成 T>19 && n < 2000? 兩個(gè)邏輯表達(dá)式的組合,其中 && 表示邏輯且。 ?

組合邏輯表達(dá)式北太天元什么時(shí)候返回true 呢?

p && q 當(dāng)且僅當(dāng) p 和 q 都為true 時(shí)返回 true;
p || q 當(dāng)且僅當(dāng) p 和 q 至少有一個(gè)為true 時(shí)返回 true;

因此,即使碰到 T > 19 總是成立的時(shí)候,當(dāng) n < 2000 時(shí),T > 19 && n < 2000 返回false,
此時(shí)while循環(huán)也會(huì)終止。

我們是使用for 循環(huán)和while 循環(huán)呢,有時(shí)候都可以,就看你自己的喜好了。


停止北太天元腳本

當(dāng)北太天元運(yùn)行完腳本或者命令后,您應(yīng)該看到>>出現(xiàn)在命令的下一行, 不然說(shuō)明
還在運(yùn)行中,而且在圖形界面的左下角會(huì)有一個(gè)小圖標(biāo)不斷從 . 變到 .. 再變到 ...
再變到 .? 如果您厭倦了等待這種情況發(fā)生,請(qǐng)單擊命令窗口并使用
“Ctrl+C”停止運(yùn)行腳本或者命令。剛才,我們說(shuō)得while循環(huán)陷入死循環(huán)也會(huì)
出現(xiàn)這種長(zhǎng)時(shí)間等待的情況,此時(shí)請(qǐng)用"Ctrl+C"停止程序或者命令。

注釋代碼

隨著代碼變得越來(lái)越復(fù)雜,注釋變得越來(lái)越重要。即使是簡(jiǎn)單的代碼,它在回憶程序的意圖
時(shí)非常有用,尤其是當(dāng)您需要在編寫完腳本文件后的一段時(shí)間內(nèi)返回查看腳本文件。

假設(shè)我們想要編寫一個(gè)實(shí)現(xiàn)除法算法的北太天元腳本。
該算法取一個(gè)非負(fù)整數(shù)a,一個(gè)正整數(shù)d,并找到唯一的整數(shù)q和r
即a=dq+r且0≤r<d。換句話說(shuō),我們想將a除以d,并找到唯一的商q
和余數(shù)r。我們有時(shí)用表示mod(a,d)來(lái)表示余數(shù)。
我們簡(jiǎn)單地應(yīng)用除法算法來(lái)找到這些整數(shù)。為了找到q和r,我們重復(fù)
從a中減去d,直到結(jié)果小于d但非負(fù)為止。

%計(jì)算a除以d時(shí)的商和余數(shù)。
%輸出商(q)和余數(shù)(r)

a=20?? %a為初始數(shù)字, 這是單行注釋
d=3??? %d是除數(shù)
r=a;? %將r初始化為a
q=0; ?
/* ?
??? 這是多行注釋
?? ??? ?商q是從r中減去d的次數(shù)
?? ??? ?下面開(kāi)始while循環(huán)
*/
while r>=d??? %循環(huán),直到r小于d
?? ?r=r-d;???? %r減去d
?? ?q=q+1;???? %q加1
end
fprintf(" %3.0f = %3.0f x %3.0f? + %3.0f\n", a, q, d , r);
fprintf(" q = %3.0f , r = %3.0f\n",? q, r);

注意,20=3x6+2,所以我們應(yīng)該有一個(gè)q=6的商和r=2的余數(shù)。
頂部代碼包含一個(gè)注釋,描述代碼的作用以及輸出的值。



while循環(huán)--北太天元學(xué)習(xí)7的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
桂平市| 昌乐县| 凉城县| 夏津县| 庆云县| 北票市| 石泉县| 师宗县| 大竹县| 宁晋县| 临洮县| 大连市| 昭觉县| 赣榆县| 仲巴县| 昂仁县| 凤山市| 渝中区| 加查县| 桃江县| 巴南区| 龙里县| 泗水县| 新平| 景谷| 张家川| 林州市| 南川市| 通榆县| 永福县| 榕江县| 普安县| 会宁县| 昌都县| 称多县| 西峡县| 赞皇县| 嵊州市| 大渡口区| 武平县| 安化县|