高中信息技术《算法与程序设计VB选修》.docx

上传人:b****3 文档编号:5468467 上传时间:2022-12-16 格式:DOCX 页数:26 大小:48.25KB
下载 相关 举报
高中信息技术《算法与程序设计VB选修》.docx_第1页
第1页 / 共26页
高中信息技术《算法与程序设计VB选修》.docx_第2页
第2页 / 共26页
高中信息技术《算法与程序设计VB选修》.docx_第3页
第3页 / 共26页
高中信息技术《算法与程序设计VB选修》.docx_第4页
第4页 / 共26页
高中信息技术《算法与程序设计VB选修》.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

高中信息技术《算法与程序设计VB选修》.docx

《高中信息技术《算法与程序设计VB选修》.docx》由会员分享,可在线阅读,更多相关《高中信息技术《算法与程序设计VB选修》.docx(26页珍藏版)》请在冰豆网上搜索。

高中信息技术《算法与程序设计VB选修》.docx

高中信息技术《算法与程序设计VB选修》

一、算法

(1)、计算机解决问题的过程

计算机程序(ComputerProgram)是计算机如何去解决问题完成任务的一组可执行指令。

程序设计(ProgramDesign)是寻找解决问题的方法,并将其实现步骤编写成计算机可执行的程序的过程。

程序设计语言(ProgramLanguage)泛指一切用于书写计算机程序的语言。

计算机解决问题和人解决问题有着本质区别:

计算机解决问题要经历分析问题、确定算法、编程求解等基本过程主。

计算机解决问题的流程如下:

开始→分析问题→设计算法→编写程序→运行程序→结束

编写程序时,首先要对问题进行详细分析,明确已知条件下的初始状态及要达到的目标,找出解决问题的方法和过程,并抽取出一个数学模型,形成算法;然后将这个数学模型连同它要处理的数据,用计算机能识别的方式描述出来,使之成为计算机能处理的对像;最后用程序设计语言设计出具体的问题求解过程,形成计算机程序。

(2)算法的描述方法

①、算法的定义及其特征

算法:

就是解决问题的思想方法,对解题过程的精确描述。

计算机解决问题的步骤为分析问题、设计算法、编写程序、调试程序。

算法是程序设计的“灵魂”,世界著名计算机科学家尼克劳斯·沃斯(N.With)指出:

算法+数据结构(DataStructure)=程序。

算法具有以下特征。

1、有穷性:

一个算法必须保证执行有限步之后结束;

2、确定性:

算法的每一步骤必须有确切的定义;

3、输入:

一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;

4、输出:

一个算法有一个或多个输出,以反映对输入数据加工后的结果。

没有输出的算法是毫无意义的;

5、可行性:

算法中执行的任何计算步都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成;(也称之为有效性)

②、算法的描述方法有自然语言、流程图、伪代码三种形式

自然语言描述法:

指用人们日常生活中使用的语言(本国语言),用自然语言描述符合我们的习惯,且容易理解。

例1:

求圆的周长和面积

算法如下:

(自然语言描述法)

(1)输入半径r;

(2)计算周长c=2*π*r;

(3)计算面积s=π*r*r;

(4)输出周长c,输出面积s;

(5)结束

流程图描述:

也称程序框图,它是算法的一种图形化表示方法。

且描述算法形象、直观,更易理解。

常用的“流程图”所用的基本符号及功能

程序框

名称

功能

 

开始/结束框

表示算法的开始或结束

 

输入/输出框

表示算法中变量的输入或输出

 

处理框

表示算法中变量的赋值与计算

 

判断框

表示算法中的条件判断

 

流程线

表示算法中的流向

 

连接点

表示算法中的连接

例1:

求圆的周长和面积

伪代码描述法:

是介于自然语言和计算机程序语言之间的一种算法描述。

是专业软件开发人员常用方法。

流程图的基本图形及功能:

例1:

求圆的周长和面积

inputr

c=2*π*r

s=π*r*r

printc,s

二、程序设计基础

1.程序设计语言

程序设计语言经了机器语言、汇编语言、高级语言三个阶段。

高级语言又分解释型语言和编译型语言。

1、机器语言:

是计算机能直接识别的语言,机器语言是由一串由“0”和“1”构成的二进制代码。

2、汇编语言:

是一种符号化的机器语言,用英文助记符代替机器语言,比机器语言容易识别和记忆,提高了程序的可读性。

