算法与程序设计复习纲要概要.docx

上传人:b****8 文档编号:9058881 上传时间:2023-02-03 格式:DOCX 页数:20 大小:89.81KB
下载 相关 举报
算法与程序设计复习纲要概要.docx_第1页
第1页 / 共20页
算法与程序设计复习纲要概要.docx_第2页
第2页 / 共20页
算法与程序设计复习纲要概要.docx_第3页
第3页 / 共20页
算法与程序设计复习纲要概要.docx_第4页
第4页 / 共20页
算法与程序设计复习纲要概要.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

算法与程序设计复习纲要概要.docx

《算法与程序设计复习纲要概要.docx》由会员分享,可在线阅读,更多相关《算法与程序设计复习纲要概要.docx(20页珍藏版)》请在冰豆网上搜索。

算法与程序设计复习纲要概要.docx

算法与程序设计复习纲要概要

算法与程序设计复习纲要

“算法与程序设计”是高中信息技术课程的选修模块,以问题解决与程序设计为主线,揭示利用计算机解决问题的过程。

学生通过本模块的学习能体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。

现以《标准》中“算法与程序设计”部分的内容标准为依据制订以下考试内容:

软件环境:

VB6.0

1.利用计算机解决问题的基本过程

⑴了解利用计算机解决问题的基本过程。

计算机并非能帮助人类解决所有问题,但它能解决的问题的范围越来越多。

需要解决的问题是否有明确的算法?

需要处理的数据是否都能数字化?

是计算机能否帮助我们解决该问题的前提。

利用计算机解决问题的一般过程:

“运行程序,验证结果”需要人工验证,计算机并不能帮我们验证,问题分析有遗漏或算法设计有错误或编写的程序与算法不一致,都将可能导致程序运行结果不正确,这时需要回过头来检查错误是发生在“分析问题”阶段?

还是“设计的算法”有误?

还是“编写的程序”与算法不一致?

更正错误后,再运行,再验证,直到问题得到正确解决。

因此上述流程能确保问题得到正确解决。

⑵了解问题分析与算法设计之间的关系。

问题分析是确定需要解决的任务的已知数据、需要输入什么数据、需要进行什么运算处理、需要输出什么结果?

算法设计是按计算机的工作机制设计出解决问题的方法与步骤。

⑶了解算法的基本特征。

算法具有以下特征:

1)有穷性2)确定性3)可行性4)有零个或多个输入数据5)至少有一个输出结果

⑷能用自然语言、流程图或伪代码描述算法。

算法的描述方法有三种:

1)自然语言描述法2)流程图描述法3)伪代码描述法

⑸了解程序设计语言产生与发展过程。

书P11

认识程序设计语言:

机器语言是计算机唯一能直接识别(理解)、执行的语言,所有指令都用二进制代码表示,同样的指令,如加运算在不同类型的CPU上,可能用不同的二进制代码表示,所以机器语言与计算机的硬件紧密相关。

如8086系列指令系统、Z80指令系统等。

所有参加运算的数据也都用二进制表示,称为指令的操作数。

这种语言的缺点是:

不好学、不好记忆、机器语言程序不好修改,因与硬件关系密切,程序不好移植。

优点是:

程序的执行效率最高。

汇编语言是机器语言的符号化,汇编语言编写的程序电脑并不能直接识别,需要编译或解释转换为及其语言,电脑才能执行。

这种语言的优点是:

比机器语言好记忆,移植性较好,执行效率还不错。

缺点是:

尽管比机器语言好记忆,但普通人还是不好学、好用。

机器语言和汇编语言同属“低级语言”。

是相对高级语言而言。

高级语言:

比较接近自然语言,好学、好用,编写的程序同样需要编译或解释电脑才能执行。

常用的高级语言有:

C/C++语言、Pascal、Basic、Cobol、Java、Fortran、VisualBasic等。

2.程序设计基础

⑴能够使用可视化程序开发工具设计简单的用户界面。

