第七单元程序设计初步文档格式.docx
- 文档编号:19705203
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:18
- 大小:404.51KB
第七单元程序设计初步文档格式.docx
《第七单元程序设计初步文档格式.docx》由会员分享,可在线阅读,更多相关《第七单元程序设计初步文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
图5.1.2计算机解决问题的过程
实际上我们从两个图的对比中可以发现计算机解决问题的过程实际上就是模仿人类解决问题的过程,只是缺少了只有人类可以完成的现象的观察和知识、经验的总结。
2.计算机的程序
程序(ché
ngxù
)从广义上来讲就是泛指做事的先后次序。
我们在生活中做任何事情,都有一个先后的次序,于是,在我们的工作和生活中,无时无处不在和程序打交道。
计算机程序就是让计算做事的程序,它由一系列的机器指令组成的,而指令就是要计算机执行某种操作的命令。
简而言之就是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合(jí
hé
)。
3.算法
简单地说,算法(suà
nfǎ)就是解决问题的方法和步骤(bù
zhò
u)。
我们在中学阶段都学过一元二次方程
的求解。
它一般有四种解题方法:
直接开平方法;
配方法;
公式法;
分解因式法。
我们可以根据题意和自己的喜好来选择解题方法来解决问题,而这一系列活动实际上就包含着算法。
算法是程序设计的“灵魂”,世界著名计算机科学家尼克劳斯·
沃思(Nwirth)指出:
算法+数据结构(shù
jù
jié
gò
u)=程序,可见,算法在程序设计中具有多么重要的地位。
算法独立于任何具体的程序设计语言,一个算法可以用多种程序设计语言来实现。
例如,“韩信点兵问题”的算法可以用BAsic语言来实现,也可以用c语言来实现。
序号
特征
含义
1
确定性
算法的描述必须无歧义,以保证算法的执行结果是确定的。
2
有穷性
算法必须在有限步骤内结束或实现,且每一步执行的时间也是有限的。
3
输入
一个算法必须有零个或多个输入量。
4
输出
一个算法应有一个或多个输出量,输出量是算法计算的结果。
5
有效性
又称可行性。
能够实现,算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。
表5.1.1算法的特征
4.程序设计与程序设计语言
程序设计(ché
shè
jì
)是指设计、编制、调试程序的方法和过程。
由于程序是软件的本体,软件的质量主要通过程序的质量来体现的,在软件研究中,程序设计的工作非常重要,内容涉及到有关的基本概念、工具、方法以及方法学等。
程序设计语言,通常简称为编程语言,是一组用来定义计算机程序的语法规则。
它是一种被标准化的交流技巧,用来向计算机发出指令。
程序设计语言包含三个方面,即语法、语义和语用。
语法表示程序的结构或形式,亦即表示构成程序的各个记号之间的组合规则,但不涉及这些记号的特定含义,也不涉及使用者。
语义表示程序的含义,亦即表示按照各种方法所表示的各个记号的特定含义,但也不涉及使用着,语用表示程序与使用的关系。
程序设计语言的基本成分有:
①数据成分,用于描述程序所涉及的数据;
②运算成分,用以描述程序中所包含的运算;
③控制成分,用以描述程序中所包含的控制;
④传输成分,用以表达程序中数据的传输。
目前,全世界大概有上百种程序设计语言,大体上我们分为低级语言(如机器语言、汇编语言)、高级语言(如Basic、C等);
面向过程的语言(以字符界面为主的语言,如C、Fortran等)和面向对象的语言(如VisiualBasic、PowerBuilder等)
5.数据的表示
(1)数据类型
程序设计中,往往要处理各种各样的数据,不同的程序设计语言有不同的数据类型(shù
lè
ixí
ng)。
数据类型实际上是一种约定。
我们知道,计算机是0和1的世界,它的数据是以0和1的形式存储。
如二进制“01000001”,如果约定为数值,它表示整数65;
如果约定为字符则表示字母“A”。
不同的约定,计算机分配的存储空间也是不同的。
在计算机语言中,为了便于数据的表示与处理,一般都提供了数值型、字符串型、布尔型、日期型等基本数据类型,表5-5所示的是我们常用的数据类型。
数据类型
关键字
说明
举例
字符型
Integer
是一个可变长度的字符串
“ABCdef”
整型
Int
不带小数点的数
123
实型
Float
带有小数点数值
123.0
布尔型
Boolean
是或非;
真或假
0/1;
True/False
日期型
Date
带有年月日的格式数值
2008-01-01
表5.1.2常用数据类型
(2)常量
常量(chá
nglià
ng)也称常数(chá
ngshù
),是一种恒定的或不可变的数值或数据项。
它们可以是不随时间变化的某些量和信息,也可以是表示某一数值的字符或字符串,常被用来标识、测量和比较。
比如我们的出生日期,每年都会度过我们的生日。
常量的分类
数值型常量
类似数学上的常数。
一元二次方程的二次项常数a
字符型常量
用一对双引号括起开的字符串。
”ABC”、”China”
表5.1.3常量的分类
(3)变量
变量(bià
nlià
ng)是指在程序的运行过程中随时可以发生变化的量。
是程序中数据的临时存放场所。
程序设计中的变量和家庭使用的信箱类似:
变量有一个名字,它对应着相应的内存单元;
家庭信箱名称对应一个具体的收信地点。
(4)变量的命名规则
就像我们的姓名一样,命名需要一定的规则(姓+名或名+姓)不能随意起名,否则就难以区分了。
针对不同的计算机语言环境虽然有不同的命名规则(mì
ngmí
ngguīzé
),但是总体上基本类似。
●变量名必须以字母打头,名字中间只能由字母、数字和下划线“_”组成。
●变量名的长度不得超过255个字符。
●变量名在有效的范围内必须是唯一的。
●变量名不能与保留字(关键字)同名。
6.程序的基本结构
任何正规的程序都可以分解为三种基本结构(jié
u),即顺序(shù
nxù
)结构、选择(xuǎnzé
)结构和循环(xú
nhuá
n)结构。
牢固掌握这三种基本结构,是学习程序设计的基本要求,是编写出结构清晰、易读易懂的程序的前提。
图5.1.3程序的三种基本结构
三、词汇
1.步骤(bù
u):
事情进行的程序。
2.编程语言(biānché
ngyǔyá
n):
是程序设计语言的简称。
3.低级语言(dījí
yǔyá
低级语言有机器语言和汇编语言。
低级语言与特定的机器有关、功效高,但使用复杂、繁琐、费时、易出差错。
机器语言是表示成数码形式的机器基本指令集,或者是操作码经过符号化的基本指令集。
汇编语言是机器语言中地址部分符号化的结果,或进一步包括宏构造。
4.高级语言(gāojí
高级语言的表示方法要比低级语言更接近于待解问题的表示方法,其特点是在一定程度上与具体机器无关,易学、易用、易维护。
其语法和结构更类似普通英文,且由于远离对硬件的直接操作,使得一般人经过学习之后都可以编程。
5.二进制(è
rjì
nzhì
):
二进制数是用0和1两个数码来表示的数。
6.数据类型(shù
ng):
在程序设计中数据类型实际上是一种约定。
在计算机语言中,为了便于数据的表示与处理,一般都提供了数值型、字符串型、布尔型、日期型等基本数据类型。
7.常量(chá
也称常数(chá
8.变量(bià
是指在程序的运行过程中随时可以发生变化的量。
9.顺序结构(shù
它的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
10.选择结构(xuǎnzé
u)选择程序结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。
使用选择结构语句时,要用条件表达式来描述条件
11.循环结构(xú
njié
循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,
四、活动
【朗读】
朗读下列句子,注意加点字在课文中的用法并模仿造句
1.计算机虽然被称为“电脑”,但它和人脑解决问题还是有本质区别的。
计算机毕竟只是一种高级工具,用计算机来解决问题要经历分析问题、确定算法、编程求解等基本过程。
2.计算机程序就是有一系列的机器指令组成的,而指令就是要计算机执行某种操作的命令。
3.在计算机语言中,为了便于数据的表示与处理,一般都提供了数值型、字符串型、布尔型、日期型等基本数据类型。
【改写】
用括号中的词语,参考课文中的用法改写句子
1.事情进行的先后次序叫程序。
(顾名思义就是指)
2.语法表示程序的结构或形式,亦即表示构成程序的各个记号之间的组合规则。
(也就是)
【阅读】
高级语言的发展
从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。
经过努力,1954年,第一个完全脱离机器硬件的高级语言--FORTRAN问世了,40多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、Delphi、JAVA等。
特别要提到的:
在C语言诞生以前,系统软件主要是用汇编语言编写的。
由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;
但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言——C语言。
【写作】
1.桌子上有一杯水和一杯酒,请你分别用自然语言和流程图分别描述两杯互换的算法。
2.凯撒密码的原理是将“明文”中的每个字母用另外一个字母替换“密文”。
已知凯撒密码的计算公式为F(a)=(a+k)Modn,k=3,n=26,如果将英文字母进行加密,其对应关系如下所示:
明文:
ABCDEF……XYZ
密文:
DEFGHI……ABC
现给出待加密字符串为“PROGRAM”,请同学们设计算法,然后用自然语言将它描述出来,并相互评价所采用的算法。
(说明:
MOD为取模运算,即取余数。
7Mod3结果为1;
6Mod2结果为0)
3.高斯是德国数学家,他和阿基米德,牛顿、欧拉齐名,有“数学王子”之称。
高斯最出名的故事就是他十岁时,小学老师出了一道算术难题:
“计算1+2+3+...+100的和”。
这可难为了初学算术的学生,但是高斯却很快将答案写了出来。
原来他用的是凑数法:
1+49=50,2+48=50你是否有更简便的算法?
请同学们将不同的算法写下来进行比较,看看哪种算法效率更高?
从中可以得出什幺结论?
体会一下算法的多样性与复杂性。
【讲述】
1.请将你对“算法+数据结构=程序”的认识写下来。
然后,以小组为单位一起讨论大家对这句话的看法。
2.请你说一说数学中的“变量”和程序中的“变量”有什么异同。
小辞典流程图
程序流程图也称程序框图,由流程线把各种框图连接起来构成,是计算机程序设计中常用的一种算法表达工具,它独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。
流程图中常用的框图如下:
第二课简单的LOGO过程
1.自然语言与伪程序
自然语言通常是指一种自然随文化演化的语言,例如英语、汉语、维语等。
在计算机程序设计中,我们用自然语言中的部分元素来描述程序设计思想和抽象算法,这种过程称为编写伪程序。
我们在编写计算机程序时,往往是先根据要求将算法用伪程序简要的描述出来,然后再整理成计算机语言程序。
2.海龟(Turtles)
是LOGO语言环境中用来反应命令运行的光标,因为是一个海龟形状,所以LOGO语言更受小学生的喜爱。
3.过程(Procedures)
就是事情进行或事物发展所经过的历程。
在LOGO语言中,我们把能够完成一定任务的命令保存起来,并为它们命名的操作,叫做定义过程。
用这种方法保存起来的一组命令,叫做一个过程。
为过程取得名字,叫做过程名。
4.听者(Listener)窗口
是组成LOGO语言环境中的一个窗口。
用来显示你用键盘输入LOGO命令。
当你单击“回车(Enter)键”,它将根据你输入的命令,将结果显示在“图形窗口”。
5.图形(Graphics)窗口
是“小海龟”移动和画图的窗口,所有能够对“海龟”有影响的命令,“海龟”始终在图形窗口运动。
6.名字/变量(Names)窗口
这个窗口可以看到多个LOGO名字/变量的值。
7.属性(Properties)窗口
这个窗口可以显示LOGO属性列表的值。
8.踪迹(Trace)窗口
可以用来在调试程序时观察LOGO程序一步一步执行的窗口。
这个窗口对于我们在调试程序逻辑错误时非常有用。
9.栈(Stack)窗口
可以让你查看LOGO中正在运行的程序在内存中的存储区域的窗口。
栈是一种数据结构,它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。
如图5.2.1
图5.2.1栈结构图
10.全球的踪迹(GlobalTrace)
应该翻译成全局的踪迹。
是在调试程序时用来设置查看踪迹的级别。
设置的级别分为4级,0级标准:
没有东西,即不看任何踪迹;
1级过程标准:
即可以看到具体运行过程;
2级原始标准:
当LOGO一开始运行就可以看到更多的细节过程;
3级标准:
可以任何相关的事件。
11.嵌套
在已有的表格、图像或图层中再加进去一个或多个表格、图像或图层,这种方法就叫做嵌套。
在程序设计角度是针对三种基本程序结构(顺序结构、分支结构和循环结构)的相互嵌套,比如:
重复命令套重复命令。
如图5.2.2
图5.2.2Repeat命令的嵌套
12.递归
递归做为一种算法在程序设计语言中广泛应用。
是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现像。
简单的说就是程序调用自身的编程技巧称为递归。
在LOGO语言中我们把含有递归操作的过程叫作递归过程。
如图5.2.3
图5.2.3LOGO中的递归过程
LOGO语言简介
a)认识LOGO
(1)LOGO的含义
LOGO是希腊语logos的变化,logogram的简写,现在一般有两种含义。
●在计算机中是一种教学语言
●公司或企业的商标或标志
(2)LOGO语言
LOGO语言是一种早期的编程(biānché
ng)语言,也是一种与自然语言非常接近的编程语言,它通过“绘图”的方式来学习编程,对初学者特别是儿童进行寓教于乐的教学方式。
LOGO语言创始于1968年,是美国国家科学基金会所资助的一项专案研究,在麻省理工学院(MIT)的人工智能研究室完成。
LOGO源自西腊文,原意即为思想,是由一名叫佩伯特的心理学家在从事儿童学习的研究中,发现一些与他的想法相反的教学方法,并在一个假日中出外散步时,偶然间看到一个像海龟的机械装置触发灵感,于是利用他广博的知识及聪明的才智而最终完成了LOGO语言的设计。
(3)LOGO语言的特点
LOGO语言之所以是儿童学习计算机编程最好的一种语言,就因为它是针对儿童而制作的编程语言,能使儿童在认知与技能上得到较大的发展。
LOGO语言具有较强的针对性,因为对于儿童来说,“画画”比“文字处理”更具有活力,充分发挥自己的想象进行创作,而文字处理却比较枯燥,不适合儿童。
LOGO则主要用于“图画”制作,并且采用了“海龟绘图”的方式,适合儿童的特点,能充分引起他们的兴趣和学习该门语言的积极性,达到寓教于乐的目的。
在LOGO语言中,它的作图方式与现在所用的作图软件不一样,主要区别就在于LOGO语言的基本作图的方法可以不采用坐标方式,而是通过向前,后退、向左转、向右转、回家等儿童易于理解的语言和命令,这非常适合儿童的知识水平,使这些还未接触坐标为何物的儿童更容易上手。
在用LOGO语言作图时,需要学习者对一些常见的几何特性进行理解,了解常用的距离、角度和度数的概念。
(4)LOGO语言的基本命令
我们常用的LOGO命令大体上分为三类。
一类是与移动()有关的命令,第二类是与转弯有关的命令,第三类是与控制有关的命令。
如表5.2.1
类型
命令
与移动有关的指令
Forward
或FD
前进命令,可让海龟前移一定的单位数
“Forward50”小海龟则会向前移动50个单位
Back
或BK
后退命令,可让小海龟向后移动
“Back50”小海龟的方向不会发生改变,而会向后退50个单位
DRAW-
归位命令,回到绘图区的中央位置,并且朝向屏幕的正上方。
与转弯有关的命令
Left
右转命令,可让小海龟按要求向左边转动一定的角度
“left45”命令则小海龟的朝向将向左转动45度角
Right
右转命令,可让小海龟按要求向右边转动一定的角度
“Right45”命令则小海龟的朝向将向右转动45度角
与控制有关的命令
REPEAT
重复命令,可让命令语句重复多次执行
REPEAT4[FORWARD200RlGHT9O]就能画出图2中的正方形
IF…THEN…ELSE…
条件执行命令,即分支结构
表5.2.1常用命令
b)让小海龟动起来
(1)画正多边形
首先,我们先从最简单的正四边形开始。
●第一步:
分析问题
正四边形具有的特点是:
四条边相等(60),内角均为90度的封闭图形。
●第二步:
确定算法
根据问题,我们采用最基本的方法:
画一条边,然后转90度。
重复四次。
可能使用的命令:
前进命令(FD)和重复执行命令(Repeat)
●第三步:
程序设计
根据算法我们可以确定两种实现方法,一种是顺序结构,另一种是循环结构。
如图5.2.4
图5.2.4顺序结构和循环结构
●第四步:
编写代码
当我们完成了前三步时,程序的整体思路和过程我们已经清楚了,接下来的工作就是如何将流程图转换成计算机程序。
如图5.2.5
图5.2.5自然语言过渡到程序语言
●第五步:
上机测试
这一步是整个程序设计过程的最后一步,它只占到整个过程的五分之一。
然而我们常常将这个步骤扩大到100%,这样就使得问题的解决过程变成了上机测试工作,这是万万要不得的。
(2)认识LOGO过程
过程(guò
ché
ng)就是事情进行或事物发展所经过的程序。
在LOGO语言中,我们把能够完成一定任务的命令保存起来,并为它们命名的操作,叫做定义(dì
ngyì
)过程。
●定义过程
下图5.2.6是定义一个画圆的过程。
图5.2.6定义一个LOGO过程(Circle)
●调用过程
过程被定义后,LOGO系统会把过程名当作新命令,我们可以直接输入过程名来运行过程。
如调用画圆过程:
Circle。
●保存过程
可以通过“文件”菜单的“保存”选项来保存,也可以用命令:
Save“过程名。
例如,我们刚才创建的画圆的过程Circle就可以命令:
Save“Circle。
如图5.2.7
图5.2.7保存LOGO文件
●加载过程
加载(jiāzà
i)过程实际上就是将已经创建好的LOGO过程装入内存,以便调用,没有被加载的过程无法执行。
如图5.2.8
图5.2.8装载LOGO文件
●编辑过程
对于已经保存过的过程,我们可以通过编辑(biānjí
)命令:
EDIT过程名,来修改过程的内容。
对没有的过程也可以通过EDIT命令创建过程。
1.移动(yí
dò
ng)命令:
与移动有关的命令。
如前进命令,后退命令和归位命令等。
2.重复(chó
ngfù
就是循环语句命令。
3.定义(dì
)过程:
按照语言规范创建一个在系统中还没有的过程。
4.调用(dià
oyò
ng)过程:
编写的过程定义好后就可以通过过程名来运行过程。
5.装载(zhuāngzà
i)过程:
也叫加载过程。
就是将已经创建好的LOGO过程装入内存,以便调用,没有被加载的过程无法执行。
1.LOGO语言的作图方式与现在所用的作图软件不一样,主要区别就在于LOGO语言的基本作图的方法可以不采用坐标方式,而是通过向前,后退、向左转、向右转、回家等儿童易于理解的语言和命令。
2.当我们完成了前三步时,程序的整体思路和过程我们已经清楚了,接下来的工作就是如何将流程图转换成计算机程序。
3.在LOGO语言中,我们把能够完成一定任务的命令保存起来,并为它们命名的操作,叫做定义(dì
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七 单元 程序设计 初步
![提示](https://static.bdocx.com/images/bang_tan.gif)