江苏省信息技术算法与程序设计详案Word文件下载.docx
《江苏省信息技术算法与程序设计详案Word文件下载.docx》由会员分享,可在线阅读,更多相关《江苏省信息技术算法与程序设计详案Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
X整除5余2,
X整除7余4,
X整除13余6,
X整除17余8,则记下这个X。
3、令X为X+1。
4、如果算出,则结束;
否则跳转2。
5、写出答案。
用计算机解决问题
教师:
“用计算机解题,是不是输入上面的算法?
上面用自然语言描述的算法,计算机不懂,必须翻译成计算机的语言,这就是程序设计语言。
”教师展示与用VisualBasic语言编写的程序作对照。
简单解释变Y的作用,并提示学生程序设计语言是我们以后学习的重点。
本例用VisualBasic语言编写的程序请看教材如下:
PrivateSubCommand1_Click()
DimXAsInteger,YAsInteger
X=1:
Y=0
Do
IfXMod3=1Then
IfXMod5=2Then
IfXMod7=4Then
IfXMod13=6Then
IfXMod17=8ThenY=X
EndIf
X=X+1
LoopUntilY>
0
Print"
韩信统御士兵数:
"
;
Y
EndSub
程序编好以后,通过键盘输入计算机,并运行程序查看结果这个过程叫调试程序。
教师提问2~3个小组的讨论结果,并引导出大致如下的形式结果:
求解问题的方式
相同点
不同点
人工求解问题
分析问题、设计算法、得出结果、验算结果等
对题目进行解答、运算速度慢、不需要计算机等
用计算机求解问题
编写程序、调试程序、运算速度快等
第二节:
算法和算法的描述
了解算法的定义及其表达方法;
认知流程图的六种基本符号;
理解计算机解决问题的一般过程
算法的定义;
算法的三种表达方法;
流程图的六种基本符号;
用流程图描述简单的算法
算法的描述(三种);
用流程图描述算法
1课时
一、对算法的初步了解
1.一个简单的物理问题:
书中例6-1-1:
求物体在恒力作用下的加速度。
根据在物理课中学过的知识,要解决这个问题有多种方法:
方法一:
a)
测量出物体的质量m、拉力F和滑动摩擦力f
b)
将测量所得的数据输入计算机
c)
根据牛顿第二定律F-f=m*a,计算出加速度a
d)
输出所得的结果
方法二:
测量出物体从静止开始移动的距离s、时间t
利用公式:
s=a*t*t/2计算出加速度a
2.算法的定义
这种为解决某一问题而设计的确定的有限的步骤称为算法。
二、算法的描述
要把解决问题的步骤表达出来,有多种方法可以表达算法。
1.用自然语言表达
用自然语言表达算法,就是把算法的各个步骤,依次用人们熟悉的自然语言表示出来。
优点:
容易理解
缺点:
书写较烦、不确定性、对复杂的问题难以表达准确、不能被计算机识别和执行
2.用图形符号表达
用图形符号表达算法必须要有一组规定统一、含义确定的专用符号。
常用的“流程图”所用的基本符号
3.用程序实现算法
用计算机能理解和执行的程序设计语言把算法表示出来,然后把程序输入到计算机并执行,计算机才能按照预定的算法去解决问题。
不同类型的计算机能够识别的指令和语言不尽相同,即使对同一种计算机语言,不同类型的计算机对该语言的解释程序也有差异。
因此,用程序表示算法时,必须按照程序设计语言适用某类计算机的具体规定来进行。
三、用计算机解决问题的一般过程
使用计算机解决一个问题,一般包括四个过程
1.需求分析
“需求分析”是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。
2.设计算法
弄清楚要计算机“做什么”后,就要设计计算法,明确要计算机“怎么做”
解决一个问题,可能有多种算法。
例如,数学题常常有“一题多解”。
这就是说,解决一个问题的算法可能不止一种。
这是,应该通过分析、比较、挑选一种最优的算法。
3.编写程序
计算机只能接受并执行计算机程序设计语言编写的程序。
当我们为解决一个问题确定了算法后,还必须将该算法用计算机程序设计语言编写程序。
这个过程成为“编码”或“编程”。
4.上机调试与维护
编写完成的程序,不一定完全符合实际问题的要求,还必须在计算机上运行这个程序,排除程序中可能出现的错误,才能得到结果。
这个过程称为“上机调试”。
即使是经过调试的程序,在使用一段时间后,仍然会被发现错误或不足之处。
这就需要对程序做进一步的修改,使之更加完善。
这个过程称为“维护”。
在实际解决问题时,上述四个步骤可能会根据不同的问题有所侧重。
第三节:
程序与程序设计语言
理解源代码、算法、程序设计、程序设计语言之间的关系,了解程序设计语言的发展及种类
了解代码所包含的算法思想
计算机是如何编辑程序、编译程序和连接程序的
(一)算法、程序设计与程序设计语言之间的关系
⑴算法
提出问题:
什么是算法?
算法有哪些特征?
⑵程序设计——寻求解决问题的方法,并将其实现步骤写成计算机可执行的程序的过程。
⑶程序设计语言——泛指一切用于书写计算机程序的语言。
算法是程序设计的前提,它包含方法和步骤;
程序是实现算法中的思想的过程;
程序设计语言把算法转化为计算机认识的语言。
(二)认识程序设计语言
1、发展过程
机器语言:
由一串“0”和“1”构成二进制代码。
汇编语言:
是一种符号化(英文助记符)的机器语言。
高级语言:
如Basic、C/C++、Fortran、Pascal、Cobol、Java等。
2、分类(按转换方式不同分类)
编译型语言
解释型语言
编写的源程序需要用编译程序先翻译成机器语言的目标程序,然后再由连接装配程序进行连接装配,生成可执行程序,这样才能被计算机执行。
源程序输入计算机后,运行源程序,相应的解释程序会逐条分析源程序中的语句,每解释一句由计算机执行一句。
C/C++、VB、Pascal、Cobol
Qbasic、Lisp
3、编辑程序、编译程序和连接程序
⑴编辑程序
包含内容:
一是将源程序逐个字符输入到计算机内存,二是修改源程序,三将修改好的源程序保存在磁盘文件中。
⑵编译程序:
将已编辑好的源程序(已存储在磁盘文件中)翻译成二进制的目标代码。
⑶连接:
将各模块的二进制目标代码与系统标准模块经连接处理后,得到具有有绝对地址的可执行文件,它是计算机直接执行的文件。
VB语言及程序开发环境
掌握VB定义的常用的基本数据类型,常量与变量的定义方法,运算符、函数和表达式的描述
VB常用的的基本数据类型,常量与变量,运算符和表达式、VB程序的开发环境
基本数据类型,常量与变量,运算符和表达式的运用
导入:
(P26)以下是一个“求半径为r的圆的面积”的程序,请你注意观察程序的组成结构及其功能,并思考如下的问题:
(1)程序有多少行,每一行的作用是什么?
(2)如果按语句的作用区分,这个程序包含几个部分?
Privatesubcommand1_click()
‘定义名为command1_click()的事件过程
Constpiassingle=3.14
‘说明程序中pi是常量∏
Dimrassingle,sassingle
‘定义半径r和面积s为单精度实型
r=inputbox(“r=”,”请输入半径”)
‘输入r的值
s=pi*r*r
‘把表达式pi*r*r的值赋给s
print“圆的面积s=”;
s
‘把s的值输出到当前的窗体上
Endsub
‘过程结束
总结上述分析,我们可以得到VB程序的一般包括如下部分:
(1)数据类型说明部分
(2)数据的输入部分
(3)数据的处理部分
(4)数据的输出部分
一、基本数据类型
描述客观事物的数、字符以及所有能输入到计算机中,并被计算机程序加工处理的集合称为数据。
数据既是计算机程序处理的对象,也是运算产生的结果。
为了更好地处理各种数据,VB定义了多种数据的类型。
基本数据类型是系统预先定义的数据类型,表2-1中列出了VB定义的常用的基本数据类型。
二、常量与变量
(1)常量
常量是指在程序运行过程中始终保持不变的常量、字符串等。
例如在上述的程序中,3.14、“r=”、“输入半径”等都是常量。
在程序设计中,以于一些经常使用的常量,可以用常量说明语句来定义。
这样可以提高程序的可读性和可维护性。
常量说明语句的格式是:
Const
常量名
As类型=表达式
在上述程序中,第2行就是一个常量说明语句,说明程序中需要使用的常量。
(2)变量
在程序处理数据时,对于输入的数据、参加运算的数据、运行结果等临时数据,通常把它们暂时存储在计算机的内存中。
变量就是命名的内存单元位置。
在VB中,变量名必须是由英文字母开头,后面则可以由字母、数字或其它符号组成;
变量的名称最好与它所表示的内容意义相同的英文单词来确定。
(3)变量说明
使用变量前,一般应先说明变量名及其类型,以使系统为其分配存储单元,变量说明语句格式如下:
Dim
变量
As
类型
如Dimrassingle,定义半径r为单精度实型
三、运算符、函数和表达式
(1)运算符
运算符是对数据进行加工的过程。
描述各种不同运算的符号称为运算符,参与运算的数据称为操作数。
在VB中,常用的运算符有算术运算符、字符串运算符和逻辑运算符等。
①算术运算符有:
运算符号
+
-
*
/
^
\
MOD
含义
加号
减号
乘号
除号
乘方
整除
取余数
算术运算符的运算规则和数学中相同,如果意义不明确时,可以加上括号使其看起来更明白。
VB中只使用一种括号“()”,它可以多次嵌套。
②字符串运算符有:
&
VB中的字符串运算符是“&
”,该运算符主要用于连接两个或更多的字符串,例如:
“"abcd"&
"efg"”连接后结果为"abcdefg"。
(2)函数
在VB中有两类函数,分别是内部函数和自定义函数转换函数。
常用的内部函数有数值函数、字符函数、时间/日期函数和其它函数等,如表2-2所示,自定义函数是由程序员根据需