(
课件网) 01程序设计语言和算法描述 第4课 引入思考 问题1:计算机能够完成各种有趣或者有用的任务,靠的是什么? 认识程序 (1)输入圆的半径R (2)计算圆的周长C=2*Pi*R (3)计算圆的面积S=Pi*R*R 指令 指令 指令 程序 计算机程序是一组计算机能识别别和执行的指令。 指令集 认识程序 存储程序的思想 美籍匈牙利裔数学家 约翰·冯·诺依曼 首先提出了存储程序的思想,这一思想奠定了现代计算机的体系结构基础,因此把现在的计算机称为“冯·诺依曼型的计算机”,而他本人被称为“现代电子计算机之父”。 程序设计语言 程序设计语言之机器语言 最早的程序通过打孔方式记录在纸带上,有孔的为1,无孔的为0。 计算机仅能识别由0和1构成的机器指令。 机器语言:由0和1组成的机器指令。 计算机唯一能直接读懂执行的语言。 程序设计语言之汇编语言 汇编语言:用助记符表示机器语言中的一组数字。 直接用助记符写出汇编程序。 程序设计语言 程序设计语言之高级语言 编译 解释 程序设计语言 高级语言与低级语言指令间的关系 高级语言:如C、C++、Java、Python等。 高级语言接近自然语言,符合人们的习惯, 可读性好,可移植性强。 高级语言越接近人类的思维, 机器语言越接近电脑的程序。 高级语言与低级语言指令间的关系 程序设计语言 高级语言机器不能直接识别,要交由编译器翻译成几条汇编或机器指令,这个过程称为编译。 读取源代码 编译器 编译生成 源代码文件 可执行文件 高级语言与低级语言指令间的关系 程序设计语言 计算机是如何工作的? 输入数据 执行程序指令集 产生结果 计算机解决问题的过程与方法,称为算法。 算法 算法的特征 交换 抽象成数学问题: 两个数a、b,假设a=1,b=2,要实现a、b的数值交换,怎么做? 方法一:借助c c=a; a=b; b=c; 方法二:相加寄存 a=a+b; b=a-b; a=a-b; 算法特点 有穷性:执行有限个操作后停止 确定性:每一步的含义必须明确。 有效性:每一步操作都应该能有效执行。 可能会有输入数据 肯定会有输出结果。 有穷性 确切性 输入 输出 可行性 算法描述 自然语言描述 说说下列算法的作用 算法描述 开始 结束 输入整数n if n%2==0 F T 输出 “偶数” 输出 “不是偶数” 流程图描述 自己画一画 【问题描述】:体温监测 体温37.2以内可以进校门 体温超过37.2度不准进校门 算法描述 开始 结束 输入体温T F T 开门 不开门 if T>=37.2 课堂小结 1.算法具有5个特性,以下选项中不属于算法特性的是( ) A、有穷性 B、简洁性 C、可行性 D、确定性 2.关于计算机程序的错误说法是( ) A 程序是按照工作步骤事先编辑的、具有特殊功能的指令序列 B 运行在硬件系统之上的软件应该采用高级语言编写 C 在现代计算机系统中采用二进制形式存储 D 同一计算机系统可以完成不同的功能是因为执行了不同的程序 课堂小测 A 流程图 B自然语言 C程序设计语言 D 伪代码 4.计算机硬件唯一能直接理解的编程语言是( ) A 机器语言 B 汇编语言 C高级语言 D面向过程语言 3. 剥毛豆问题的算法描述如下: 检查袋中是否有毛豆; 若有,将毛豆剥壳,将豆放入碗中,将壳放入毛豆盘子并返回上一步 若无,则算法结束 该算法多表示方法是( ) 课堂小测 ... ...