1、主题1程序设计语言和算法廖鹭峰厦门市松柏中学初中信息技术教学课件第4课程序设计基础目录程序和指令0101算法和算法的描述方法0303程序设计语言02020404动手实践:描述算法01程序和指令计算机程序:一组计算机能够识别和执行的指令。计算机程序:一组计算机能够识别和执行的指令。什么是程序计算机软件:计算机系统中程序和文档的总称。计算机软件:计算机系统中程序和文档的总称。指令:指示计算机做某种操作指令:指示计算机做某种操作的命令的命令什么是指令从键盘、文件或者其他设从键盘、文件或者其他设备获取数据。把数据显示备获取数据。把数据显示到屏幕,或者存入一个文到屏幕,或者存入一个文件,或者发送到其他设
2、备。件,或者发送到其他设备。1输入/输出类2运算类3程序控制类指令数据传送类4执行最基本的算术执行最基本的算术运算和逻辑运算运算和逻辑运算主要用于控制主要用于控制程序的流向程序的流向把数据、地址传送到把数据、地址传送到寄存器或存储单元中寄存器或存储单元中编写程序的过程:把复杂的任务分解成子任务,把子任务再分解成更简单的任务,层层编写程序的过程:把复杂的任务分解成子任务,把子任务再分解成更简单的任务,层层分解,直到最后简单得可以用以上指令来完成。分解,直到最后简单得可以用以上指令来完成。02程序设计语言问题:计算机能够完成各种任务,是因为它安装了各种不同的软件,但是这些软件是如何生产出来的?程序
3、设计语言是用于书写计算机程序的语言。计算机程序设计语言的发展,经历了从机器语言、汇编语言机器语言、汇编语言和高级语言和高级语言的历程。电脑的程序设计语言多种多样,常见有C、C+、Java、Python等,各有特点,基本功能大同小异,比如,一个基本功能就是让电脑在屏幕上显示文字。程序设计语言计算机仅能识别由0和1构成的机器指令。最早的程序通过打孔方式记录在纸带上。程序设计语言C C语言、汇编语言和机器语言的对比图语言、汇编语言和机器语言的对比图分分 析析程序设计语言程序设计语言语句语句C语言a=b+1汇编语言Mov eax,dword ptr ebp-8Add eax,1Mov dword pt
4、rebp-4,eax机器语言(十六进制表示)10001011 01000101 11111000(8b 45 f8)10000011 11000000 00000001(83 c0 01)10001001 01000101 11111100(89 45 fc)C C语言的语句与汇编语言、机器语言的语句与汇编语言、机器语言的指令之间不是简单的一一语言的指令之间不是简单的一一对应关系,需要通过编译器的编对应关系,需要通过编译器的编译来完成。译来完成。C C语言编写的程序看起来更直语言编写的程序看起来更直观易懂,更加易于理解和使用观易懂,更加易于理解和使用的高级语言。的高级语言。03算法与算法的描述
5、方法所谓算法就是指在有限步骤内求解某类问题所使用的一组定义明确的规则。算法重在用一个统一的方法有步骤地解决一类问题,但它不是唯一的。一个好的算法应该用较少的便于实现的步骤去有效地解决问题。算法有有1 1个或多个输出个或多个输出确定性确定性有效性有效性有穷性有穷性有有0 0个或多个输入个或多个输入算法的基本特征算法必须在执行有算法必须在执行有限个操作后终止限个操作后终止算法中每一步的含义必须是确算法中每一步的含义必须是确切的,不能出现任何二义性。切的,不能出现任何二义性。算法中的每一步操作都应该能有效执算法中的每一步操作都应该能有效执行,一个不可执行的操作是无效的。行,一个不可执行的操作是无效的
6、。执行算法时,从外执行算法时,从外界获得必要的信息界获得必要的信息算法的解就是输出算法的解就是输出算法的描述方法描述算法的形式:自然语言、流程图等。自然语言:人们日常用的语言流程图:用预定义的符号来描述算法第一步,输入铁线的长度L;第二步,计算可围成最大正方形的边长a=L/4;第三步,计算正方形的面积S;第四步,输出面积S。例:给定一根任意长度的铁线,计算可围成的最大正方形的面积例:给定一根任意长度的铁线,计算可围成的最大正方形的面积特点:通俗易懂,但是容易产生歧义。对复杂问题,特点:通俗易懂,但是容易产生歧义。对复杂问题,语句烦琐、冗长,很难清晰地表达算法的逻辑流程。语句烦琐、冗长,很难清晰
7、地表达算法的逻辑流程。特点:采用简单规范的符号,画法简单;结特点:采用简单规范的符号,画法简单;结构清晰,逻辑性强;便于描述,容易理解。构清晰,逻辑性强;便于描述,容易理解。算法的描述方法描述算法的形式:自然语言、流程图等。自然语言:人们日常用的语言流程图:用预定义的符号来描述算法第一步,输入铁线的长度L;第二步,计算可围成最大正方形的边长a=L/4;第三步,计算正方形的面积S;第四步,输出面积S。例:给定一根任意长度的铁线,计算可围成的最大正方形的面积例:给定一根任意长度的铁线,计算可围成的最大正方形的面积流程图所用的符号及其含义流程图所用的符号及其含义图框图框名称名称功能功能起止框表示一个
8、算法的开始和结束输入输出框表示一个算法的输入和输出的信息处理框赋值,执行计算语句判断框表示判断某个条件是否成立流程线表示执行步骤的路径开始输入长度LS=a*aN被2整除04动手实践:描述算法自然语言问题描述:输入一个数,判断这个数是否是偶数,并输出问题描述:输入一个数,判断这个数是否是偶数,并输出提示信息。提示信息。1.用自然语言描述算法:输入一个数n;求n除以2的余数;余数为0,输出“这个数是偶数”;余数不为0,输出“这个数不是偶数”通俗易懂,但是容易产生歧义。对复杂问题,语句烦琐、冗长,很难清晰地表达算法的逻辑流程。流程图2.用流程图描述算法:采用简单规范的符号,画法简单;结构清晰,逻辑性强;便于描述,容易理解。感谢光临指导