一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

高一年級(jí)信息科技2020空中課堂知識(shí)點(diǎn)梳理及“思考與討論”-第04課:程序設(shè)計(jì)基本知識(shí)

 木舟u2497sll0j 2021-12-03

高一年級(jí)信息科技2020空中課堂

第04課:程序設(shè)計(jì)基本知識(shí)

(建議在WIFI環(huán)境下觀看)

知識(shí)點(diǎn)梳理

計(jì)算機(jī)中的編程語(yǔ)言有很多種,比如 C++,python,java,易語(yǔ)言等。他們都有各自的特點(diǎn)和擅長(zhǎng)的領(lǐng)域,今天起我們?cè)谡n程中主要學(xué)習(xí)的是Visual Basic,簡(jiǎn)稱VB,他是一種可視化的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。

本節(jié)課,我們首先會(huì)介紹面向?qū)ο蟪绦蛟O(shè)計(jì)基本概念,然后我們會(huì)在VB環(huán)境下,完成順序結(jié)構(gòu)的程序?qū)嵗?。在順序結(jié)構(gòu)程序?qū)嵗膶W(xué)習(xí)中我們會(huì)了解到程序設(shè)計(jì)中常用到的一些基本概念:對(duì)象,屬性,方法,事件,事件驅(qū)動(dòng),同時(shí)結(jié)合具體的算法實(shí)例了解Vb界面及編程一般過程,包括輸入輸出語(yǔ)句,變量聲明語(yǔ)句,賦值語(yǔ)句錯(cuò)誤演示,錯(cuò)誤提示等。

一、面向?qū)ο蟪绦蛟O(shè)計(jì)基本概念

    對(duì)象可以是現(xiàn)實(shí)世界中客觀存在的事物,也可以是概念上的事物。比如,一輛汽車,就可以看作是現(xiàn)實(shí)世界中的一個(gè)對(duì)象,每個(gè)對(duì)象都有自己的狀態(tài),稱為對(duì)象的屬性。比如這輛汽車,具有顏色,車身長(zhǎng)度等屬性,而黃顏色和4.5m則為這些屬性的值。同樣的汽車的重量,品牌,類型等,都可以看成他的屬性,那么,程序設(shè)計(jì)里的對(duì)象,又在哪里呢?

    回到上一節(jié)課的計(jì)算購(gòu)買文具的算法實(shí)例,在分析問題階段,我們已經(jīng)得到了購(gòu)物程序中需要的變量,以及他們各自的用途,設(shè)計(jì)算法階段我們?cè)O(shè)計(jì)出了本算法的流程圖。今天,我們將把目光聚焦在后兩個(gè)環(huán)節(jié),目標(biāo)就是要完成“購(gòu)物價(jià)格計(jì)算”小程序的開發(fā),以便讓計(jì)算機(jī)幫我們解決問題。針對(duì)次問題,每個(gè)人心中都有自己的答案,根據(jù)我們對(duì)問題的分析,這個(gè)程序大致會(huì)需要:輸入單價(jià)和數(shù)量?jī)蓚€(gè)數(shù)據(jù),這就需要有輸入的位置,還需要輸出位置來顯示總價(jià)的運(yùn)算結(jié)果,另外,可能還需要有個(gè)按鈕可以點(diǎn)擊,以便告訴程序什么時(shí)候可以開始進(jìn)行計(jì)算。

    我們?cè)赩B程序設(shè)計(jì)語(yǔ)言中設(shè)計(jì)了如下的界面,這些按鈕,輸入框,以及容納他們的窗口,就是vb中的對(duì)象。在Vb中,常用的對(duì)象有,窗體,文本框,標(biāo)簽,按鈕 等,其中,文本框,標(biāo)簽,按鈕等可視化的對(duì)象也被稱為控件。

圖1-購(gòu)物價(jià)格計(jì)算程序主界面

那么在VB中,我們?cè)趺凑业阶约盒枰膶?duì)象,并設(shè)置他們的屬性呢,請(qǐng)大家看下圖中vb的主界面圖,左邊是控件工具箱,我們可以在其中找到剛才提到的文本框,標(biāo)簽,和按鈕這些常用控件。要在窗體中加入控件的話,只需在圖標(biāo)上雙擊鼠標(biāo)并拖放到窗體的合適位置就可以了,有點(diǎn)像搭積木的過程,這就是可視化程序設(shè)計(jì)環(huán)境帶來的便利之處。右上方是工程資源管理器,“工程”相當(dāng)于一個(gè)程序項(xiàng)目,工程資源管理器則用來管理本程序項(xiàng)目中的所有文件。右欄中間就是屬性窗口了,在屬性窗口中可以設(shè)置當(dāng)前選定對(duì)象的屬性值。這決定了對(duì)象最終展現(xiàn)給用戶的初始狀態(tài)。