它的缺点是依赖机器,不同的机器有不同的指令集,通用性差,使用时还必须翻译成目标程序执行。

3、高级语言:

是更接近自然语言和数学语言的编程语言,它不依赖机器,通用性好,更容易掌握。

高级语言程序可读性强,更于修改和维护。

常见的高级语言:

C语言、C++、pascal、java、C#、VB、Basic

认识可视化编程工具-VB语言

VisualBasic是基于Basic的可视化程序语言,所谓可视化程序设计,主要是指程序设计人员利用软件本身提供的各种控件,像搭积木式地应用程序的各种界面,然后编写少量的代码就可以构建应用程序。

可视化编程的一般步骤:

设计程序界面→编写程序代码→调试、运行程序

面向对象程序设计就是以对象为中心,以事件为过程执行的起点。

VB可提供的事件有单击(Click)、双击(DbClick)、加载(Load)、按键(KeyPress)等,方法是对象能够的操作,这些操作一般是一个动作或一段程序

对象的类型

意义

前辍

名称举例

Form

窗体

Frm

Frmfind

Command

命令按钮

Cmd

Cmdok

Label

标签

Lbl

Lblinput

textbox

文本框

txt

txtsource

下面是几个应了解的文件。

.vbp文件:

与VB工程有关的文件和对象清单,是一个文本文件。

.frm文件:

是包含窗体及控件的属性设置、相关程序代码的文件。

.ocx文件:

是VB的扩展文件。

.bas文件:

是标准的模块文件。

2.数据及运算

①.数据类型

VB提供了数值型、字符型、布尔型、日期型等基本数据类型。

常用数据类型

整型

Integer

从-32768到32767

长整型

Long

从-2147483648到2147483647

单精度实型

Single

负数-3.402823E+38到-1.401298E-45

正数1.40129E-45到3.402823E38但它只有7位有效数字

双精度实型

Double

绝对值小于10308的数,它有15位有效数字

日期型

Date(Time)

如:

#2008-01-31##01/31/2008#

字符型

String

如:

“中国”,“zhongguo”

布尔型

Boolean

True或False

注意:

(1)、浮点型(单精度型和双精度型合称)数据的表示方法:

浮点数在计算机中类似于数学中的实数,比如304707表示成3.04707E5

(2)字符串的表示法:

“VisualBasic”、“245”、“=33+2”等。

(3)日期型数据的表示方法:

用一对“#”号把日期或时间括起来,如#2012/12/25#表示2012年12月25日。

②.常量与变量

(1)、在VB中用常量()表示程序运行过程中事先设置、其值不能改变的数据。

VB中的常量有数值常量、字符串常量等。

常量的定义形式如下

Const常量名[As常量类型]=表达式

如:

ConstpiAsSingle=3.14159常量名为pi

(2)、变量()是内存中存放数据的存储单元,其中存放的数据称为变量的值。

变量的声明:

Dim<变量名>As<变量类型>

如:

DimaAsInteger定义一个 整型变量,变量名为a

变量命名注意要点:

1、必须以字母开头,不能以数字或其他字符开头。

2、只能由字母、汉字、数字学或下划线组成,不能含有小数点、空格等字符。

3、最长不超过255个字符

4、不能以VB保留字作变量名,如语句定义符、函数名等。

5、VB不区分变量名中字母大小写。

如HELLO和Hello是同一个变量。

6、变量名最好取有意义的名称,一般在前面加上类型的缩写。

常用的前辍有:

字符型(str)、整型(int)、长整型(lng)、单精度(sng)、双精度(dbl)、布尔型(bln)、日期型(dtm)。

③.运算符与表达式

1.在VB中根据运算功能的不同将运算符分为算术运算符、字符串运算符、日期运算符、关系运算符和逻辑运算符等。

2.表达式是由变量、常量、运算符、函数和圆括号按一定规律组合而成。

VB中常用的表达式有算术表达式、字符串表达式、日期表达式、关系表达式、逻辑表达式等。

算术运算:

+

-

*

^

/

\

mod

乘方

整除

取余

算术运算符要求参与运算的量是数值型,运算的优先级为:

指数>取负>乘除法>整除>加减,运算的结果是数值型。

关系运算:

=

>

<

>=

<=

<>

等于

大于

小于

大于等于