VisualBasic语言提供了美观、友好的开发界面,通过视图菜单,能个性化定制用户界面,主要包括;系统菜单栏、工具栏、工程管理器、窗口设计区、对象(控件)属性窗口、代码窗口、常用工具箱(常用控件)、布局窗口等。

用可视化、形象化的图像表示抽象化的控件对象,编程设计工作形象直观。

⑵知道常用的数据类型、变量、常量的含义;学会定义常量、变量的数据类型。

数字化数据有不同类型,在Vb6.0中,主要的数据类型有:

Integer(整型),数值区间:

-32768到32767间的整数

Long(长整型),数值区间:

-2147483648到2147483647间的整数

Single(单精度),数值区间:

见书本P21

Double(双精度),参见书本P21

String(字符串型),指所有用双引号(半角)括起来的文字符号。

Boolean(布尔型),也叫逻辑型,这种类型的数据只有两个,一个是True,另一个是False。

Date(日期型),这种类型的数据指所有有效的按规定书写格式表示的日期。

数据的表达有两种方式:

常量或变量

特别注意:

字符串常量是所有用双引号括起来的文字符号,如:

”100”

日期常量的书写格式:

#2009-5-12#或#5-12-2009#

变量都要有名称,即变量名,请参见书本关于变量名的命名规则(重点)P23

一个变量原则上能存储任意类型的数据,但若用Dim命令显式声明一个变量的类型,则被声明的变量只能存储声明的类型的数据,否则赋予变量什么类型的数据,则该变量就是相应数据类型。

如:

DimxAsInteger,则x变量只能存储整型数据

再如:

Y=”100”,因y未显式声明为何种类型数据,当用该赋值命令赋予”100”给变量y,则这时y是字符串型的,这种用法隐含说明y是字符串型的,也叫变量的隐式声明。

我们提倡大家选择显式声明,但要考虑合理的数据类型。

注意:

不同类型的数据,能够参加的运算有很多不一样。

但同种类型的数据都能比较运算,整型、长整型、单精度、双精度等这些数值型数据按常规比较大小;字符串的大小比较原则是:

按位比较,比较位上的字符若相同,电脑将继续比较下一位,比较位不同,则该位字符的大小就是整个字符串的大小。

字符大小的比较依据是字符的字典顺序(半角符号按ASC码大小、全角符号按机内码大小),一般有:

汉字〉全角符号〉半角符号;汉字从小到大的顺序是拼音顺序。

如:

“汉字”>”sadsfdsfdfdsf”:

成立

“a”>”222133543545”:

成立

“中”>”李”:

成立

“2”>”124343403434”:

成立

“a”>”A”:

成立

⑶知道程序中运算符、函数、表达式的表示方式,能够转换数学表达式为程序接受的表达式。

算术运算符:

\^〉-〉*/〉/〉Mod〉+-

关系运算符:

=><>=<=<>优先级都一样

逻辑运算符:

And〉Or〉Not

字符串连接符:

+&

日期运算符:

+-

掌握上述运算符的作用,运算的优先级必须清楚,P26总的来说优先级的顺序是:

算术运算〉字符串连接运算〉关系运算〉逻辑运算

需要掌握的函数:

算术函数有:

Abs(x)Sqr(x)Sin(x)Cos(x)Tan(x)Atn(x)Exp(x)Log(x)Int(x)Rnd(x)Sgn(x)Fix(x)

说明:

随机函数Rnd(x),随机产生一个大于或等于0,且小于1的实数。

Int(x):

得到不大于X的最大整数

取正负号函数Sgn(x),若x为正数则输出1,若为负数则输出-1,X为0或非数值则输出0

Fix(x)取x的整数部分,小数部分无条件舍去

所有的三角函数,参数必须转换为弧度

字符串函数:

Len(s)Left(s,n)Mid(s,n1[,n2])Right(s,n)String(n,s)都很重要。

说明:

Len(s):

返回字符串的文字个数,如:

len(“aaa”)=3len(“泉州”)=2

Mid(s,n1[,n2]):

