(共17张PPT)
3.3程序与程序设计语言
1.3.1程序和程序设计
程序:实际上是一组机器操作的指令或语句的序列,是算法的一种描述。
求解“鸡兔同笼问题”的算法与程序
算法 程序
(1)开始
(2)输入a和b的值;
(3)求x=2a-b/2;
(4)求y=b/2-a;
(5)输出x,y的值;
(6)结束。 a,b=map(int,input().split())
x=2*a-b/2
y=b/2-a
print("鸡数x=%d"%x+"兔数y=%d"%y)
求100以内能被3整除的数的算法与程序
算法 程序
(1)开始
(2)i=1;
(3)如果i能被3整除,则输出i;
(4)i=i+1;
(5)如果i≤100,则返回(3)步;
(6)结束。 i=1
while i<=100:
if i%3==0:
print(i)
i=i+1
程序的特征:
(1)程序中,每一个算法的步骤对应着程序设计程序的一个或多个语句,每一个语句对应一个或多个操作,每个操作都要求有执行对象,并且根据对象状态变化形成动作的效果,同时可变的对象用变量来表示,变量的值的变化则可通过基本操作赋值来完成。
(2)除非特别声明,程序都从第一条语句开始顺序执行。
(3)程序总是施行操作于某些对象,这些对象通常称为数据。
(4)这些数据一般应该有属性和取值范围,即类型说明。
(5)有时语句要求执行者作出判定,即在某种条件成立的情况下执行一条或一组语句,否则执行另一条或另一组语句。
(6)一条或一组语句可能需要执行一次以上,当一条或一组语句要重复时,必须指明重复次数或重复的条件。
(7)程序本身是一个静态实体,而执行语句的进程是动态的。
2程序的基础结构
程序有三种最基本的结构:顺序结构、选择结构、循环结构
s1
s2
S
S1
S2
sn
C
C
否
是
顺序结构
选择结构
循环结构
程序的三种基本结构
计算机程序的运行原理
3程序设计过程
具体问题
计算机程序
程序设计
分析问题、建立模型、设计算法、编写程序
一个高质量的程序,应具备以下的条件:
(1)建立正确的数学模型和确定有效的计算方法。
(2)运行结果必须正确,且在精度和其他各方面均满足要求。
(3)程序本身具有良好的结构,逻辑清楚,易读易懂。
(4)程序运行时间尽可能短,同时尽可能合理地使用内存。
(5)便于检查、修正、移植和维护。
1.3.2程序设计语言的产生与发展
发展历程:
1.机器语言
电子计算机采用的物理器件主要是电子元件,由于电子元件的特性,计算机只能识别“0”和“1”组成的机器代码。
早期的程序设计语言是由“0”和“1”这样的二进制代码指令组表示的,是能够被计算机直接接受和执行的计算机语言,通常称为机器语言。
指令序号 机器语言 指令功能
1 10110000
00001001 把加数9送到累加器AL中
2 00000100
00001000 把累加器AL中的内容与另一数相加,结果存在累加器AL中(即完成9+8的运算)
3 11110100 停止操作
用Inter 80386机器指令完成“9+8”的加法运算
2、汇编语言
一种类似英语缩写词且带有助记性符号的语言,每条汇编指令都和一条机器指令相对应,只是指令码和操作数都采用符号形式,这种语言被称为汇编语言。
这种语言与特定的机器和特定的微处理器有关,而且不能被机器直接接受,必须用一种语言翻译将程序中的每条语句翻译成机器语言才能执行。与机器语言相比,差异不大。
用汇编语言来实现“9+8”运算的有关指令
语句序号 汇编语言指令 指令功能
1 MOV AL,9 把加数9送到累加器AL中
2 ADD AL,8 把累加器AL中的内容与另一数相加,结果存在累加器AL中(即完成9+8的运算)
3 HLT 停止操作
3、高级语言
利用汇编语言与计算机进行交流存在很大障碍,程序的理解和调试仍然十分困难。于是。高级语言应运而生。第一个高级程序设计语言是Fortran语言,主要用于科学和工程计算,它更接近自然语言。
例如:计算“9+8”的问题,用Visual Basic语言编程,
Print 9+8
用高级语言编写的程序必须经过翻译器将其翻译成机器语言,才能在计算机上执行。
汇编语言与编译语言