圖2-VB主界面圖

合理的組織各個(gè)控件,就相當(dāng)于在進(jìn)行程序的界面設(shè)計(jì),當(dāng)我們把控件放置完成后,會(huì)發(fā)現(xiàn)它們顯示的內(nèi)容都是默認(rèn)的“某某1234”的形式,要更改他們的外觀,就要在屬性窗口中設(shè)置需要的值。讓我們來了解一下這些對(duì)象的常用屬性。首先是窗體對(duì)象Form,他可以作為其他控件的容器,Name屬性為本窗體的名稱,第一個(gè)窗體默認(rèn)為form1。Caption屬性為窗體標(biāo)題欄的文本內(nèi)容,在這個(gè)程序項(xiàng)目中,我們把他的值設(shè)置為購(gòu)物價(jià)格計(jì)算程序,Height為窗體的高度,width為窗體的寬度,我們可以根據(jù)需要進(jìn)行設(shè)置。文本框Textbox對(duì)象,他可以為輸入控件,Text屬性為是文本框中的文本內(nèi)容,由于作為輸入框,初始狀態(tài)不需要顯示任何內(nèi)容,所以屬性值為空,F(xiàn)ont為文本框中文本的字體在我們的程序項(xiàng)目中,需要兩個(gè)這樣的文本框,想一想,這兩個(gè)文本框,哪條屬性值不一樣?接標(biāo)簽Label對(duì)象,他可作為常量和變量的輸出控件,標(biāo)簽上的文本內(nèi)容是caption屬性的值,在這個(gè)程序中,我們需要4個(gè)label來標(biāo)注信息或顯示答案。最后我們還需要一個(gè)按鈕,設(shè)置按鈕上的文本內(nèi)容為“計(jì)算總價(jià)”,我們的界面設(shè)計(jì)就告一段落了。

按鈕可以被用戶點(diǎn)擊 ,產(chǎn)生一個(gè)事件。其實(shí)不止是按鈕,剛才介紹的每個(gè)對(duì)象都有自己的事件,那么什么是事件呢?日常生活中,對(duì)象會(huì)受到周圍事物的影響,事件就是能被對(duì)象識(shí)別的動(dòng)作,他會(huì)驅(qū)動(dòng)對(duì)象去執(zhí)行預(yù)先設(shè)定好的動(dòng)作過程比如,對(duì)于汽車對(duì)象,踩下油門就是一個(gè)事件,他會(huì)驅(qū)動(dòng)汽車進(jìn)入行駛狀態(tài)(也就是執(zhí)行行駛方法)。不同的對(duì)象,也會(huì)有各自不同的事件,自行車對(duì)象沒有踩下油門事件,但他能識(shí)別腳蹬踏板事件,并驅(qū)動(dòng)自行車進(jìn)入騎行狀態(tài)。VB中,按鈕被鼠標(biāo)單擊,就是一個(gè)能被按鈕對(duì)象識(shí)別的事件。在vb中要描述一個(gè)事件,需要包含“對(duì)象名稱” 以及“事件名稱”,也就是 誰,發(fā)生了什么,在代碼中,是以X_Y來表示的,其中x代表 對(duì)象名稱 (也就是誰),y代表事件名稱(也就是發(fā)生了什么)。完整的事件過程格式如下,以sub x_y代表過程的開始,括號(hào)內(nèi)跟上可選參數(shù)。end sub代表過程的結(jié)束,我們也可以把他們理解為流程圖中的開始和結(jié)束符,當(dāng)某個(gè)對(duì)象的事件發(fā)生時(shí),激發(fā)了相應(yīng)的過程語(yǔ)句(也就是程序)的執(zhí)行,這被稱為事件驅(qū)動(dòng)。比如,按鈕1單擊事件,我們可以寫成以 private subcommad1 click()開頭,end sub 結(jié)尾 的事件語(yǔ)句,其中Private用于限定該過程只在本窗體內(nèi)被調(diào)用,command1就是對(duì)象名稱,click就是事件名稱。

圖3-常見對(duì)象屬性窗口

