當(dāng)前位置:
章節(jié)挑題
請(qǐng)展開(kāi)查看知識(shí)點(diǎn)列表
>51.有如圖所示的二叉樹(shù)。用list表示該二叉樹(shù)為( ?。?/h2>
發(fā)布:2024/11/30 6:30:2組卷:2引用:2難度:0.452.某對(duì)分查找算法VB程序如下:
數(shù)組元素a(1)~a(10)中的數(shù)據(jù)為“95,89,73,70,68,54,47,43,26,9”,執(zhí)行該程序后,字符串s的值不可能為( ?。?/h2>發(fā)布:2024/11/30 1:30:1組卷:3引用:2難度:0.453.為四則運(yùn)算式“6+(8-2)*2÷3”轉(zhuǎn)逆波蘭表達(dá)“682-2*3÷+”設(shè)計(jì)算法,編程實(shí)現(xiàn)。
分析:在數(shù)學(xué)運(yùn)算表達(dá)式中,運(yùn)算符總是置于與之相關(guān)的兩個(gè)運(yùn)算對(duì)象之間,在計(jì)算結(jié)果時(shí),要考慮括號(hào)、運(yùn)算符號(hào)的優(yōu)先性。為了程序?qū)崿F(xiàn)的方便,波蘭邏輯學(xué)家J.Lukasiewicz提出了另一種表示法,將運(yùn)算符置于其運(yùn)算對(duì)象之后,沒(méi)有括號(hào),不用考慮運(yùn)算符號(hào)的優(yōu)先性。這種表達(dá)式稱為后綴表達(dá)式,又叫逆波蘭表達(dá)式。
如表達(dá)式“682-2*3÷+”是四則運(yùn)算式“6+(8-2)*2÷3”的逆波蘭表達(dá)式。為了處理方便,規(guī)定表達(dá)式中的數(shù)均為小于10的正整數(shù),運(yùn)算符為+、-、*、÷。
(1)抽象建模
設(shè)計(jì)兩個(gè)棧bds、fh,棧bds用來(lái)存放表達(dá)式,棧fh用來(lái)暫時(shí)存放運(yùn)算符。從左往右掃描四則運(yùn)算式,遇到數(shù)字時(shí),入棧bds;遇到運(yùn)算符號(hào)時(shí),根據(jù)運(yùn)算符號(hào)的優(yōu)先級(jí)設(shè)計(jì)進(jìn)棧與出棧。
四則運(yùn)算式“6+(8-2)*2÷3”轉(zhuǎn)換規(guī)則的模擬過(guò)程如表所示:
結(jié)合表格的操作過(guò)程,用棧bds和棧fh記錄每個(gè)操作后的棧內(nèi)情況(見(jiàn)圖),那么在操作2中棧fh里有內(nèi)容為
(2)設(shè)計(jì)算法
基于問(wèn)題的抽象與建模,解決該問(wèn)題的主要算法描述如下:
從左往右遍歷四則運(yùn)算式s(設(shè)中間變量為ch):
1)當(dāng)ch是數(shù)字,直接入棧bds;
2)當(dāng)ch是運(yùn)算符:
a.若ch為左括號(hào)時(shí),直接入棧fh;
b.若ch為右括號(hào)時(shí),則將棧fh元素彈出,壓入棧bds,直到遇到左括號(hào)(左括號(hào)只
彈出,不壓入棧bds);
c.若ch為其它運(yùn)算符時(shí),如果運(yùn)算符ch優(yōu)先級(jí)大于棧fh中棧頂元素的優(yōu)先級(jí)(或棧fh為空),直接入棧fh;否則,將棧fh元素依次彈出,并壓入棧bds,直到運(yùn)算符ch優(yōu)先級(jí)大于棧fh中棧頂元素的優(yōu)先級(jí)(或棧fh為空);
3)將棧bds中元素依次出棧,即為該四則運(yùn)算s的后綴表達(dá)式。
(3)編寫程序
實(shí)現(xiàn)上述功能的Python代碼如下,請(qǐng)?jiān)跈M線處填入合適代碼。發(fā)布:2024/11/29 21:0:1組卷:17引用:2難度:0.354.采用冒泡排序算法對(duì)某數(shù)據(jù)序列進(jìn)行排序,經(jīng)過(guò)第一輪排序后的結(jié)果是“2,8,3,9,5,6,7”,那么原數(shù)據(jù)序列不可能的是( ?。?/h2>
發(fā)布:2024/11/29 1:0:1組卷:15引用:4難度:0.555.小呂設(shè)計(jì)了某百貨公司的會(huì)員積分查詢系統(tǒng),輸入會(huì)員卡號(hào),可以查出該卡對(duì)應(yīng)的積分.所有的會(huì)員卡號(hào)和相應(yīng)的積分已分別保存在數(shù)組vip(按從小到大排序)和數(shù)字cre中,第i個(gè)會(huì)員的卡號(hào)保存在vip(i)中,對(duì)應(yīng)的卡內(nèi)積分保存在cre(i)中.
程序界面如下所示,在文本框Text1中輸入會(huì)員卡號(hào),單擊“查詢”按鈕(Command1),相應(yīng)的卡內(nèi)積分將在標(biāo)簽Label3中顯示.
實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)?jiān)跈M線處填入合適代碼.
Dim vip(1to 10000)as long,cre(1to 10000)as integer
Const n=10000‘設(shè)會(huì)員卡總數(shù)為10000
‘Form-Load事件過(guò)程中,在列表框List1中輸出所有會(huì)員卡的卡員和積分.
Private Sub Form_Load ( ?。?br />代碼略
End Sub
Private Sub Command1_Click ( ?。?br />Dim x as long,I as integer,j as integer,m as integer
Dim find as Boolean
x=①
i=1
j=n
find=False
Do While i<=j and not find
②
If x=vip(m) then
Find=true
Elseif x<vip(m) then
J=m-1
Else
③
End if
Loop
If find then
Label3.Caption=“此會(huì)員卡的積分為”+④+“分”
Else
Label3.Caption=“找不到此卡號(hào),請(qǐng)重新輸入!”
End if
End Sub
(1)此處應(yīng)用了
(2)為實(shí)現(xiàn)上述功能,程序中橫線處的代碼應(yīng)為:
①發(fā)布:2024/11/28 20:30:6組卷:24引用:2難度:0.156.如圖所示,有如下二叉樹(shù),關(guān)于此二叉樹(shù)的說(shuō)法中,描述正確的是( ?。?img alt src="http://img.jyeoo.net/quiz/images/202210/367/35e19cea.png" style="vertical-align:middle" />
發(fā)布:2024/11/28 12:0:1組卷:11引用:4難度:0.557.Access2003自動(dòng)創(chuàng)建的主鍵數(shù)據(jù)類型是( ?。?/h2>
發(fā)布:2024/11/28 10:0:1組卷:10引用:2難度:0.558.在升序的a數(shù)組中(a(1)<a(2)<a(3)<……<a(n-1)<a(n)),用對(duì)分查找尋找不小于key 的最小值,VB程序段如下:
若滿足條件的值存在,則該值是( )發(fā)布:2024/11/27 17:0:1組卷:4引用:2難度:0.559.傳統(tǒng)危險(xiǎn)品運(yùn)輸中,對(duì)于車輛的動(dòng)態(tài)監(jiān)管很難實(shí)現(xiàn),下列( )技術(shù)可以很好的解決這個(gè)問(wèn)題。
發(fā)布:2024/11/27 8:30:1組卷:7引用:3難度:0.760.下列關(guān)于數(shù)據(jù)結(jié)構(gòu)的說(shuō)法,正確的是( ?。?/h2>
發(fā)布:2024/11/27 8:0:36組卷:25引用:3難度:0.5
