

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Visual Basic程序設(shè)計(jì)及應(yīng)用,主講教師:唐大仕dstang2000@263.net,,北京大學(xué)課程,有關(guān)事項(xiàng),參考書Visual Basic 程序設(shè)計(jì),唐大仕,清華大學(xué)出版社,2003 (叢書主編:盧湘鴻)Visual Basic 程序設(shè)計(jì)題解與上機(jī)指導(dǎo)唐大仕,清華大學(xué)出版社,2003,,教學(xué)網(wǎng)站校內(nèi):http://cf.pku.cn/tds備份:http://www.dstang.com/cf2 與唐大仕
2、老師聯(lián)系dstang2000@263.net QQ:351116463上機(jī)時(shí)間星期四9-10節(jié), 地點(diǎn)3、5、6號(hào)機(jī)房,課程要求,不遲到、不曠課完成參考資料的閱讀、練習(xí)等課后任務(wù)按時(shí)交作業(yè),1 序論,,程序與語言的概念,為什么要學(xué)習(xí)程序設(shè)計(jì)軟件=程序+文檔程序:指令的序列語言匯編語言 asm : 用助記符來表示計(jì)算指令高級(jí)語言 c, pascal, fortran, 用表達(dá)式來表示計(jì)算用過程來表示流程面向
3、對(duì)象的語言 c++, java,vb用對(duì)象來表示實(shí)現(xiàn)世界每個(gè)對(duì)象有自己的屬性、功能、能與外界交互,Visual Basic簡(jiǎn)介,一種程序設(shè)計(jì)環(huán)境一種程序設(shè)計(jì)語言具有廣泛的用途,VB 快速入門單擊?右擊?雙擊,設(shè)計(jì)與運(yùn)行,界面設(shè)計(jì)(插入對(duì)象,設(shè)其屬性)(對(duì)象窗)代碼設(shè)計(jì)(雙擊對(duì)象,填寫代碼)(代碼窗)運(yùn)行按F5(或點(diǎn)“啟動(dòng)”按鈕)示例:按鈕?信息,示例:按鈕?信息,在程序中書寫:MsgBox "Hel
4、lo!"編程提示: 要用西文標(biāo)點(diǎn)、空格單擊“啟動(dòng)”按鈕才會(huì)運(yùn)行單擊“結(jié)束”按鈕才可以進(jìn)一步修改,保存,保存窗體文件.frm工程文件.vbp其他輔助文件編程提示:文件應(yīng)保存在自已的文件夾中,不要放在VB98下下次打開這個(gè)程序,只需雙擊.vbp文件即可每一個(gè)程序都要單獨(dú)建一個(gè)工程每個(gè)程序放在單獨(dú)的文件夾中交作業(yè)時(shí),將文件夾中的所有文件壓縮成一個(gè)文件,編譯,編譯編譯就是將源程序轉(zhuǎn)成可執(zhí)行程序的過程怎樣
5、編譯文件?生成xxxxx.exe文件編程提示:exe是交給最終用戶的,編程者不需要它,一些典型應(yīng)用,,一些專題知識(shí),自己設(shè)計(jì)一個(gè)屏幕保護(hù)程序;自己設(shè)計(jì)一個(gè)多媒體播放器;自己設(shè)計(jì)一個(gè)小游戲;信息安全與密碼問題;軟件工程,程序漏洞的原因;信息管理系統(tǒng);網(wǎng)上信息交流,聊天,游戲的原理;電子商務(wù)的基本構(gòu)成方式;計(jì)算機(jī)智能及其局限性;分形圖形與計(jì)算機(jī)藝術(shù);等等。,課程目標(biāo),1. 程序以Visual Basic為工具掌
6、握程序設(shè)計(jì)的基本概念和基本方法具備使用程序來解決一些實(shí)際問題的能力2. 應(yīng)用通過程序來提高Word、Excel、網(wǎng)頁制作等常用軟件的應(yīng)用能力了解病毒防護(hù)、數(shù)據(jù)加密、企業(yè)信息化、電子政務(wù)、人工智能、數(shù)字藝術(shù)等專題知識(shí)以簡(jiǎn)明的程序來介紹,不是十分注重編程技巧技術(shù),而是重在理解其本質(zhì)。,VB程序設(shè)計(jì)環(huán)境,工程窗口 對(duì)象窗口代碼窗屬性窗工具箱,注意區(qū)分三種狀態(tài),設(shè)計(jì)狀態(tài)運(yùn)行狀態(tài)中斷狀態(tài),小結(jié),程序、軟件與語言Visu
7、al Basic是一種高級(jí)語言設(shè)計(jì)界面設(shè)計(jì)代碼設(shè)計(jì)運(yùn)行保存編譯,Visual Basic程序設(shè)計(jì),主講教師:唐大仕dstang2000@263.net,,北京大學(xué)課程,2 VB程序設(shè)計(jì)的核心概念,,VB中的對(duì)象,屬性(property)對(duì)象的狀態(tài),用名詞、形容詞表示方法 (method)對(duì)象的動(dòng)作或功能,用動(dòng)詞表示事件 (event)對(duì)象與外界的交互,屬性的書寫,對(duì)象.屬性 Command1.Caption
8、 = “xxxxx”Text1.ForeColor = vbRedMe.BackColor = RGB( 255, 0, 0 )注:Me表示窗體Me.BackColor=RGB( Rnd*255, Rnd*255, Rnd*255)注:Rnd表示隨機(jī)數(shù)(范圍0到1之間,不包括1)注意用等號(hào),方法的書寫,對(duì)象.方法Command1.Move 1000,500Me.Print "Hello"注意
9、:屬性和方法都可以智能提示若沒有提示,經(jīng)常都因?yàn)閷戝e(cuò)了對(duì)象名寫錯(cuò)了對(duì)象名,運(yùn)行時(shí)會(huì)提示“需要對(duì)象”可以用Me.來正確地書寫對(duì)象名,事件的書寫,Private Sub 對(duì)象名_事件名( … … )寫書代碼……End Sub一般不用手工書寫可直接在代碼窗的頂部選擇對(duì)象名及事件名事件驅(qū)動(dòng)示例 :MouseMove事件 參見文件event_drive.frmMe.Caption = x & ",&q
10、uot; & y注意:& 表示連接,& 前后需要一個(gè)空格,示例:事件?改變屬性,改變字體、大小、顏色注意: = 表示賦值 a= a+1,進(jìn)一步理解對(duì)象,,對(duì)象命名,對(duì)象名對(duì)象名(Name)與文字(Caption/Text)不同窗體名.控件名,匈牙利命名法,對(duì)象命名的慣例:匈牙利命名法前綴(表類型) + 單詞(表意義) 例:btnSayHello btnOk c
11、mdOk,特殊對(duì)象名,事先定義好的對(duì)象 Me, Screen, Printer , App, Debug注:Me表示當(dāng)前窗體Me.可省略Me.Left = (Screen.Width- Me.Width)/2操作技巧: Ctrl+J 快速提示 vbXxxxx F2 對(duì)象瀏覽,幾種常用對(duì)象,按鈕 CommandButton 前綴btn標(biāo)簽 Label
12、 lbl文本框 TextBox txt圖片框 PictureBox pic注:如果要在按鈕上加圖片必須首先設(shè)設(shè)Style 然后再設(shè)Picture,DownPicture,常見的屬性,NameForeColor, BackColor FontSize FontName Top Left Width HeightC
13、aption/ Picture/ Text / ValueVisiable Enabled,默認(rèn)屬性,對(duì)象有一個(gè)默認(rèn)屬性(屬性值)如:Label的Caption, Text的Text如: Text1.Text = "...." 可寫為 Text1 = "....",常見的方法,Move (適用于各種控件)Print (適用于窗體及圖片框)S
14、how / Hide (適用于窗體),常見的事件,有關(guān)Mouse, keyboard,有關(guān)選擇,文字改變,事件驅(qū)動(dòng)編程,對(duì)象之間的相互作用示例:兩個(gè)文本框顯示同樣的文本文本框的change事件跳動(dòng)的小球Shape形狀對(duì)象: Shape FillColor FillStyleTimer計(jì)時(shí)器對(duì)象: IntervalShape1.Left = Shape1.Left + Rnd*1000-500Me.Caption
15、 = NowForm_Load事件變色的彩燈Shape1.FillColor,使用幫助,按F1鍵 進(jìn)入MSDN(要求安裝了MSDN)使用網(wǎng)絡(luò)上的MSDN進(jìn)入 http://msdn.microsoft.com 選 > Library > Development Tools and Languages > Visual Studio 6.0 > Visual Basic 6.0 > 按
16、F2鍵 進(jìn)入對(duì)象瀏覽窗口按Ctrl+J 鍵 進(jìn)入快速提示使用vb5的中文幫助,可從教學(xué)網(wǎng)上下載,網(wǎng)絡(luò)上的資源,國內(nèi)http://www.vbgood.com/ http://www.vbaspnew.com http://vbworld.sxnw.gov.cn/http://www.vbdak.net/國外http://msdn.microsoft.com/vbasic/http://www.vb-helpe
17、r.com/http://www.planet-source-code.com/ 使用搜索引擎www.baidu.com www.google.com 討論區(qū)bbs.pku.cn, bbs.tsinghua.edu.cn 上的VB討論區(qū),小結(jié),Visual Basic程序設(shè)計(jì)語言是一種面向?qū)ο蟮母呒?jí)語言Visual Basic程序設(shè)計(jì)環(huán)境是一種易用的、集成化的、可視化編程環(huán)境Visual Basic程序設(shè)計(jì)核心概念對(duì)
18、象:屬性、方法、事件事件驅(qū)動(dòng)編程,Visual Basic程序設(shè)計(jì),主講教師:唐大仕dstang2000@263.net,,北京大學(xué)課程,3 數(shù)據(jù)與運(yùn)算,,數(shù)據(jù)與運(yùn)算,數(shù)據(jù):常量與變量數(shù)據(jù)的類型Me.Height = 3000 數(shù)值Command1.Caption = "Press Me" 文字Label1.Visible = False 邏輯Me.Print Now
19、 日期時(shí)間不同的類型:數(shù)據(jù)的含義不同數(shù)據(jù)的運(yùn)算不同數(shù)據(jù)的存儲(chǔ)方式不同,數(shù)據(jù)類型,類型 占字節(jié)數(shù)整型 Integer 2 ( 范圍 -32768~32767) 長整型 Long 4單精度 Single 4雙精度 Double 8。,數(shù)據(jù)類型(續(xù)),邏輯型 Boolean 2 值能為
20、 True 或 False日期型 Date 8字符串型 String 變體型 Variant對(duì)象型 Object,變量,變量的含義變量的名字用字母、數(shù)字、下劃線構(gòu)成不能用數(shù)字開頭,變量的定義,隱式定義不定義而直接賦值顯式定義 使用DIM 例 Dim age As IntegerDim iCount% As Integer, salary As DoubleDim s
21、tudentName As String,字面常量的書寫,整數(shù)、實(shí)數(shù) 類似于數(shù)學(xué)中的寫法 如 123 -45 123.45 2.3E-5 4# 十六進(jìn)制 &H0027D9長整數(shù) 1234&日期 #9:21:30 PM# #7/21/99# 邏輯 True False字符 "Hello"
22、"A" "",符號(hào)常量,Const PI As Double =3.14,運(yùn)算符,算術(shù)運(yùn)算 +(加) - (減) *(乘) /(除) \(整除) mod(取余)^(乘方)字符串連接 & +關(guān)系運(yùn)算 > = 邏輯運(yùn)算 And Or Not,表達(dá)式,表達(dá)式舉例:參 表達(dá)式.txt,運(yùn)算符的優(yōu)先級(jí),優(yōu)先級(jí)(從高到低):算術(shù)運(yùn)算(其中 ^
23、? */ ? \ ? +- )關(guān)系運(yùn)算 (> = < )邏輯運(yùn)算(其中Not?And?Or)用圓括號(hào),程序的基本任務(wù),輸入?處理?輸出示例:圓的面積Dim r As Double, area As DoubleConst Pi As Double = 3.14r = InputBox("請(qǐng)輸入半徑")area = Pi * r * rMsgBox "半徑為"
24、& r & "的圓的面積是" & area注意:要定義變量,關(guān)于數(shù)據(jù)類型的幾個(gè)細(xì)節(jié),類型的不嚴(yán)格如 Me.Caption = Now()如 r = Text1.Text精度問題如 i = 5.6 i=5.5 i=5.4,示例,求解一元二次方程用文本框來表示輸入、輸出用按鈕來表示命令對(duì)象名一定要寫正確注意公式中用Sqr表平方根,注意圓括號(hào),數(shù)學(xué)函數(shù),RndInt(Rn
25、d * 9) + 1注:Randomize 表示隨機(jī)初始化Sqr,Abs 平方根,絕對(duì)值Sin, Cos 正弦、余弦(弧度作單位)Log, Exp 自然對(duì)數(shù)、指數(shù)Int 取整(不超過它的最大整數(shù))示例:rnd_luckynum Rnd_投針 Sqr_triangle_area,字符串函數(shù),Len 求長度LTrim, RTrim, Trim 去空格UCase, LCase 大寫、小寫Left, Ri
26、ght, Mid 左邊、右邊、中間InStr 在字符串的子串位置Asc, Chr, String 求ASCII碼、轉(zhuǎn)字符、重復(fù)字符,日期函數(shù),Date, Time, Now 當(dāng)前日期、時(shí)間、Year, Month, Day, Weekday 求年、月等Hour, Minute, Second 求時(shí)、分、秒,轉(zhuǎn)換及判斷,CInt, CLng, CDbl, CDate, CStr 轉(zhuǎn)成相應(yīng)的類型Str, Val 轉(zhuǎn)
27、成字符串,轉(zhuǎn)成數(shù)字Hex, Oct 轉(zhuǎn)成十六進(jìn)制,八進(jìn)制FormatFormat( Now(), "hh:mm:ss" )Format( 3.14, "#,###.000" )IsNumeric, IsDate 是否為數(shù)字、為日期,重要函數(shù)列表,I/O: MsgBox InputBox Beep數(shù)學(xué): Rnd Abs Int Sqr Sin Cos Log Exp字符串:
28、 Len LTrim RTrim Trim UCase Mid Left Right InStr Chr Asc日期: Date Time Now Year Month Day轉(zhuǎn)換判斷 CInt Val Format IsDate IsNumeric,小專題:VB的函數(shù)與Excel函數(shù),+ - * / \ Mod ^And Or NotRnd Abs Int
29、Sqr Sin Cos Log ExpLen LTrim RTrim Trim UCase LCase Mid Left Right InStr Chr AscDate Now Year Month DayCInt Val Format IsDate IsNumeric,+ - * / Mod() ^And() Or() Not()Rand Abs Int Sqrt Sin Cos Log Exp
30、Len LTrim RTrim Trim Upper Lower Mid Left Right Find Char Code Today Now Year Month DayInt Value Format IsDate IsNumber,Excel函數(shù)舉例,在學(xué)生名單表中排序字段=MID(A2,4,2)& "_" & A2隨機(jī)選擇 =INDEX(A2:A161, RA
31、ND()*161+1 )查找=VLOOKUP(D2,A2:B161,2,FALSE),小結(jié),數(shù)據(jù)類型常量與變量運(yùn)算符常用函數(shù),Visual Basic程序設(shè)計(jì),主講教師:唐大仕dstang2000@263.net,,北京大學(xué)課程,4 語句與分支控制,,VB語言,程序設(shè)計(jì)語言的兩個(gè)重要方面:數(shù)據(jù)控制,簡(jiǎn)單語句,簡(jiǎn)單語句一句一行多句同行 (用: )一句跨多行(用 _ ),注釋,對(duì)程序的執(zhí)行沒有影響用單引號(hào)開始,
32、直到行尾注釋的用途:對(duì)一段程序?qū)σ恍┳兞繉?duì)一些算法,賦值語句 =,示例: a=a+1 示例: 移動(dòng)的小球示例:交換兩變量值,輸入與輸出,程序的基本過程:輸入?處理?輸出輸入輸出的常見方法:使用控件進(jìn)行輸入(如TextBox)輸出(如Label)使用InputBox, MsgBox 使用Print表示輸出,Print的使用,Print換行不換行(,或;)示例:圓的面積方法 Print, cls ,
33、與; 示例: a *b = c,If條件語句,兩種寫法:同一行: If 條件 Then … Else …多行: If 條件 Then … Else … End If,,示例,示例:小球移動(dòng),但不出邊界要點(diǎn)1:使用變量要點(diǎn)2:使用If示例:閏年y Mod 400 = 0 Or y Mod 100 0 And y Mod 4 = 0要點(diǎn)1:使用Mod要點(diǎn)2:使用
34、And 及 Or,條件語句嵌套,條件語句的嵌套示例:性別,年齡的判斷示例: 判斷圓的半徑編程提示:使用Tab鍵正確地縮進(jìn),ElseIf,示例:分?jǐn)?shù)的判斷示例:所得稅的計(jì)算,Select Case,Select case 表達(dá)式 case 常量 。。。。 case 常量 。。。。 case else …. End Select示例: 分?jǐn)?shù),示例: 自動(dòng)出題及判分,
35、If 及 Select Case的使用變量的使用注意,a,b,op三個(gè)變量是放到最前面的(不在Sub內(nèi),被稱為窗體級(jí)變量)隨機(jī)數(shù)的使用RndRandomize 隨機(jī)數(shù)初始化,一般在Form_Load中據(jù)Rnd的數(shù)值來表示不同的字符,如+-*/,IIF函數(shù),IIf(條件, 式1, 式2 )例如: M = IIf( a>b, a, b )z = IIf( a<1, “小”, IIf( a=1, “等”,
36、 “大”) ),小專題:關(guān)于隨機(jī)數(shù),偽隨機(jī)數(shù)線性同余算法Xn+1 = (Xn * a + c ) mod m,其中m>0稱為模數(shù),0≤ a <m稱為乘數(shù),0≤c <m稱為增量,0≤X0<m稱為初始值或種子如 X = ( X * 123 + 59 ) mod 65535如 X = ( X * 20
37、53 + 13849 ) mod 65535如 a取 69069或 1664525(即&H19660D),Java語言中用的公式,synchronized public void setSeed(long seed) { this.seed = (seed ^ 0x5DEECE66DL) & ((1L >> (48 - bits)); } Donald Knuth, The Art of Comput
38、er Programming, Volume 2, Section 3.2.1.,C語言中用的公式,unsigned long int next = 1; int rand(void) { next = next * 1103515245 + 12345; return (unsigned int)(next/65536) % 32768; }void srand(unsigned int s
39、eed) { next = seed; },生成標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù),產(chǎn)生方法很多。近似方法(利用中心極限定理)即用 個(gè) 變量產(chǎn)生一個(gè) 變量。其中 是抽自 的隨機(jī)數(shù), 可近似為一 個(gè) 變量。簡(jiǎn)單地說:6個(gè)均勻分布的隨機(jī)數(shù)的平均值是一個(gè)正態(tài)分布的隨機(jī)數(shù),蒲豐氏(Buffon)問題,如果針的長度是平行間的距離的一半,則:Pi = 總數(shù) /
40、 相交的針,針在平行線間的位置,蒙特卡羅(Monte Carlo)方法,蒙特卡洛方法是一種應(yīng)用隨機(jī)數(shù)來進(jìn)行計(jì)算機(jī)模擬的方法.此方法對(duì)研究的系統(tǒng)進(jìn)行隨機(jī)觀察抽樣,通過對(duì)樣本值的觀察統(tǒng)計(jì),求得所研究系統(tǒng)的某些參數(shù).蒙特卡羅方法的主要應(yīng)用范圍包括:粒子輸運(yùn)問題,統(tǒng)計(jì)物理,典型數(shù)學(xué)問題,真空技術(shù),激光技術(shù)以及醫(yī)學(xué),生物,探礦等方面。隨著科學(xué)技術(shù)的發(fā)展,其應(yīng)用范圍將更加廣泛。蒙特卡羅方法在粒子輸運(yùn)問題中的應(yīng)用范圍主要包括:實(shí)驗(yàn)核物理,反應(yīng)堆物
41、理,高能物理等方面。蒙特卡羅方法在實(shí)驗(yàn)核物理中的應(yīng)用范圍主要包括:通量及反應(yīng)率,中子探測(cè)效率,光子探測(cè)效率,光子能量沉積譜及響應(yīng)函數(shù),氣體正比計(jì)數(shù)管反沖質(zhì)子譜,多次散射與通量衰減修正等方面。,,在我們所生活的世界上,充滿了不確定性,小結(jié),簡(jiǎn)單語句輸入及輸出If/ElseIf語句Select Case語句,Visual Basic程序設(shè)計(jì),主講教師:唐大仕dstang2000@263.net,,北京大學(xué)課程,5 循環(huán)語句、繪圖,
42、,三種控制結(jié)構(gòu),為什么要有循環(huán)程序的三種控制結(jié)構(gòu)順序分支(選擇)循環(huán),程序流程圖,流程線開始與結(jié)束 任務(wù)及子任務(wù)輸入與輸出條件判斷,,,,,,For語句,For v=1 To 100 Step 2 …Next其中 Step 1可以省略,使用 For語句,示例 顯示1-100畫同心圓1+2+…+1001*1+2*2 +...+100*1006^3+....+69^3,Do Loop,Do W
43、hile 條件 。。。Loop 示例:角谷猜想,Do 循環(huán)的幾種寫法,Do While 條件 (或:Until條件) 。。。Loop Do 。。。(至少執(zhí)行一次循環(huán))Loop While 條件 (或:Until條件)While 條件。。。Wend,循環(huán)的五要素,初始化循環(huán)條件循環(huán)動(dòng)作循環(huán)改變結(jié)束后處理,理解循環(huán),1變量 5要素 3典型幾種循環(huán)的比較,繪圖,在哪里繪圖:在窗體上
44、 如: Me.Circle (1000,1000),300在PictureBox上 如: Picture1.Circle (1,1),1,單位及比例尺,比例尺 .ScaleMode =vbTwips 1/1440 inch =vbPixels 像素 Scale (-50,50)-(50,-50) ScaleLeft ScaleTop ScaleWidth ScaleHeight,,Sc
45、ale (-50,50)-(50,-50),繪圖狀態(tài),CurrentX=100, CurrentY=100ForeColor BackColor DrawWidth DrawStyleFillColor FillStyleDrawMode (決定最終顏色與當(dāng)前畫筆顏色、背景顏色的關(guān)系)=vbCopyPen, =vbXorPenFontFontSize, FontName,FontBold, F
46、ontItalic,繪圖方法,Line (x,y)-(x,y), color, BF其中B表示畫框、BF表示畫填充的矩形Circle (x,y), r, colorCircle (x,y), r, color, start, end, aspectPSet (x,y), colorPrint "....."Cls 清屏示例:draw_Simple_0.frm,繪圖示例,函數(shù)圖螺線畫極坐標(biāo)圖
47、旋轉(zhuǎn)的橢圓 編程提示:Form_Load中繪圖,先Me.Show,上機(jī)注意事項(xiàng),1.關(guān)于文件2.關(guān)于圖片3.關(guān)于內(nèi)容4.關(guān)于書寫,循環(huán)出口語句,Exit For示例: 判斷質(zhì)數(shù)Exit Do其他幾個(gè)相關(guān)的語句:Exit Sub退出此段Sub子程序End結(jié)束整個(gè)程序Stop停止執(zhí)行,進(jìn)入中斷狀態(tài),循環(huán)的嵌套,示例畫圖(多張餅)1! +2! +…. +10!九九乘法表2-100以內(nèi)的角谷猜想內(nèi)外
48、循環(huán)的關(guān)系每重循環(huán)的控制變量控制變量間的關(guān)系,循環(huán)的應(yīng)用(了解),數(shù)列求和: ---遞推法1! + 2! +…. + 10!2+22+222+…Exp_sumPi/2Pi/4,循環(huán)的應(yīng)用,字符串加密,附:關(guān)于密碼與加密,口令(password)原則:自己易記、他人難猜、經(jīng)常更改技巧:不與自己直接相關(guān),而是間接相關(guān)并且不能太短,字母、數(shù)字、符號(hào)混合在公共場(chǎng)合使用口令要謹(jǐn)慎不能讓IE記住口令注意防護(hù):一些口令破
49、解軟件,如Advanced Pdf password covery如Rar Password Cracker, Passware防止木馬,口令使用經(jīng)驗(yàn)談,不要使用本人的生日、身份證件號(hào)碼、銀行賬戶中的前幾位、后幾位或姓名的拼音作為密碼。不要將密碼設(shè)置為相同的數(shù)字或字母,盡量使用數(shù)字與字母的組合構(gòu)成密碼不要將密碼設(shè)置為有順序的數(shù)字或字母不要將網(wǎng)上銀行“登錄密碼”和“交易密碼”設(shè)置成相同的密碼在任何情況下不能將密碼漏給他人,
50、包括銀行工作人員在使用網(wǎng)上銀行時(shí),最好不要直接用鍵盤輸入密碼,而用“密碼軟鍵盤”輸入密碼,常見的安全措施—正確使用網(wǎng)銀,常見方式“釣魚”“釣魚”之一:電子郵件“釣魚”之二:盜號(hào)木馬“釣魚”之三:網(wǎng)址欺騙防釣魚直接輸入域名用密碼軟鍵盤加密交易信息使用加密控件,使用密碼U盤,使用https協(xié)議同樣,防止短信詐騙,,,,,加密技術(shù),加密技術(shù):把信息轉(zhuǎn)換成一種不可讀或不可理解的形式,解密技術(shù),四種傳統(tǒng)加密方法,1.代碼加密
51、2.替換加密3.變位加密4.一次性密碼簿加密,對(duì)稱密碼術(shù)(單一密鑰),加密算法:CHARACTER+3,AF計(jì)劃,接收者,發(fā)送者,DES算法,DES是對(duì)稱密鑰加密的算法, DES算法大致可以分成四個(gè)部分: (1)初始置換 (2)迭代過程 (3)逆置換和 (4)子密鑰生成,,DES加密原理示意圖,,非對(duì)稱密碼術(shù),公共密鑰,私有密鑰,我,其他人,RSA算法,RSA算法是非對(duì)稱密鑰加密,其算法演算過程(1
52、)密鑰配制過程(2)加密(3)解密,RSA舉例,取兩個(gè)質(zhì)數(shù)p=11,q=13,p和q的乘積為n=p×q=143,算出另一個(gè)數(shù)z=(p-1)×(q-1)=120;再選取一個(gè)與z=120互質(zhì)的數(shù),例如e=7,則公開密鑰=(n,e)=(143,7)。對(duì)于這個(gè)e值,可以算出其逆:d=103。因?yàn)閑×d=7×103=721,滿足e×d mod z =1;即721 mod 120=1成
53、立。則秘密密鑰=(n,d)=(143,103)。,設(shè)張小姐需要發(fā)送機(jī)密信息(明文)m=85給李先生,她已經(jīng)從公開媒體得到了李先生的公開密鑰(n,e)=(143,7),于是她算出加密值:c= me mod n=857 mod 143=123并發(fā)送給李先生。李先生在收到密文c=123后,利用只有他自己知道的秘密密鑰計(jì)算:m= cd mod n =123103 mod 143=85,所以,李先生可以得到張小姐發(fā)給他的真正的信息m=85,
54、實(shí)現(xiàn)了解密。,RSA的安全性就目前的計(jì)算機(jī)水平用1024位的密鑰是安全的,2048位是絕對(duì)安全的。RSA實(shí)驗(yàn)室認(rèn)為,512位的n已不夠安全,應(yīng)停止使用,現(xiàn)在的個(gè)人需要用668位的n,公司要用1024位的n,極其重要的場(chǎng)合應(yīng)該用2048位的n。,RSA用于身份驗(yàn)證和數(shù)字簽名數(shù)字簽名必須保證以下3點(diǎn):接收者能夠核實(shí)發(fā)送者對(duì)報(bào)文的簽名。發(fā)送者事后不能抵賴對(duì)報(bào)文的簽名。接收者不能偽造對(duì)報(bào)文的簽名。現(xiàn)在已有多種實(shí)現(xiàn)各種數(shù)字方法,但簽名
55、的采用公開密鑰算法要比常規(guī)算法更容易實(shí)現(xiàn)。,電子簽名,電子簽名(比數(shù)字簽名更廣泛的概念)注:媒體 _vir_fingerprint_F0914.avi注:《電子簽名法》注:www.icbc.com.cn 中國工商行 usbkey客戶證書注:outlook express 電子郵件加密及簽名注:http://www.ca365.com 申請(qǐng)免費(fèi)試用證書保證:信息除發(fā)送方和接收方外不被其它人竊取;信息在傳輸過程中不被篡改;
56、發(fā)送方能夠通過數(shù)字證書來確認(rèn)接收方的身份;發(fā)送方對(duì)于自己的信息不能抵賴。,密鑰與密碼破譯方法,(1)密鑰的窮盡搜索破譯密文就是嘗試所有可能的密鑰組合。雖然大多數(shù)的密鑰嘗試都是失敗的,但最終有一個(gè)密鑰讓破譯者得到原文,這個(gè)過程稱為密鑰的窮盡搜索。(2)密碼分析已知明文的破譯方法選定明文的破譯方法(3)其他方法“窺視”或“偷竊”密鑰內(nèi)容;進(jìn)行“垃圾分析”;等等,防止密碼破譯的措施,(1)強(qiáng)壯的加密算法(2)動(dòng)態(tài)會(huì)話密鑰(
57、3)保護(hù)關(guān)鍵密鑰,小結(jié),控制結(jié)構(gòu)與流程圖For Next語句Do Loop語句循環(huán)出口語句循環(huán)的嵌套循環(huán)的應(yīng)用----數(shù)列求和,Visual Basic程序設(shè)計(jì),主講教師:唐大仕dstang2000@263.net,,北京大學(xué)課程,6 過程、函數(shù)、數(shù)組,,過程,學(xué)習(xí) VB語言:?jiǎn)卧~?語句?篇章使用過程的好處任務(wù)分解代碼重用示例:sub_print100,事件過程與普通過程,事件過程與某個(gè)對(duì)象事件相關(guān)過程名為
58、: 對(duì)象名_事件名如: Sub Command1_Click()如: Sub Form_Load()普通過程與事件無關(guān)表示某項(xiàng)任務(wù),過程的定義,Sub 過程名(參數(shù) As 類型,。。。) 。。。End Sub,過程的調(diào)用,使用Call Call 過程名 (參數(shù)值。。。) 注意,要用括號(hào)或省略Call過程名 參數(shù)值,。。。 注意,不用括號(hào)一個(gè)參數(shù)時(shí),可用括號(hào),也可不用示例:畫花兒示例:s
59、ub_delay 注:second, do loop,函數(shù),函數(shù)也是一種子程序是一種帶返回值的過程內(nèi)建函數(shù)已由VB定義好,可直接使用如: CInt(), Int(), Rnd(), Now(),I/O函數(shù),MsgBox有關(guān)按鈕圖標(biāo)/有關(guān)返回值MsgBox "hello", vbInformationInputBox有關(guān)默認(rèn)值/有關(guān)返回值a = InputBox(" Please I
60、nput a num", , 99),函數(shù)的定義,Function 函數(shù)名(參數(shù),。。。)As 類型 。。。注意:其中有一句 : 函數(shù)名=某個(gè)值End Function,函數(shù)的調(diào)用,一般用于表達(dá)式: 函數(shù)名 (參數(shù)值。。。) 用括號(hào)示例:sub_fac_10: 求:1!+2!+……+10!求組合數(shù) m!/n!/(m-n)!100以內(nèi)的質(zhì)數(shù),參數(shù)的傳遞,形參與實(shí)參
61、參數(shù)的傳遞順序按位置傳遞,傳值與引用,傳值 ByVal 傳引用 ByRef (缺省為ByRef)傳引用就是傳變量本身示例簡(jiǎn)單示例fun_digi2Sum,模塊,模塊工程/添加模塊設(shè)定啟動(dòng)對(duì)象:工程/屬性/啟動(dòng)對(duì)象模塊中的變量/過程模塊名.過程名Public 與 Private 過程過程缺省是Public的,變量的作用域,作用域(可見性)全程變量 Public 或 Global 窗體級(jí)變量
62、Private 或 Dim局部變量 Dim示例,數(shù)組,數(shù)組的概念加上下標(biāo)來決定是哪個(gè)變量定義數(shù)組 Dim 數(shù)組名(數(shù)組大小) As 類型使用數(shù)組數(shù)組名(下標(biāo))For Each……Next,數(shù)組的大小,下標(biāo) Dim a(100) 表示0—100共101個(gè) Dim a( 2 to 9 ) Option Base 0 或 1 規(guī)定起始值二維數(shù)組 dim c(10,20)
63、Lbound(數(shù)組名) 求最小下標(biāo)Ubound(數(shù)組名) 求最大下標(biāo),數(shù)組的應(yīng)用,最大值與平均值排序統(tǒng)計(jì)篩法求素?cái)?shù)(*)約瑟夫問題(*)畫金剛石體育彩票36選7,小結(jié),過程函數(shù)參數(shù)傳遞過程中的變量,Visual Basic程序設(shè)計(jì),主講教師:唐大仕dstang2000@263.net,,北京大學(xué)課程,7 控件,,界面設(shè)計(jì),界面設(shè)計(jì)的重要性界面元素控件窗體繪圖菜單其他,有關(guān)控件的使用,怎樣得到控件
64、相關(guān)的屬性、方法與事件:Ctrl_J 快速提示 F1 --MSDN(如果安裝了MSDN)F2 --Object Browser可以參考其他一些資源光盤,如:>書籍,如: >www.vb-helper.com (國外,選其中“search”)http://www.vb60.com http://music.crzz.com/vb/ http://moonsoft.com/e_commerce/so
65、ft/download/other/index7.htm,控件的一般屬性,Alignment 對(duì)齊方式 0 vbLeftJustify 1 vbRightJustify 2 vbCenterAppearance 0 1:3DAutoSize True FalseBackColor ForeColorRGB(r,g,b) vbRed vbGreen QBC
66、olor(Rnd * 15)123235& &Hrrggbb&,控件的一般屬性(續(xù)),BorderStyle CaptionFont xxx.Font.Bold = true xxx.Font.Italic = Truexxx.Font.Underline = True xxx.Font.Size = 24 xxx.Font.Name = "宋體"
67、 或 xxx.FontName = "宋體"Left Top Width Height,控件的一般屬性(續(xù)),MousePointerMouseIcon(當(dāng)MousePointer為99時(shí),設(shè)MouseIcon)Picture設(shè)計(jì)時(shí):選擇文件 (注意:當(dāng)程序拷貝到其他機(jī)器時(shí),由于圖片找不到,則會(huì)出問題,所以不推薦這種方式)粘貼圖片 (這時(shí)圖片信息存于.frx文件中)運(yùn)行時(shí):xxx.Pictur
68、e = LoadPicture(“xxx.jpg”)注意,圖片文件放到同一目錄中,要使用擴(kuò)展名(如.jpg),控件的一般屬性(續(xù)),ToolTipTextUseUnemonic caption中用&表示下劃線,如 "&Open"Visiable: True FalseEnabled: True False如Timer1.Enabled = False如Command1.En
69、abled = FalseWordWrapMultiLine,CommandButton 按鈕,Caption Style, Picture使之為圖片按鈕 補(bǔ)充示例:PicButton.frm ToolTipText Enabled,Label 標(biāo)簽,CaptionToolTipText, AutoSize, WordWrap, Alignment0 vbLeftJustify 1 vbRight
70、Justify 2 vbCenter例: Label_mouse_shell_263 注:shell "程序名 參數(shù)" 表示調(diào)用外部程序,TextBox 文本框,SelStart, SelLength, SelText, TextMultiLine, ScrollBarsPasswordChar "*"Locked,EnabledSetFocus方法, GotFocus
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- visual basic程序設(shè)計(jì)
- visual basic 程序設(shè)計(jì)教程
- 《visual basic程序設(shè)計(jì)》大作業(yè)-
- 《visual basic程序設(shè)計(jì)》補(bǔ)修試題
- 河海大學(xué)函授本科《visual basic程序設(shè)計(jì)》自學(xué)安排
- visual basic語言程序設(shè)計(jì)課程教學(xué)改革探索
- visual basic程序設(shè)計(jì)試題 第 頁(共8頁)
- 實(shí)驗(yàn)一visual basic環(huán)境和簡(jiǎn)單程序設(shè)計(jì)
- 河海大學(xué)函授本科《visual basic程序設(shè)計(jì)》自學(xué)安排
- visual basic程序設(shè)計(jì)鄭州大學(xué)網(wǎng)上考試
- visual basic 60程序設(shè)計(jì) - 沈陽理工大學(xué)
- 基于VISUAL BASIC 2005的土釘支護(hù)程序設(shè)計(jì)開發(fā).pdf
- visual basic程序設(shè)計(jì)#-湖北電大2019春visual basic 程序設(shè)計(jì)形成性考核試卷3-國開(湖北)00030-參考資料
- 2024年4月自考07759visual basic程序設(shè)計(jì)試題
- 國開visual basic程序設(shè)計(jì)#形考任務(wù)1-4答案
- Visual Basic程序設(shè)計(jì)題自動(dòng)評(píng)分算法的研究及實(shí)踐.pdf
- visual basic程序設(shè)計(jì)vb任務(wù)2(201711)(甘肅電大-課程號(hào):6207013)參考資料
- 廣東省高等教育自學(xué)考試visual basic程序設(shè)計(jì)課程
- 《visual-basic程序設(shè)計(jì)基礎(chǔ)》陳慶章-課后習(xí)題參考答案
- visual basic程序設(shè)計(jì)vb任務(wù)4(201711)(甘肅電大-課程號(hào):6207013)參考資料
評(píng)論
0/150
提交評(píng)論