资源简介 (共21张PPT)信息技术 必修1 :数据与计算第三章 算法基础3.3 计算机程序与程序设计语言第三章 算法基础3.3 计算机程序与程序设计语言【算法】就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的又穷集合。算法的特征:(1)有穷性(2)确定性(3)数据输入(4)数据输出(5)可行性知识回顾一、描述算法的常用方法1.用自然语言描述算法就是用人们日常所用的语言,如:汉语、英语等来描述算法。第三章 算法基础3.3 计算机程序与程序设计语言知识回顾一、描述算法的常用方法2.用流程图描述算法是用程序框图来描述算法的一种表示方法。使用流程图描述算法,让人感到算法的流程描述清晰简洁。流程图的基本图形及其功能如下表所示。流程图的基本图形及其功能第三章 算法基础3.3 计算机程序与程序设计语言知识回顾第三章 算法基础3.3 计算机程序与程序设计语言2.用流程图描述算法是用程序框图来描述算法的一种表示方法。使用流程图描述算法,让人感到算法的流程描述清晰简洁。流程图的基本图形及其功能如下表所示。一、描述算法的常用方法k=12x+8y+5zk=100 z<=16 y<=10 x<=7 知识回顾一、描述算法的常用方法3.用伪代码描述算法就是用介于自然语言和计算机语言之间的文字和符号来描述算法。t=0for x in range(1,8):for y in range(1,11):for z in range(1,17):if x*12+y*8+z*5==100:{t=t+1;输出解的个数t和三个整数x,y,z}第三章 算法基础3.3 计算机程序与程序设计语言知识回顾算法描述的方法 优势 不足自然语言表示法 用人们日常所用的语言,比较容易掌握。 当算法中含有多分支或循环操作较多时很难清晰地表示出来,由于自然语言的歧义性,容易导致算法执行的不确定性。流程图表示法 用程序框图来描述,流程描述清晰简洁。 所占篇幅较大,由于允许使用流程线,过于灵活,不受约束。伪代码表示法 用介于自然语言和计算机语言之间的文字和符号来描述,书写方便,格式紧凑,易于理解,便于向计算机程序设计语言过渡。 由于编程语言的种类繁多,伪代码的语句不容易规范,有时会产生误解。三种算法描述方法的比较第三章 算法基础3.3 计算机程序与程序设计语言知识回顾二、三种基本控制结构这三种基本控制结构的主要作用是:(1)顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。(2)选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单选择、双选择和多选择三种形式。(3)循环结构表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。第三章 算法基础3.3 计算机程序与程序设计语言知识回顾图1 顺序结构 图2 选择结构 图3 循环结构二、三种基本控制结构使用三种基本控制结构的组合来描述算法,可以改善算法的清晰度,提高算法的可读性。第三章 算法基础3.3 计算机程序与程序设计语言知识回顾第三章 算法基础3.3 计算机程序与程序设计语言1.计算机程序在《计算机软件保护条例》中这样定义计算机的“程序”:指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。简而言之,计算机程序就是指计算机可以识别运行的指令集合。3.3.1计算机程序2.计算机程序运行运算器(内)存储器控制器输入设备输出设备数据流控制流程序数据请求信号响应信号反馈信号操作指令响应信号请求信号取数存数地址指令【计算机程序设计语言】是指一组用来定义计算机程序的语法规则,通常简称为“编程语言”。3.3.2计算机程序设计语言第三章 算法基础3.3 计算机程序与程序设计语言计算机程序设计语言的发展机器语言汇编语言高级语言1、第一代计算机语言;2、是由“0”和“1”这样的二进制代码指令组来表示;3、计算机直接接收和执行;4、运算效率最高,却难以被人理解、设计繁重、难修改。【计算机程序设计语言】是指一组用来定义计算机程序的语法规则,通常简称为“编程语言”。3.3.2计算机程序设计语言第三章 算法基础3.3 计算机程序与程序设计语言计算机程序设计语言的发展机器语言汇编语言高级语言1、第二代计算机语言;2、使用了类似英文缩略词且带有助记性符号的语言替代特定的指令;3、需要一个专门的语言翻译器;4、移植性差但运算效率高,程序精炼、质量高且易于理解,仍常用。第三章 算法基础3.3 计算机程序与程序设计语言计算机程序设计语言的发展机器语言汇编语言高级语言3.3.2计算机程序设计语言【计算机程序设计语言】是指一组用来定义计算机程序的语法规则,通常简称为“编程语言”。1、接近于数学语言或人的自然语言;2、不再过度地倚赖某种特定的机器或环境;3、必须经过编译程序或解释程序将其翻译成机器语言;4、多种高级语言。计算机程序设计语言的发展机器语言汇编语言高级语言【计算机程序设计语言】是指一组用来定义计算机程序的语法规则,通常简称为“编程语言”。3.3.2计算机程序设计语言第三章 算法基础3.3 计算机程序与程序设计语言2019年7月20日IEEE Spectrum(《科技纵览》)发布了第四届顶级编程语言交互排行榜前十位的高级语言3.3.2计算机程序设计语言第三章 算法基础3.3 计算机程序与程序设计语言三代计算机语言的优势与不足语言类型 是否翻译 (编译) 优势 不足机器语言 否 能被计算机接受和执行,运算效率最高。 程序难以理解,程序设计任务繁重,移植性差。汇编语言 是 针对计算机特定硬件而编制的汇编语言程序,比机器语言易于理解,效率仍十分高。 不能被计算机直接运行,移植性不好。高级语言 是 接近于数学语言或人的自然语言,易于理解,移植性好。 不能被计算机直接运行。3.3.2计算机程序设计语言第三章 算法基础3.3 计算机程序与程序设计语言3.3.2计算机程序设计语言第三章 算法基础3.3 计算机程序与程序设计语言【案例】求两个正整数的最大公约数(一)欧几里得算法——辗转相除法输入m n如果m>n 则直接执行步骤3,否则互换值再执行步骤3r = m % n如果 r ==0 则 n 的值就是两个数的最大公约数如果 r !=0 令m=n n=r 再重复步骤3开始输入mm>n 否是输入nr =m%nr==0 结束是否输出n的值互换m,nm=nn=r第三章 算法基础3.3 计算机程序与程序设计语言【案例】求两个正整数的最大公约数(一)欧几里得算法——辗转相除法开始输入mm>n 否是输入nr =m%nr==0 结束是否输出n的值互换m,nm=nn=r3.3.2计算机程序设计语言第三章 算法基础3.3 计算机程序与程序设计语言【案例】求两个正整数的最大公约数(二)穷举法输入m n如果m>n 则直接执行步骤3,否则互换值再执行步骤3i = n如果 m%i ==0 且 n%i ==0则 i 的值就是两个数的最大公约数否则令i=i-1再重复步骤4开始输入mm>n 否是输入ni =nm%i==0 且n%i==0结束是否输出i的值互换m,ni=i-13.3.2计算机程序设计语言第三章 算法基础3.3 计算机程序与程序设计语言【案例】求两个正整数的最大公约数(二)穷举法开始输入mm>n 否是输入ni =nm%i==0 且n%i==0结束是否输出i的值互换m,ni=i-13.3.2计算机程序设计语言高质量程序应具备以下条件:1.便于检查、修正、移植和维护。2.程序具有良好的结构,逻辑清晰、可读性强。3.结果必须正确,且在精度和其他各方面均满足要求。4.程序运行时间尽可能短,同时尽可能合理地使用内存。第三章 算法基础3.3 计算机程序与程序设计语言3.3.2计算机程序设计语言 展开更多...... 收起↑ 资源预览