小于等于

不等于

关系表达式的运算结果为布尔值True或False

逻辑运算:

Not(取反)And(与)Or(或),运算结果为布尔型(Boolean)True或False,逻辑运算符的优先级为:

No>And>Or

日期运算符与日期表达式:

日期表达式是用日期运算符“+”或“-”将算式表达式、日期型常量、日期型变量、日期函数等连接起来的式子,如表达式“#2003/09/01#+30”的运算结果是“2003-10-1”;表达式“#2003/10/20#-#2003/10/10#”的运算结果为整数10

字符运算:

字符串连接符为“+”和“&”

“123”+“45”=“12345”

“123”&“45”=“12345”

123+“45”=168

“123”+45=168

运算符的执行顺序:

在VB中,当一个表达式中同时出现多种运算符时,运算次序由运算符的优先级决定,优先级高的运算符先运算,优先级相同的从左向右进行运算。

不同性质的运算符优先级如下。

算术运算符>字符串运算符> 关系运算符> 逻辑运算符

④.常用语句

1.赋值语句的格式:

变量名=表达式

把右边的数或表达式的值赋给左边的变量。

2.Print语句格式为:

[对象名.]Print[表达式列表]

Print语句是VB中的输出语句,其功能是在指定的对象上输出结果,默认对象为当前窗体。

Print语句后面无表达式时,表示换行;Print显示项后面没有符号,表示显示完换行;Print语句显示项用分号分隔,表示后续显示项紧凑显示;Print语句显示项用逗号分隔,表示后续显示项分区显示,每区14个字符位。

3.注释语句格式:

Rem注释内容,

当使用Rem语句时,必须单独写一行。

使用“‘”的注释语句时,可以单独写一行,也可以跟在其它语句的后面。

4.结束语名有格式:

End。

是VB的强制结束语句,

⑤.常用函数

1.交互函数。

(1)InputBox()函数是一个输入函数。

格式:

InputBox(提示[,标题][,默认值][,x坐标][,y坐标])

例:

InputBox(“请输入一个数”)

(2)Msgbox()函数主要来显示多种样式的消息对话框。

格式:

Msgbox(提示信息[,按钮][,标题])

例:

Msgbox(““输入的用户名不正确”,16,“提示”)

2.数学函数。

数学函数用于数学运算,数学函数主要有以下几种:

函数名

说明

示例

结果

Sin(X)

X弧度的正弦

Sin(0)

0

Cos(X)

X弧度的余弦

Cos(0)

1

Tan(X)

X弧度的正切

Tan(0)

0

Atn(X)

X用弧度表示的反正切值

Atn(0)

0

Abs(X)

X的绝对值

Abs(-3.5)

3.5

Exp(X)

e的指定次幂,即ex

Exp(3)

20.086

Log(X)

一个数值X的自然对数

Log(10)

2.3

Sqr(X)

X的平方根

Sqr(9)

3

Sgn(X)

符号函数:

X>0,得到1,

X<0,得到-1,X=0得到0

Sgn(-3.5)

-1

Int(X)

不大于给定数X的最大整数

Int(-1.6)

-2

Rnd

产生[0,1]之间的小数

Rnd

返回1随机数

Fix(X)

X的整数部分

Fix(-1.6)

-1

Cint(X)

类型为:

Integer-322768~32767

小数部分四舍五入

CLng(X)

类型为:

Long-2147483648~2147483647小数部分四舍五入

注意:

三角函数中的参数使用弧度数,Rnd函数返回[0,1]之间的一个随机实数,一般和Randomize为初始化随机数生成器。

3.字符串函数

VB提供了丰富的字符串处理函数,学用的字符串函数有以下几种

Mid(C,N1,N2)

从C中N1位开始取出长度为N2的子串

Mid(“ABCDEFG”,3,2)

“CD”

Right(C,N)

返回字符串右边N个字符

Right(“ABCDEFG”,3)

“EFG”

Left(C,N)

返回字符串左边N个字符

Left(“ABCDEFG”,3)

“ABC”

Len(C,N)

测量字符串的长度

Len(“VB学习的开始”)

7

Space(N)

产生N个空格组成的字符串

“ABC”&“Space(N)”&“113”

“ABC123”

4.日期函数

Date()

返回当前系统日期(yy-mm-dd)

Date()或Date

04-12-18

Day()