如上圖1,在工程資源管理器上方,有一個(gè)查看代碼按鈕,單擊會(huì)進(jìn)入代碼編輯窗口,在窗口的最上方,我們可以通過下拉框,來選擇本程序項(xiàng)目中可以添加的事件?;蛘撸谛枰砑邮录膶?duì)象上直接雙擊鼠標(biāo),也能快速添加事件。

  在上一節(jié)課中,我們已經(jīng)學(xué)習(xí)了賦值號(hào)的用法,其實(shí)賦值號(hào)也可以將對(duì)象的屬性值賦給變量,或是,給對(duì)象的屬性賦值。在程序代碼中,要引用某個(gè)對(duì)象的某個(gè)屬性值,可以用對(duì)象名稱.屬性名稱  來表示,比如 a = Text1.Text 是把文本框1中的內(nèi)容,賦值給a變量,Label1.Caption = “你好!”,則是在label1標(biāo)簽內(nèi)容中,顯示“你好”這兩個(gè)字。他們實(shí)現(xiàn)的功能相當(dāng)于輸入輸出框,即輸入“a”和 輸出“你好!”。

  在屬性賦值中我們需要注意的是,賦值號(hào)兩邊數(shù)據(jù)類型必須一致,VB中 默認(rèn)文本框的text屬性和 標(biāo)簽的caption屬性中的數(shù)據(jù),都是字符串型。也就是說,賦值號(hào)的另一邊也必須是字符串型的常量或變量,那萬一兩邊的數(shù)據(jù)類型不一致怎么辦?

比如,c=text1.text ,我們定義c變量為數(shù)值型,但是又需要把文本框1中的內(nèi)容放到c變量中,這時(shí),我們?cè)谫x值前就要先進(jìn)行類型轉(zhuǎn)換,Vb已經(jīng)內(nèi)置了常用的數(shù)據(jù)類型轉(zhuǎn)換函數(shù),其中Val函數(shù)的功能是將字符串型轉(zhuǎn)換為數(shù)值型,str函數(shù)則正好相反。我們使用val函數(shù)c=val(text1.text)將文本框1中的內(nèi)容轉(zhuǎn)換為數(shù)值型,這樣兩邊類型一致,就能順利完成賦值了。當(dāng)然,輸入輸出的方法不止這兩種,根據(jù)程序的不同需要,我們也可以采用其他的輸入或輸出語(yǔ)句,我們會(huì)在以后的課中來看他們的不同應(yīng)用場(chǎng)景。

二、順序結(jié)構(gòu)程序?qū)嵗?/span>

接下來,我們一起來看一下在vb環(huán)境中,如何完成一個(gè)順序結(jié)構(gòu)程序的編寫,在上一個(gè)環(huán)節(jié),我們已經(jīng)根據(jù)需求,完成了“購(gòu)物價(jià)格計(jì)算”小程序的界面設(shè)計(jì),也知道了程序主體的運(yùn)行,依靠按鈕單擊事件來驅(qū)動(dòng)。對(duì)于每一位程序設(shè)計(jì)者來說,最讓人著迷的便是程序代碼的編寫,這是實(shí)現(xiàn)算法功能非常重要的工作,接下來我們來學(xué)習(xí)程序代碼編寫。

程序的主體,也就是按鈕1單擊事件激發(fā)的處理過程,在編寫時(shí),就可以參考流,程圖的設(shè)計(jì)了 ,這時(shí),我們會(huì)發(fā)現(xiàn)另一個(gè)問題,VB程序中的變量從何而來?

我們學(xué)過,程序是通過變量名找到相應(yīng)的存儲(chǔ)單元,然后將數(shù)據(jù)存放到其中,在VB程序設(shè)計(jì)過程中,變量名是在變量定義時(shí)由程序員決定的,存儲(chǔ)單元是在變量定義時(shí)由系統(tǒng)分配的,所以我們可以看到,Vb在使用一個(gè)變量前,首先需要進(jìn)行變量定義。變量定義語(yǔ)句的格式為 dim 變量名 as 數(shù)據(jù)類型。其中,變量的命名也需要遵守一定規(guī)則,變量名一般以字母開頭,中間沒有空格及特殊符號(hào),變量名應(yīng)避免使用VB中的保留關(guān)鍵詞,所謂保留關(guān)鍵字,就是在VB中已經(jīng)有特殊含義的詞,不能用作變量名,比如“l(fā)ong”已經(jīng)表示長(zhǎng)整型數(shù)據(jù)類型,因此不能再用作變量名。數(shù)據(jù)類型,則可以根據(jù)需要選擇使用,這些數(shù)值型,字符串型,邏輯型。所以,我們可以根據(jù)每個(gè)變量的不同用途,用變量定義語(yǔ)句來確定他們的變量名和數(shù)據(jù)類型,那么在購(gòu)物程序的算法實(shí)例中單價(jià)p,數(shù)量n,總價(jià)s這三個(gè)變量應(yīng)該如何定義?我們知道單價(jià)和總價(jià)為實(shí)數(shù),數(shù)量為整數(shù),所以我們可以寫如下定義語(yǔ)句:Dim p as Single,Dim n as Integer,Dim s as Single。有了變量定義語(yǔ)句,后面的程序就可以使用這三個(gè)變量了。接下來我們就可以按照順序結(jié)構(gòu)的流程,依次把后面的程序編寫完成了,用text1和text2輸入p和n計(jì)算s的值,并將s的值輸出在label的caption屬性中。

