算法与程序设计是高中信息技术课程的选修模块以问题.docx
- 文档编号:16939961
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:21
- 大小:89.16KB
算法与程序设计是高中信息技术课程的选修模块以问题.docx
《算法与程序设计是高中信息技术课程的选修模块以问题.docx》由会员分享,可在线阅读,更多相关《算法与程序设计是高中信息技术课程的选修模块以问题.docx(21页珍藏版)》请在冰点文库上搜索。
算法与程序设计是高中信息技术课程的选修模块以问题
“算法与程序设计”是高中信息技术课程的选修模块,以问题解决与程序设计为主线,揭示利用计算机解决问题的过程。
学生通过本模块的学习能体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序,实现算法解决问题。
现以《考试大纲》中“算法与程序设计”部分的内容标准为依据总结以下复习内容:
(蓝色字为总结的复习内容)
软件环境:
VB6.0
1.利用计算机解决问题的基本过程
⑴了解利用计算机解决问题的基本过程。
计算机并非能帮助人类解决所有问题,但它能解决的问题的范围越来越多。
需要解决的问题是否有明确的算法?
需要处理的数据是否都能数字化?
是计算机能否帮助我们解决该问题的前提。
利用计算机解决问题的一般过程:
“运行程序,验证结果”需要人工验证,计算机并不能帮我们验证,问题分析有遗漏或算法设计有错误或编写的程序与算法不一致,都将可能导致程序运行结果不正确,这时需要回过头来检查错误是发生在“分析问题”阶段?
还是“设计的算法”有误?
还是“编写的程序”与算法不一致?
更正错误后,再运行,再验证,直到问题得到正确解决。
因此上述流程能确保问题得到正确解决。
⑵了解问题分析与算法设计之间的关系。
问题分析是确定需要解决的任务的已知数据、需要输入什么数据、需要进行什么运算处理、需要输出什么结果?
算法设计是按计算机的工作机制,在“问题分析”的基础上设计出解决问题的方法与步骤。
⑶了解算法的基本特征。
算法具有以下特征:
1)有穷性2)确定性3)可行性4)有零个或多个输入数据5)至少有一个输出结果
⑷能用自然语言、流程图或伪代码描述算法。
算法的描述方法有三种:
1)自然语言描述法2)流程图描述法3)伪代码描述法
⑸了解程序设计语言产生与发展过程。
认识程序设计语言:
机器语言是计算机唯一能直接识别(理解)、执行的语言,所有指令都用二进制代码表示,同样的指令,如加运算在不同类型的CPU上,可能用不同的二进制代码表示,所以机器语言与计算机的硬件紧密相关。
如8086系列指令系统、Z80指令系统等。
所有参加运算的数据也都用二进制表示,称为指令的操作数。
这种语言的缺点是:
不好学、不好记忆、机器语言程序不好修改,因与硬件关系密切,程序不好移植。
优点是:
程序的执行效率最高。
汇编语言是机器语言的符号化,汇编语言编写的程序电脑并不能直接识别,需要编译或解释转换为机器语言,电脑才能执行。
这种语言的优点是:
比机器语言好记忆,移植性较好,执行效率还不错。
缺点是:
尽管比机器语言好记忆,但普通人还是不好学、好用。
机器语言和汇编语言同属“低级语言”。
是相对高级语言而言。
高级语言:
比较接近自然语言,好学、好用,编写的程序同样需要编译或解释电脑才能执行。
常用的高级语言有:
C/C++语言、Pascal、Basic、Cobol、Java、Fortran、VisualBasic等。
2.程序设计基础
⑴能够使用可视化程序开发工具设计简单的用户界面。
VisualBasic语言提供了美观、友好的开发界面,通过视图菜单,能个性化定制用户界面,主要包括;系统菜单栏、工具栏、工程管理器、窗口设计区、对象(控件)属性窗口、代码窗口、常用工具箱(常用控件)、布局窗口等。
用可视化、形象化的图像表示抽象化的控件对象,编程设计工作形象直观。
⑵知道常用的数据类型、变量、常量的含义;学会定义常量、变量的数据类型。
数字化数据有不同类型,在Vb6.0中,主要的数据类型有:
Integer(整型),数值区间:
-32768到32767间的整数
Long(长整型),数值区间:
-2147483648到2147483647间的整数
Single(单精度),数值区间:
见书本P21
Double(双精度),参见书本
String(字符串型),指所有用双引号(半角)括起来的文字符号。
Boolean(布尔型),也叫逻辑型,这种类型的数据只有两个,一个是True,另一个是False。
Date(日期型),这种类型的数据指所有有效的按规定书写格式表示的日期。
数据的表达形式一般指:
常量或变量两种形式,控件的属性项数据也可算一种。
特别注意:
字符串常量是所有用双引号括起来的文字符号,如:
”100”
日期常量的书写格式:
#2009-5-12#或#5-12-2009#
变量都要有名称,即变量名,请参见书本关于变量名的命名规则(重点)
一个变量原则上能存储任意类型的数据,但若用Dim命令显式声明一个变量的类型,则被声明的变量只能存储声明的类型的数据,否则赋予变量什么类型的数据,则该变量就是相应数据类型。
如:
DimxAsInteger,则x变量只能存储整型数据
再如:
Y=”100”,因y未显式声明为何种类型数据,当用该赋值命令赋予”100”给变量y,则这时y是字符串型的,这种用法隐含说明y是字符串型的,也叫变量的隐式声明。
注意:
不同类型的数据,能够参加的运算有很多不一样。
但同种类型的数据都能比较运算,整型、长整型、单精度、双精度等这些数值型数据按常规比较大小;字符串的大小比较原则是:
字符串从左到右按位比较,比较位上的字符若相同,电脑将继续比较下一位,比较位不同,则该位字符的大小就是整个字符串的大小。
字符大小的比较依据是字符的字典顺序(半角符号按ASC码大小、全角符号按机内码大小),一般有:
汉字〉全角符号〉半角符号;汉字从小到大的顺序是拼音顺序。
如:
“汉字”>”sadsfdsfdfdsf”:
成立
“a”>”222133543545”:
成立
“中”>”李”:
成立
“2”>”124343403434”:
成立
“a”>”A”:
成立
⑶知道程序中运算符、函数、表达式的表示方式,能够转换数学表达式为程序接受的表达式。
算术运算符:
+-*/\^Mod
关系运算符:
=><>=<=<>
逻辑运算符:
AndOrNot
字符串连接符:
+&
日期运算符:
+-
掌握上述运算符的作用,运算的优先级
下面的各种类型的运算符优先级,同颜色的表示具有同等的优先级
算术运算优先顺序是:
^*/\Mod+-
Mod运算符输入时记得要前后空格
关系运算符:
=><>=<=<>(优先级一样)
逻辑运算符:
NotAndOr
字符串连接符:
+&(优先级一样,与算术的加减同级)
&连接符,输入时记得前后空格
日期运算符:
+-(优先级一样,与算术的加减同级)
一般有:
算术运算高于关系运算高于逻辑运算
需要掌握的函数:
算术函数有:
Abs(x)Sqr(x)Sin(x)Cos(x)Tan(x)Atn(x)Exp(x)Log(x)Int(x)Rnd()Cint(x)
说明:
随机函数Rnd(),随机产生一个大于或等于0,且小于1的实数。
Int(x):
得到不大于X的最大整数
Cint(x):
小数部分四舍五入;但当小数部分刚好等于0.5时,如果进一能得到一个偶数,则选择进一,否则不进一,如:
Cint(4.5)=4Cint(3.5)=4
所有的三角函数,参数必须转换为弧度
字符串函数:
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必须是日期常量或日期变量或值为日期型的表达式
⑷学会使用顺序结构设计程序的基本方法。
具有顺序结构特性的命令主要是:
DimConstRem赋值命令InputBoxMsgBoxPrint等
1)声明(定义)常量名
命令格式:
Const常量名[AS类型]=表达式
2)声明(定义)变量名
命令格式:
Dim变量名AS类型[,变量名AS类型]…
3)Print输出语句
命令格式:
Print[表达式列表]
4)注释
命令格式:
Rem注释内容
5)结束语句
命令格式:
End
6)赋值语句
命令格式:
变量=表达式
对象名.属性=表达式
7)Msgbox输出
命令格式:
Msgbox表达式
8)InputBox输入数据
命令格式:
变量=Input(提示[,标题][,默认值])
⑸学会使用分支结构设计程序的基本方法。
具有分支结构特性的命令是:
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
…….
三、循环语句:
For…Next循环
格式:
For<循环变量>=<初值>To<终值>[Step<步长>]
…循环体…
Next[循环变量]
功能:
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
功能:
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[用;或,隔开的表达式][;|,]
功能:
在“对象名”所标识的对象上输出显示表达式的值,分号隔开时为“紧凑格式”输出,逗号隔开时为“标准格式”输出,末尾未带逗号或分号时,输出完后换行,否则不换行。
“对象名”省略时,默认在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
八、多分支语句(分情形语句)
格式:
SelectCase<表达式>
Case情形1
语句集
Case情形2
语句集
Case情形3
语句集
…..
CaseElse
语句集
EndSelect
实例:
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
Vb程序的编码规则:
1)原则上一行输入一个完整的命令,即命令行
2)若命令行较长,需要分割为多行来输入的话,则可用续行符“_”(下划线),在行分割的行尾输入_,确保_前有一个空格,后无任何空格。
如:
Ifxmod400=0orxmod4=0andxmod100<>0then
分成两行的话,写成:
Ifxmod400=0orxmod4=0_
andxmod100<>0then
3)多个命令写在同一行时,命令间用冒号“:
”隔开
如:
x=100:
y=10:
z=”abc”
⑺了解程序的编辑与翻译过程方法,比较编译型语言与解释型语言的优势与不足。
编译型语言优点:
执行效率(速度)高缺点:
不好调试、修改程序
解释型语言缺点:
执行效率低点优点:
好调试程序
Vb6.0是既提供解释执行,又提供编译执行的计算机语言,所以好用。
3.算法与程序实现(参考教材,了解一下)
⑴理解解析法的基本思想。
⑵了解枚举算法求解问题的过程。
⑶理解使用数组存储批量数据的基本方法。
⑷理解顺序查找、二分查找算法思想。
⑸了解一到两种经典排序算法思想(如插入排序、冒泡排序)。
⑹了解递归思想与递归的数学意义。
4.程序设计思想和方法(参考教材,了解一下)
⑴了解模块化程序设计的基本思想与方法。
⑵了解面向对象程序设计的思想与方法。
⑶了解面向对象程序设计的基本特征。
请参考书本的附录:
熟练掌握Vb中常用控件(对象)的属性项名称,事件名等
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 程序设计 高中 信息技术 课程 选修 模块 问题