




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
VB上機(jī)試題全國計(jì)算機(jī)等級(jí)考試二級(jí)VB上機(jī)題庫(第一套)基本操作題(2小題,每小題15分,共計(jì)30分)1.在名稱為Form1的窗體上畫一個(gè)文本框,其名稱為T1,寬度和高度分別為1400和400;在畫兩個(gè)按鈕,其名稱分別為C1和C2,標(biāo)題分別為“顯示”和“擴(kuò)大”,編寫適當(dāng)?shù)氖录^程。程序運(yùn)營后,假如單擊C1命令按鈕,則在文本框中顯示“等級(jí)考試”,如圖1所示,假如單擊C2命令按鈕,則使文本框在高、寬方向上各增長一倍,文本框中的字體大小擴(kuò)大到本來的3倍,如圖2所示。注意:規(guī)定程序中不得使用變量。存盤時(shí)必須放在考生文獻(xiàn)夾下,工程文獻(xiàn)名為sjt1.vbp,窗體文獻(xiàn)名為sjt1.frm。圖1圖2解析:(大家請注意,以下分析加入我個(gè)人的理解和方法,都已通過上機(jī)驗(yàn)證,有的題方法不止一種,大家可以和我互相交流,我的郵箱:,QQ:,也可從論壇討論)這道題沒什么難度,重要考你窗體、按鈕及文本框的基本屬性,所以大家一定要純熟掌握常用控件的基本屬性。打開VB(不用我說了吧),新建一個(gè)工程(標(biāo)準(zhǔn)的EXE),單擊控件面板的“TextBox”控件(也可雙擊,直接在窗體建立),在屬性面板中將“名稱”修改為T1,“Width”修改為1400,“Height”修改為400。然后單擊控件面板的“CommanButton”添加兩個(gè)命令按鈕,在屬性面板中將“名稱”分別修改為C1和C2,“Caption”分別修改為顯示和擴(kuò)大。接下來雙擊顯示按鈕,進(jìn)入代碼編寫窗口,鍵入:(按鈕的Click事件)T1.text=”等級(jí)考試”雙擊擴(kuò)大按鈕,鍵入:(按鈕的Click事件)T1.width=T1.width+1400T1.Height=T1.Height+400T1.fontsize=T1.fontsize*3最后單擊保存按鈕,工程命名為sjt1.vbp,窗體命名為sjt1.frm??偨Y(jié):這道題只要錯(cuò)一點(diǎn)就沒有分,重要考大家仔細(xì)認(rèn)真及屬性設(shè)立的純熟限度,大家一定了解Caption、Text等屬性在不同控件含義是不同,有的控件有這個(gè)屬性,而那個(gè)控件沒有,名稱屬性是不能在運(yùn)營期間改變的等等。以上限于時(shí)間因素,不能一一舉例、分析,我會(huì)在以后給出更多總結(jié)。2.在名稱為Form1的窗體上畫一個(gè)命令按鈕,其名稱為C1,標(biāo)題為“轉(zhuǎn)換”;然后再畫兩個(gè)文本框,其名稱分別為Text1和Text2,初始內(nèi)容為空白,編寫適當(dāng)?shù)氖录^程。程序運(yùn)營后,在Text1中輸入一行英文字符串,假如單擊命令按鈕,則Text1文本框中的字母都變?yōu)樾?,而Text2的字符變?yōu)榇髮憽@?,在Text1中輸入VisualBasicProgramming,則單擊命令按鈕后,結(jié)果如圖所示。規(guī)定: 不得使用任何變量。注意:存盤時(shí)必須放在考生文獻(xiàn)夾下,工程文獻(xiàn)名為sjt2.vbp,窗提文獻(xiàn)名為sjt2.frm。解析:(大家請注意,以下分析加入我個(gè)人的理解和方法,都已通過上機(jī)驗(yàn)證,有的題方法不止一種,大家可以和我互相交流,我的郵箱:,QQ:,也可從論壇討論)這道題重要考察控件的屬性及字母大小寫轉(zhuǎn)換函數(shù),新建一個(gè)工程,在窗體上添加一個(gè)”CommandButton”控件,將“名稱”屬性修改為C1,“Caption”屬性修改為轉(zhuǎn)換;再添加兩個(gè)“TextBox”控件,將“名稱”屬性分別修改為“Text1”和“Text2”,將“Text”屬性中的內(nèi)容清空。接下來雙擊“轉(zhuǎn)換”按鈕,進(jìn)入腳本編寫窗口,鍵入:(按鈕的Click事件)Text1.text=LCase(Text1.text)Text2.text=UCase(Text1.text)最后保存工程為sjt2.vbp,窗體為sjt2.frm.總結(jié):大家一定要掌握VB中的常用函數(shù)(數(shù)學(xué)函數(shù)、字符串函數(shù)、輸入輸出函數(shù)等)及各種運(yùn)算符。簡樸應(yīng)用題(2小題,每小題20分,共計(jì)40分)1.在考生目錄下有一個(gè)工程文獻(xiàn)sjt3.vbp,相應(yīng)的窗體文獻(xiàn)為sjt3.frm。包含所有控件和部分程序,如圖所示。規(guī)定:1)運(yùn)用屬性窗口向列表框添加四個(gè)項(xiàng)目:VisualBasic,TurboC,C++,Java;2)請編寫適當(dāng)?shù)某绦蛲戤呉韵鹿δ埽寒?dāng)選擇列表框中的一項(xiàng)和單選按鈕Option1,然后單擊“擬定”命令按鈕,則文本框中顯示“XXX筆試”;當(dāng)選擇列表框中的一項(xiàng)和單選按鈕Option2,然后單擊“擬定”命令按鈕,則文本框中的一項(xiàng)和單選按鈕Option2,然后單擊“擬定”命令按鈕,則文本框中顯示“XXX上機(jī)”。其中“XXX”是在列表框中所選擇的項(xiàng)目。注意:考生不得修改窗體文獻(xiàn)中已經(jīng)存在的程序,退出程序時(shí)必須通過單擊窗體右上角的關(guān)閉按鈕。在結(jié)束程序運(yùn)營之前,必須至少進(jìn)行一次選擇操作(涉及列表框和單選按鈕),否則不得分。最后把修改的文獻(xiàn)按原文獻(xiàn)名存盤。解析:(大家請注意,以下分析加入我個(gè)人的理解和方法,都已通過上機(jī)驗(yàn)證,有的題方法不止一種,大家可以和我互相交流,我的郵箱:,QQ:,也可從論壇討論)這道題考察大家列表框、單選按鈕的屬性設(shè)立一方面打開工程sjt3.vbp,打開窗體sjt3.frm,選擇其中的List1控件,在屬性面板中,在“List”屬性中添加“VisualBasic”、“TurboC”、“C++”、“Java”。雙擊窗體的“擬定”按鈕并輸入以下代碼:(按鈕的Click事件)IfOption1.Value=TruethenText1.Text=List1.List(List1.ListIndex)+Option1.CaptionEndIfIfOption2.Value=TruethenText1.Text=List1.List(List1.ListIndex)+Option2.CaptionEndIf最后單擊保存按鈕。總結(jié):列表框(ListBox)和組合框(ComboBox)、單選按鈕(OptionButton)和復(fù)選框(CheckBox)這幾個(gè)控件的區(qū)別(事件和屬性)。例如,同樣是Value事件,對于單選按鈕來說,可以設(shè)立為True和Flase;而對于復(fù)選按鈕來說,設(shè)立的值為0,1,2。2.在考生目錄下有一個(gè)工程文獻(xiàn)sjt4.vbp,相應(yīng)的窗體文獻(xiàn)為sjt4.frm。在窗體上已有一個(gè)命令按鈕。其名稱為Command1,標(biāo)題為“計(jì)算并輸出”;程序運(yùn)營后,假如單擊命令按鈕,程序?qū)⒂?jì)算500以內(nèi)兩個(gè)數(shù)之間(涉及開頭和結(jié)尾的數(shù))所有連續(xù)數(shù)的和為1250的正整數(shù),并在窗體上顯示出來,這樣的數(shù)有多組,程序輸出每組開頭和結(jié)尾的正整數(shù),并用“~”連接起來,如圖所示,這個(gè)程序不完整,請把它補(bǔ)充完整。規(guī)定:去掉程序中的注釋符,把程序中的?該為對的的內(nèi)容,使其實(shí)現(xiàn)上述功能,但不得修改程序中的其他部分。最后把修改的文獻(xiàn)按原文獻(xiàn)存盤。解析:(大家請注意,以下分析加入我個(gè)人的理解和方法,都已通過上機(jī)驗(yàn)證,有的題方法不止一種,大家可以和我互相交流,我的郵箱:,QQ:,也可從論壇討論)這到題用到了循環(huán)語句和選擇語句題目給出的程序如下:(一共三個(gè)空)PrivateSubCommand1_Click()DimiAsInteger,jAsInteger,iSumAsIntegerPrint"連續(xù)和為1250的正整數(shù)是:"Fori=1To500'?=0賦初值Forj=iTo500'iSum=?進(jìn)行累加IfiSum>=1250ThenExitForNext'IfiSum=?Then和是否為1250Printi;"~";jEndIfNextEndSub答案為:1)isum2)j+iSum3)1250總結(jié):不要忘掉將程序前面的‘去掉,否則還會(huì)認(rèn)為是注釋語句掌握選擇、循環(huán)語句,由于在實(shí)際問題中經(jīng)常用到綜合應(yīng)用題(1小題,計(jì)40分)在窗體上畫一個(gè)文本框,名稱為Text1,初始內(nèi)容為空白,并設(shè)立多行顯示格式;然后再畫兩個(gè)命令按鈕,其名稱分別為Command1和Command2,標(biāo)題分別為“顯示”和“保存”,如圖所示,編寫適當(dāng)?shù)氖录^程。程序運(yùn)營后,假如單擊“顯示”命令按鈕,則讀取考生目錄下的in5.txt文獻(xiàn),并在文本框中顯示出來,該文獻(xiàn)是一種用隨機(jī)存取方式建立的文獻(xiàn),共有5個(gè)記錄,規(guī)定按記錄號(hào)順序顯示所有記錄,每個(gè)記錄一行;假如單擊“保存”命令按鈕,則把所有記錄保存到考生目錄下的順序文獻(xiàn)
out5.txt中。隨機(jī)文獻(xiàn)in5.txt中的每個(gè)記錄涉及3個(gè)字段,分別為姓名、性別和年齡,其名稱和長度分別為:Name字符串8Sex字符串4AgeInteger其類型定義為:PrivateTypeStudInfoNameAsString*8SexAsString*4AgeAsIntegerEndType規(guī)定:文獻(xiàn)out5.txt以順序存取方式建立和保存。存盤時(shí)必須放在考生目錄下,工程為sjt5.vbp,窗體文獻(xiàn)名為sjt5.frm。解析:(大家請注意,以下分析加入我個(gè)人的理解和方法,都已通過上機(jī)驗(yàn)證,有的題方法不止一種,大家可以和我互相交流,我的郵箱:,QQ:,也可從論壇討論)這道題重要考察順序和隨機(jī)文獻(xiàn)的讀、寫操作新建一個(gè)工程,在窗體上添加“TextBox”控件,在屬性面板中,將“Text”屬性設(shè)為空,把“名稱”屬性設(shè)為“Text1”,把“Multiline”屬性設(shè)為True。然后再添加兩個(gè)“CommandButton”控件,在屬性面板中將“名稱”屬性分別改為“Command1”、“Command2”,將“Caption”屬性分別設(shè)為“顯示”、“保存”。在窗體上單擊右鍵選擇“查看代碼”選項(xiàng),在代碼窗體中寫下如下代碼:PrivateTypeStudInfoNameasstring*8Sexasstring*4AgeasintegerEndTypeDimpersasstudinfoDimrecmumasinteger顯示按鈕腳本:Privatesubcommand1_click()Openapp.path+”\in5.txt”forrandomas#1Len=len(pers)recnum=lof(1)/len(pers)ClsFori=1torecnumGet#1,,persText1.text=text1.text++pers.sex+str(pers.age)+vbcrlfNextiClose1Endsub保存按鈕腳本:Privatesubcommand2_click()Openapp.path+”\out5.txt”foroutputas#1Print#1,text1.textClose#1Endsub最后,單擊保存按鈕,工程保存為sjt5.vbp,窗體保存為sjt5.frm。全國計(jì)算機(jī)等級(jí)考試二級(jí)VB上機(jī)題庫(第二套)1.基本操作(2小題,每小題15分,共計(jì)30分)注意:下面出現(xiàn)的"考生文獻(xiàn)夾"均為C:\WEXAM\00000000\**********************************************************************請根據(jù)以下各小題的規(guī)定設(shè)計(jì)VisualBasic應(yīng)用程序(涉及界面和代碼)。(1)在名稱為Form1,標(biāo)題為"窗體"的窗體上畫一個(gè)標(biāo)簽,其名稱為Label1,標(biāo)題為"等級(jí)考試",BorderStyle屬性為1,且可以自動(dòng)調(diào)整大小,再畫一個(gè)框架,名稱為Frame1,標(biāo)題為"科目",如圖所示。注意:存盤時(shí)必須存放在考生文獻(xiàn)夾下,工程文獻(xiàn)名為sjt1.vbp,窗體文獻(xiàn)名為sjt1.frm。**********************************************************************(2)在名稱為Form1的窗體上畫兩個(gè)圖像框,其名稱分別為Image1和Image2,Stretch屬性分別為True和False,然后通過屬性窗口在Image1中裝入一個(gè)圖形文獻(xiàn)pic.jpg(位于考生文獻(xiàn)夾下),編寫適當(dāng)?shù)氖录^程。程序運(yùn)營后,假如單擊窗體,則可清除Image1中的圖形,并把該圖形復(fù)制到Image2中,如圖所示。注意:規(guī)定程序中不得使用變量。存盤時(shí)必須存放在考生文獻(xiàn)夾下,工程文獻(xiàn)名為sjt2.vbp,窗體文獻(xiàn)名為sjt2.frm。第一題重要考察了Frame控件屬性的使用及Label控件的使用。在Label與Frame控件中可通過使用Caption屬性來指定其要顯示的內(nèi)容,同時(shí)可通過Font屬性來設(shè)定要顯示文字的字體。第二題重要考察了Image控件的Stretch屬性的使用方法,通過指定Stretch可以指定圖片是否被拉伸,同時(shí)也考察了Image控件中圖片的清除方法,可用Set控件名.Picture=Nothing來清除Image控件中的圖片。2.簡樸應(yīng)用(2小題,每題20分,計(jì)40分)注意:下面出現(xiàn)的"考生文獻(xiàn)夾"均為%USER%***********************************************************************(1)在考生文獻(xiàn)夾下有一個(gè)工程文獻(xiàn)sjt3.vbp,相應(yīng)的窗體文獻(xiàn)為sjt3.frm。在名稱為Form1的窗體上有一個(gè)名稱為Text1的文本框和名稱為Command1、標(biāo)題為"擬定"的命令按鈕,一個(gè)名稱為List1的列表框和兩個(gè)名稱分別為Option1和Option2、標(biāo)題分別為"添加"和"刪除"的單選按鈕,如圖1所示。程序運(yùn)營后,假如選擇單選按鈕Option1并在文本框中輸入一個(gè)字符串,然后單擊"擬定"命令按鈕,則把文本框中的字符串添加到列表框中,并清除文本框,如圖2所示;假如選擇列表框中的一項(xiàng)和單選按鈕Option2,并單擊"擬定"命令按鈕,則刪除列表框中所選擇的項(xiàng)目,如圖3所示;假如不選擇列表框中的項(xiàng)目,或者沒有在文本框中輸入字符串,則單擊"擬定"命令按鈕后,將顯示一個(gè)信息框"未輸入或未選擇項(xiàng)目",如圖4所示。該程序不完整,請把它補(bǔ)充完整。規(guī)定:去掉程序中的注釋符,把程序中的?改為對的的內(nèi)容,使其能對的運(yùn)營,但不能修改程序中的其他部分。最后用本來的文獻(xiàn)名保存工程文獻(xiàn)和窗體文獻(xiàn)。**********************************************************************(2)在考生文獻(xiàn)夾下有一個(gè)工程文獻(xiàn)sjt4.vbp,相應(yīng)的窗體文獻(xiàn)為sjt4.frm。在窗體上有一個(gè)命令按鈕,其名稱為Command1,標(biāo)題為"計(jì)算"。程序運(yùn)營后,假如單擊命令按鈕,程序?qū)⒏鶕?jù)下面的公式計(jì)算π的值:π/4=1-1/3+1/5-1/7+......所提供的窗體文獻(xiàn)已給出了命令按鈕的事件過程,程序運(yùn)營結(jié)果如圖所示。該程序不完整,請把它補(bǔ)充完整。規(guī)定:去掉程序中的注釋符,把程序中的?改為對的的內(nèi)容,使其能對的運(yùn)營,但不能修改程序中的其他部分。最后用本來的文獻(xiàn)名保存工程文獻(xiàn)和窗體文獻(xiàn)。第一小題:該題考察考生對ListBox控件的使用。列表框的AddItem方法用來在列表框中插入一行文本,其語法為:列表框名.AddItem字符串[,索引值]假如省略"索引值",則字符串被添加到列表框的尾部;使用"索引值"可以將字符串插入列表框中的指定位置。"索引值"從0開始,到列表項(xiàng)總數(shù)-1止。列表框的RemoveItem方法用來刪除列表框中的指定項(xiàng)目,其語法為:列表框名.RemoveItem索引值列表框的ListIndex屬性用來設(shè)立或返回列表框中當(dāng)前選中的列表項(xiàng)。第二小題:該題考察了Do-Loop循環(huán)結(jié)構(gòu)語句和公式計(jì)算的算法實(shí)現(xiàn),相關(guān)程序如下:PrivateSubCommand1_Click()DimResultAsDoubleDimSignAsIntegerDimiAsIntegerResult=0Sign=1i=1DoResult=Result+Sign/ii=i+2Sign=-SignLoopWhile1/i>=0.0001Text1.Text=Result*4EndSub3.綜合應(yīng)用(1小題,計(jì)30分)注意:下面出現(xiàn)的"考生文獻(xiàn)夾"均為%USER%在考生文獻(xiàn)夾下有一個(gè)工程文獻(xiàn)sjt5.vbp,相應(yīng)的窗體文獻(xiàn)為sjt5.frm。窗體外觀如圖1所示。三個(gè)命令按鈕的名稱分別為Command1、Command2和Command3,標(biāo)題分別為"讀取數(shù)據(jù)"、"首字母大寫"和"存盤"。程序運(yùn)營后,假如單擊"讀取數(shù)據(jù)"命令按鈕,則讀取考生文獻(xiàn)夾下in5.txt中的所有文本(文本中的單詞與單詞之間或標(biāo)點(diǎn)符號(hào)與單詞之間均用一個(gè)空格分開),并在文本框中顯示出來,如圖2所示;假如單擊"首字母大寫"命令按鈕,則將文本框中每個(gè)單詞的第一個(gè)字母變?yōu)榇髮懽帜福偃绫緛硪咽谴髮懽帜竸t不改變),并在文本框中顯示出來,如圖3所示;假如單擊"存盤"命令按鈕,則把文本框中的內(nèi)容(首字母大寫后)保存到考生文獻(xiàn)夾下的文獻(xiàn)out5.txt中。窗體文獻(xiàn)中已給出了部分程序,請把它補(bǔ)充完整,使其實(shí)現(xiàn)上述功能。規(guī)定:1)編寫"讀取數(shù)據(jù)"命令按鈕的Click事件過程。2)去掉"首字母大寫"命令按鈕和"存盤"命令按鈕事件過程中的注釋符,把程序中的?改為對的的內(nèi)容,使其能對的運(yùn)營。3)用本來的文獻(xiàn)名保存工程文獻(xiàn)和窗體文獻(xiàn)。本題重要考察了文獻(xiàn)的操作,文獻(xiàn)中字符串的解決方法。重要代碼如下:DimsAsStringPrivateSubCommand1_Click()Open"in5.txt"ForInputAs#1s=Input$(LOF(1),1)Close#1Text1.Text=sEndSubPrivateSubCommand2_Click()DimoldSenAsStringDimnewSenAsStringDimchAsStringDimlastChAsStringoldSen=Text1.Textstrlen=Len(oldSen)lastCh=Left(oldSen,1)Fori=1Tostrlench=Mid(Text1.Text,i,1)IflastCh=""Thench=UCase(ch)EndIfnewSen=newSen&chlastCh=chNextiText1.Text=newSenEndSubPrivateSubCommand3_Click()Open"out5.txt"ForOutputAs#1Write#1,Text1.TextClose#1EndSub答案:Dima(10)AsInteger
Dimb(10)AsInteger
Dimc(10)AsIntegerPrivateSubCommand1_Click()
OpenApp.Path&"\dataA.txt"ForInputAs#1
OpenApp.Path&"\dataB.txt"ForInputAs#2
Fori=0To9
Input#1,a(i)
Input#2,b(i)
Next
Close#1,#2
EndSubPrivateSubfind(x()AsInteger,tAsControl)
DimiAsInteger,maxAsInteger
max=x(1)
Fori=2To10
Ifmax<x(i)Thenmax=x(i)
Nexti
t.Text=max
EndSubPrivateSubCommand2_Click()
DimiAsInteger
Fori=1To10
c(i)=a(i)+b(i)
Nexti
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)科急救培訓(xùn)課件
- 木材加工企業(yè)的信息化建設(shè)與管理考核試卷
- 化工產(chǎn)品批發(fā)商銷售團(tuán)隊(duì)激勵(lì)與培訓(xùn)實(shí)踐考核試卷
- 冷凍飲品行業(yè)企業(yè)發(fā)展戰(zhàn)略與實(shí)施路徑考核試卷
- 半導(dǎo)體照明器件的振動(dòng)測試考核試卷
- 家具品牌形象塑造考核試卷
- 機(jī)床附件的行業(yè)競爭格局與市場定位考核試卷
- 國際貿(mào)易中的社會(huì)責(zé)任與合規(guī)性考核試卷
- 成人高考物理電磁學(xué)綜合應(yīng)用考核試卷
- 小學(xué)生師生互動(dòng)課件
- 魚骨圖培訓(xùn)課件
- 護(hù)理禮儀與人文關(guān)懷
- 運(yùn)維服務(wù)體系建立實(shí)施方案(5篇)
- 路面基層(級(jí)配碎石)施工方案
- 2025年日歷(日程安排-可直接打印)
- 四川政采評(píng)審專家入庫考試基礎(chǔ)題復(fù)習(xí)試題及答案(一)
- 患者手術(shù)風(fēng)險(xiǎn)評(píng)估與術(shù)前準(zhǔn)備制度
- 口腔執(zhí)業(yè)醫(yī)師定期考核試題(資料)帶答案
- 2024年三八婦女節(jié)婦女權(quán)益保障法律知識(shí)競賽題庫及答案(共260題)
- 2023年7月浙江省普通高中學(xué)業(yè)水平考試(學(xué)考)語文試題答案
- 2024年計(jì)算機(jī)軟件水平考試-初級(jí)信息處理技術(shù)員考試近5年真題集錦(頻考類試題)帶答案
評(píng)論
0/150
提交評(píng)論