圖4-代碼編輯界面

在代碼編輯結(jié)束后,我們可以通過運(yùn)行程序,輸入數(shù)據(jù)驗(yàn)證一下程序是否正確,最后保存工程。這樣,我們就完成了一個(gè)程序項(xiàng)目的完整制作過程了。在程序運(yùn)行的過程中經(jīng)常會(huì)出現(xiàn)一些錯(cuò)誤,常見的有編譯錯(cuò)誤如下圖5、圖6、圖7所示:

圖5-編譯錯(cuò)誤

如上圖5,這段代碼在執(zhí)行后,系統(tǒng)提示“無效字符”,并且把其中的一行代碼變?yōu)榱思t色。通過觀察我們發(fā)現(xiàn),這行代碼中,用于表示字符串的雙引號(hào)誤用了中文雙引號(hào),所以為無效字符,在此也提醒大家,VB中所有的運(yùn)算符都應(yīng)在英語(yǔ)輸入法狀態(tài)下輸入這種在上機(jī)調(diào)試時(shí),系統(tǒng)會(huì)給出警告的錯(cuò)誤,我們稱為語(yǔ)法錯(cuò)誤。

圖6-實(shí)時(shí)錯(cuò)誤

上圖6代碼中的label拼寫成了lable,對(duì)象名打錯(cuò),自然就無法找到對(duì)象,所以才會(huì)報(bào)要求對(duì)象的錯(cuò)誤,這也是一個(gè)語(yǔ)法錯(cuò)誤。

圖7-邏輯錯(cuò)誤

如上圖7所示代碼,在運(yùn)行時(shí)并沒有報(bào)錯(cuò),但是輸入數(shù)據(jù)后發(fā)現(xiàn)總價(jià)的計(jì)算結(jié)果有問題,總價(jià)應(yīng)該是p*n,代碼中錯(cuò)打成p+n了。但是系統(tǒng)并不知道你應(yīng)該要做乘法還是加法,只要語(yǔ)法沒有錯(cuò),就不會(huì)彈出警告,我們把這種錯(cuò)誤稱為邏輯錯(cuò)誤。

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    在线视频三区日本精品| 日韩三极片在线免费播放| 国产内射在线激情一区| 国内外激情免费在线视频| 日韩在线精品视频观看| 狠狠做深爱婷婷久久综合| 国产精品国产亚洲区久久| 日韩精品一区二区三区四区| 欧美三级精品在线观看| 国产亚洲午夜高清国产拍精品| 亚洲欧美黑人一区二区| 亚洲欧美日韩在线看片| 东京热电东京热一区二区三区| 69精品一区二区蜜桃视频| 亚洲国产av国产av| 欧美日韩一区二区三区色拉拉| 激情三级在线观看视频| 老熟妇乱视频一区二区| 亚洲欧美国产网爆精品| 日韩一区二区三区在线欧洲| 亚洲av一区二区三区精品| 在线观看免费无遮挡大尺度视频 | 亚洲国产av一二三区| 精品一区二区三区中文字幕 | 国产精品十八禁亚洲黄污免费观看| 日本高清中文精品在线不卡| 精品国产亚洲免费91| 五月激情婷婷丁香六月网| 亚洲欧美日产综合在线网| 日韩一区二区三区久久| 91午夜少妇极品福利| 欧洲偷拍视频中文字幕| 在线日韩中文字幕一区| 女人高潮被爽到呻吟在线观看| 日韩视频在线观看成人| 亚洲国产一区精品一区二区三区色| 九九热在线视频精品免费| 国产一区麻豆水好多高潮| 日本高清不卡一二三区| 中文字幕人妻日本一区二区| 日韩毛片视频免费观看|