从字符串s中取子串,从第n1位开始取,取n2个字符,若n2参数省略,则从n1位开始取到尾。

如:

mid(“abc123”,4,2)=”12”mid(“abc123”,4)=”123”

String(n,s):

如String(3,”a”)=”aaa”String(3,”“)=”“

数据类型转换函数:

Val(s)Str(n)Chr(n)Asc(s)Cint(x)

说明:

Cint(x)四舍五入,小数部分是0.5时获得最靠近的偶数,如:

Cint(2.51)=3

Cint(2.5)=2

Cint(3.5)=4

Val(s):

把字符串s转换为数值,如:

val(“123”)=123val(“12ads”)=12val(“abc”)=0

日期函数:

year(d)Month(d)Day(d)

参数d必须是日期常量或日期变量或值为日期型的表达式

⑷学会使用顺序结构设计程序的基本方法。

具有顺序结构特性的命令主要是:

Dim赋值命令“=”InputBoxMsgBoxPrint等

 

⑸学会使用分支结构设计程序的基本方法。

具有分支结构特性的命令是:

If……Then语句三种格式

SelectCase……EndSelect语句

⑹学会使用循环结构设计程序的基本方法。

DoWhile…….Loop循环

For……Next循环

Vb6.0主要命令学习参考:

一、赋值语句(命令)

命令格式:

<变量|对象名.属性名>=<表达式>

功能:

计算机将先计算表达式的值,然后把表达式的值赋给左边的“变量”或“对象的属性”,该命令执行完后的结果是变量的值为该表达式的值,变量之前的值将丢弃,不再保留。

注意:

这里的等于号不同于关系运算符中的等于号,一般把它叫做赋值号

x=y+1如果是关系式,那是要判断x与y+1是否相等,运算的结果是一Boolean值,表达式不能单独作为命令使用,而只能作为命令的组成部分,如:

ifx=y+1then

<命令集>

endif

关系表达式x=y+1改写为y+1=x结果是一样的。

但如果把x=y+1作为单独作为命令行,如:

x=y+1

那么计算机就不把它当关系表达式看待,而是作为赋值命令,那么这时就不是要判断x与y+1是否相等,而是要把表达式y+1的值赋给变量x,并且不能写为y+1=x

示例:

下列程序段中出现的Form1为已创建的form窗体名称

Dimx1assingle,aassingle,bassingle,cassingle

Dimxasinteger,yasinteger,zasboolean,sasstring

x1=(-b+sqr(b*b-4*a*c))/2/a

y=int(rnd()*10)

z=y=3

a+b=c

s=”y=3”

x+y=a+b+c

form1.Caption=”MyForm”

form1.Width=6000

练习:

下列选项中可作为赋值语句的有:

a、d、g;

可作为关系表达式的有:

a、b、c、d、e、f、g。

a)x=yb)”abc”=”ab”c)x+y=1d)x=y+1e)y+1=xf)“a”=ag)a=”a”

二、条件判断语句的几种用法:

 用法一:

 格式:

if<逻辑判断式>then<一个语句>

 说明:

计算机执行该语句时首先判断<逻辑判断式>是否成立:

 如果成立,则执行then后面的<一个语句>,<一个语句>执行完毕后,继续执行if…then的后续语句。

 如果不成立,则不执行then后面的<一个语句>,而是直接执行if…then的后续语句。

 示例:

(xj1,xj2为字符串变量,分别存储一个学生的评优和学科竞赛情况;x变量表示总分)

 

……

 Ifxj1=”三好生”thenx=x+10

 Ifxj2=”福建省一等奖”thenx=x+20

 …..

 -----------------------------------------------------------------------------------------------

 用法二:

 格式:

if<逻辑判断式>then

 <语句或语句组>

 Endif

 说明:

计算机执行该语句时首先判断<逻辑判断式>是否成立:

 如果成立,则执行then后面的<语句或语句组>,<语句或语句组>执行完毕后,继续执行Endif的后续语句。

 如果不成立,则不执行then后面的<语句或语句组>,而是直接执行Endif的后续语句。

 示例:

 Dimout_strasstring

 ………

 pbs=b*b-4*a*c

 out_str=”无实根”

 Ifpbs>=0then

 x1=(-b+sqr(pbs))/2/a

 x2=(-b-sqr(pbs))/2/a

 out_str=”x1=”&x1&“:

x2=”&x2

 Endif

 ………

 -----------------------------------------------------------------------------------------------

 用法三:

 格式:

if<逻辑判断式>then

 <语句或语句组1>

 Else

 <语句或语句组2>

 Endif

 说明:

计算机执行该语句时首先判断<逻辑判断式>是否成立:

 如果成立,则执行then后面的<语句或语句组1>,<语句或语句组1>执行完毕后,继续执行Endif的后续语句。

 如果不成立,则Else后面的<语句或语句组2>,<语句或语句组2>执行完毕后,继续执行Endif的后续语句。

 示例:

 求一元二次方程的根

Dimout_strasstring

 ………

 pbs=b*b-4*a*c

 Ifpbs>=0then

 x1=(-b+sqr(pbs))/2/a

 x2=(-b-sqr(pbs))/2/a

 out_str=”x1=”&x1&“:

x2=”&x2

 Else

 out_str=”无实根”

 Endif

 ………

 -----------------------------------------------------------------------------------------------

 用法四:

 格式:

if<逻辑判断式1>then

 <语句或语句组1>

 ElseIf<逻辑判断式2>then

 <语句或语句组2>

 ElseIf<逻辑判断式3>then

 <语句或语句组3>

 ……

 ElseIf<逻辑判断式n>then

 <语句或语句组n>

 Else

 <语句或语句组n+1>

 Endif

 说明:

该用法也称多分支结构,计算机执行该语句时首先判断<逻辑判断式1>是否成立:

 如果成立,则执行<语句或语句组1>,<语句或语句组1>执行完毕后,继续执行Endif的后续语句。

 如果不成立,则继续判断<逻辑判断式2>是否成立,如果成立,则执行<语句或语句组2>,<语句或语句组2>执行完毕后,继续执行Endif的后续语句。

 如果不成立,则继续判断<逻辑判断式3>是否成立,如果成立,则执行<语句或语句组3>,<语句或语句组3>执行完毕后,继续执行Endif的后续语句。

 ……

 如果不成立,则继续判断<逻辑判断式n>是否成立,如果成立,则执行<语句或语句组n>,<语句或语句组n>执行完毕后,继续执行Endif的后续语句。

 如果不成立,则执行Else后面的<语句或语句组n+1>,<语句或语句组n+1>执行完毕后,继续执行Endif的后续语句。

  

示例:

 ……

 Ifx>=90then

 c9=c9+1

 Elseifx>=80then

 c8=c8+1

 Elseifx>=70then

 c7=c7+1

 Elseifx>=60then

 c6=c6+1

 Else

 c5=c5+1

 Endif

 …….

 三、多分支语句(分情形语句)

格式:

SelectCase<表达式>

Case情形1

语句集

Case情形2

语句集

Case情形3

语句集

…..

CaseElse

语句集

EndSelect

 多分支的情况下,更倾向于选择case语句,若分支不超过三个则没有必要使用该语句。

实例:

输入一个年份和月份输出该年该月的天数。

y表示年份

m表示月份

S为要计算的月份的天数

 

s=0

SelectCasem

    Case1,3,5,7,8,10,12

          s=31

    Case2

           Ifymod400=0orymod4=0andymod100<>0then

                      s=29

           Else

                      s=28

           EndIf

     Case4,6,9,11

          s=30

EndSelect

Print y;"年";m;"月的天数是";s

四、循环语句:

For…Next循环,适用于已知循环次数的情况

格式:

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

…循环体…

Next[循环变量]

注意:

为避免死循环,不要在循环内部重置循环变量的值

当初值>终值时,步长值为正实数(1时可省略)

当初值<终值时,步长值为负实数

功能:

s=0

fori=1to100step2

s=s+1

next

s的值是多少?