反回指定日期的日数

Day(“10/22/2012”)

22

Month()

反回指定日期的月数

Month(“10/22/2012”)

10

Year()

反回指定日期的年份

Year(“10/22/2012”)

2012

Time()

返回系统时间

Time()或Time

10:

36:

08

3.程序设计的顺序结构

VB程序有三种基本结构,即顺序结构、选择结构和循环结构。

顺序结构是三种结构中最基本的结构,在顺序结构中,算法的各个步骤是按语句的先后顺序执行。

4.程序设计的分支结构

(1)、If语句

1.单分支If格式为:

If<关系表达式>Then

语句块

Endif

2.双分支If语句的格式:

If<关系表达式>Then

语句块1

Else

语句块2

Endif

例:

在Text1文本框中输入一个年号,判断它是否是闰年,并输出判断结果“是闰年”或“不是闰年”。

判断闰年的算法是:

如果此年号能被400除尽,则它是闰年,否则如果它能被4整除而不能被100整除,则它是闰年,否则它不是闰年。

打开文件“Z:

\38\工程1.vbp”,完善程序后并保存。

PrivateSubCommand1_Click()

DimyearAsInteger

year=Val(InputBox("请输入年号:

"))

If((yearMod4=0)And(yearMod100<>0))or(yearMod400=0)Then

Print"是闰年"

Else

Print"不是闰年"

EndIf

EndSub

3.使用If语句的多层嵌套还可以实现程序的多分支结构,但程序结构较烦琐。

(2)、SelectCase

SelectCase语句格式:

SelectCase表达式

Case表达式列表1

语句块1

Case表达式列表1

语句块2

……

Case表达式列表n

语句块n

EndSelect

“表达式列表”通常是一组常量值,每个值确定一个分支。

表达式列表可以使用下面的格式:

(1)一组用逗号隔开的若干表达式,如Case1,2,3表示1,2,3满足指定条件。

(2)表达式1to表达式2,如:

Case70to80这一取值范围满足指定条件。

(3)Is关系运算符表达式,如:

CaseIs>30,表示大于30满足指定条件。

例:

输入不同的飞船速度后,判断出它的飞行状况。

在“神州九号载人飞船”飞行程序中,其飞行状况与飞行速度的关系如下表:

飞船速度(V)单位(km/s)飞行状况

7.91<=V<11.19飞船绕地球似做匀速圆周运动

11.19<=V<16.67飞船离开地球的控制,围绕太阳转

V>16.67飞船挣脱太阳引力飞出太阳系

PrivateSubCommand1_Click()

DimvAsSingle

v=Val(InputBox("请输入飞船速度的值"))

SelectCasev

CaseIs>16.67

Label1.Caption="飞船挣脱太阳引力飞出太阳系"

CaseIs>=11.19

Label1.Caption="飞船离开地球的控制,围绕太阳转"

CaseIs>=7.91

Label1.Caption="飞船绕地球似做匀速圆周运动"

CaseElse

Label1.Caption="输入数据错误!

"

EndSelect

EndSub

5.程序设计的循环结构

1.For/Next循环语句

For/Next循环语句学用来解决已知循环次数的程序设计问题。

格式:

For循环变量=初值To终值[Step步长值]

<循环体>

Next[循环变量]

Next后的循环变量与For后的循环变量必须相同

例1:

求s=1+2+3+4.....+100

PrivateSubForm_Click()

DimiAsInteger

DimsumAsInteger

sum=0

Fori=1To100step1

sum=sum+i'循环体

Nexti

Print"sum=";sum

EndSub

循环变量的初值、终值、循环变量增量都是数值型。

其中要重复执行的操作称为循环体,增量可正可负,如果没有设置Step,则增量的缺省值为1

a循环变量取初值;

b循环变量与终值比较,没有超过终值转3,否则循结束,接着执行循环语句的后继语句;

c执行一次循环体

d循环变量增加一个增量

e重复步骤2~4。

以上可以看出,For-Next循环变量是一种当型循环。

说明

1、For语句与Next语句必须成对出现,而且它们当中的“循环变量”必须是同一个变量,如上例中均为I。

2、当循环变量为正时,循环变量超过终值,是指循环变量的值大于终值时;若为负,则是指循环变量的值小于终值。

例2:

编写程序,使能打印下面所示的图案。

@

@@

@@@

@@@@

@@@@@

@@@@@@

程序:

PrivateSubForm_Click()

DimiAsInteger

DimjAsInteger

Fori=1To6‘外循环打印6行

Forj=1Toi‘内循环打印个数

Print“@”;

Nextj

Print

Nexti

EndSub

一个FOR循环里包含了另一个FOR,我们称它为嵌套循环。

2.Do/Loop循环语句

Do/Loop循环语句常用来解决未知循环次数的程序设计设计问题,可分为当型循环和直到型循环两种。

当型循环是指当条件成立时才执行循环,常用DoWhile/Loop或Do/LoopWhile循环语句;而直到型循环是指直到条件成立时才跳出循环,常用Do/LoopUntil循环语句。

DoWhile/Loop循环语句的格式:

 DoWhile<条件>

       <循环体>

    Loop

“条件”是关系表达式或逻辑表达式。

DoWhile/Loop循环就是当给定的“条件”为True时,执行循环体,给定的“条件”为False时,不执行循环体。

DoWhile/Loop循环的执行过程如下:

(1)执行Do语句;

(2)执行循环体;

(3)执行LoopUntil语句,如果“条件”不成立,转到

(1)执行,否则转到

(2)执行;

(4)执行Loop语句后的语句。

例1:

求最大公约数

PrivateSubCommand1_Click()

DimaAsInteger

DimbAsInteger

DimrAsInteger

a=InputBox("输入a")

b=InputBox("输入b")

r=aModb

DoWhiler<>0

a=b

b=r

r=aModb

Loop

Printb

EndSub

例2:

如果我国人口每年以平均1.5%的速度增长,问多少年后我国人口达到或超过15亿?

设现在人口为12.3亿。

PrivateSubForm_Click()

DimpAsSingle

DimrAsSingle

DimnAsInteger

p=1230000000

r=0.015

n=0

Do

p=p*(1+r)

n=n+1

LoopUntilp>=1500000000

Printn;"年后","人口=";p

EndSub

例3完成下面程序,使得程序运行时单击窗体后,计算1+2+3+……+n<500的n的最大值,并在文本框Texe1中显示结果。

DimsAsInteger

DimnAsInteger

DoWhiles<500

n=n+1

s=s+n

Loop

Text1.text=str(n-1)

6.结构化程序设计思想

结构化程序设计的思想规定了一套方法,要求程序设计者按照一定的结构形式来设计和编写。

1.一个大的程序可划为若干个模块,每个模块又可以继续分为更小的子模块,最终分出的模块能完成一个独立的功能,模块之间按层次关系进行组织。

2.程序由一些基本结构组成,任何一个复杂的程序都可以由三种基本结构组成,即顺序结构、选择结构、循环结构。

3.程序设计时应由顶向下,逐步细化的实施方法。

使整个问题可用程序设计语言明确地描述来为止。

例:

下面是用VB编写的求1+1/2+1/3+……+1/100的和的程序段,其结构属于()

DimiAsIeteger,sunAsInteger

Sun=0

Fori=1to100

Sum=sum+1/i

NextI

Print“sum=”;sum

7.面向对象程序设计的思想

面向对象程序设计围绕真实世界的概念来组织模型,采用对象来描述客观实体,从所处理的数据入手,以数据为中心来描述系统。

例:

VB是面向对象的程序设计语言,对象的三个要素分别是什么?

在VB中经常使用哪些事件?

在VB中对象通常具有哪些属性?

分析:

本题考查对对象的认识,理解对象的属性、方法和事件三大要素的内涵。

在编写程序时常用的事件有“单击(Click)”、“双击(DbClick)”等,VB对象通常具有名称、位置、大小、字体、颜色等属性。

三、算法与问题解决

1、解析法:

是指通过分析问题中各要素之间的关系,用最简练的语言或形式化得符号来表达他们的关系,得出解决问题所需的表达式,然后设计程序求解问题的方法。

使用解析法包含四个环节:

分析问题、建立数学模型、写出解析表达式、解决问题。

如:

京沪动车以每小时300km/h的速度从北京开往上海(全程1400km)跑完全程所需时间用t=s/v计算。

这种解决问题的方法就是算法。

鸡兔同笼问题是我国古代有名的数学题,即笼子中有鸡和兔若干,已知鸡和兔的总头数是m,总脚法是n,问笼中

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1