50

s=0

fori=1to100

s=s+i

next

s的值是多少?

5050

out_string=””

fori=100to999

a=i\100

b=i\10mod10

c=imod10

ifa^3+b^3+c^3=Ithen

out_string=out_string&“,”&i

endif

next

out_string的值是什么?

五、DoWhile….Loop循环语句

适用于未知循环次数的情况

格式:

      DoWhile<循环条件>

                    …循环体…

      Loop

功能:

  若while放在loop后面,则循环先执行一次再作判断。

i=1

s=0

Dowhilei<10

s=s+i

i=i+1

loop

s的值是多少?

s=0

dowhilenot(s>=100andsmod2=0)

s=int(rnd()*1000)

loop

s的值是什么?

六、InputBox输入语句:

格式:

<变量>=InputBox(提示[,标题][,默认值])

功能:

弹出对话框,输入变量的值,若未用Dim显示声明变量的类型,则输入的值为String型,否则输入的值自动转换为声明的类型

实例:

DimnAsInteger

n=InputBox("请输入n的值:

")

 

七、MsgBox消息框

格式:

MsgBox提示[,按钮][,标题]这里的后两个参数要么同时都有要么都没有

功能:

弹出消息框,显示“提示”内容

按钮的取值:

vbOkOnlyvbOkCancelvbYesNovbYesNoCancel

实例:

s=0

n=100

i=1

DoWhilei<=n

   s=s+i

   i=i+1

Loop

x=MsgBox("1+2+3+....+"& n& "="& s,vbOkOnly,"输出结果")

 

八、Print输出语句

格式:

[对象名.]Print[用;或,隔开的表达式][;|,]

功能:

在“对象名”所标识的对象上输出显示表达式的值,分号隔开时为“紧凑格式”输出,逗号隔开时为“标准格式”输出,末尾未带逗号或分号时,输出完后换行,否则不换行。

单独执行print后面不跟任何变量时,仅起到换行的作用。

“对象名”省略时,默认在Form窗体上输出,有Print方法的对象只有Form和Picture

s=0

n=100

i=1

DoWhilei<=n

   s=s+i

   i=i+1

Loop

Print"1+2+3+...+";n;"=";s 

或者

Print"1+2+3+...+"& n& "="& s 

 

Vb程序的编码规则:

1)原则上一行输入一个完整的命令,即命令行

2)若命令行较长,需要分割为多行来输入的话,则可用续行符一个空格+“_”(下划线),在行分割的行尾输入一个空格和一个“_”,后无任何空格。

如:

Ifxmod400=0orxmod4=0andxmod100<>0then

分成两行的话,写成:

Ifxmod400=0orxmod4=0_

andxmod100<>0then

3)多个命令写在同一行时,命令间用冒号“:

”隔开

如:

x=100:

y=10:

z=”abc”

4)命令不区分大小写

⑺了解程序的编辑与翻译过程方法,比较编译型语言与解释型语言的优势与不足。

编译型语言优点:

执行效率(速度)高;完整翻译后再执行缺点:

不好调试、修改程序不便

解释型语言缺点:

执行效率低一点;逐句翻译,边翻译边执行优点:

好调试程序

Vb6.0是既提供解释执行,又提供编译执行的计算机语言,所以好用。

3.算法与程序实现(参考教材,了解一下)

⑴理解解析法的基本思想。

⑵了解枚举算法求解问题的过程。

⑶理解使用数组存储批量数据的基本方法。

⑷理解顺序查找、二分查找算法思想。

⑸了解一到两种经典排序算法思想(如插入排序、冒泡排序)。

⑹了解递归思想与递归的数学意义。

4.程序设计思想和方法(参考教材,了解一下)

⑴了解模块化程序设计的基本思想与方法。

⑵了解面向对象程序设计的思想与方法。

⑶了解面向对象程序设计的基本特征。

请参考书本的附录:

熟练掌握Vb中常用控件(对象)的属性项名称,事件名等

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

当前位置:首页 > 解决方案 > 学习计划

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

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