(共17张PPT)
粤教版普通高中教科书
信息技术 必修1
第三章 算法基础
计算机可以利用程序解决各类问题,那我们是如何将现实中的问题转化为计算机程序的?
计算机解决问题的过程
①分析问题
②设计算法
③编写程序
④调试运行
算法是指按照一定规则解决某一问题的明确而有限的步骤,通俗地讲就是解决问题的方法和步骤。
算法
机器人接水算法
第一步,走到杯子旁边
第二步,拿起杯子
第三步,走到水房
第四步,接满水
第五步,走到桌子旁边
第六步,放下水
算法的特性
1、有穷性:算法所包含的计算步骤是有限的。
3、确定性:算法执行的每一个步骤都必须有确切的定义,不能模棱两可。
4、数据输入:一个算法必须有零个或者多个数据输入。
5、数据输出:一个算法必须有一个或者多个数据输出。
2、可行性:每个计算步骤都可以在有限时间内完成。
零个输入:鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几只?
多个输入:接收用户输入的两个整数,输出两数之和?
算法的设计举例
当我们通过手机APP购买电影票时,如何计算付款金额呢?
1、分析问题
APP要计算付款金额,必须要知道电影票的单价和数量,设单价为p,数量为n,金额为s,则得到金额s的公式为:
s = p × n
算法的三种描述方式
1、用自然语言描述算法,就是用人们日常所用的语言。
2、用流程图描述算法是用程序框图来描述算法的一种表示方法。
3、用伪代码描述算法就是用介于自然语言和计算机语言之间的文字和符号来描述算法。
2、设计算法 - 自然语言
(1)自然语言描述算法
第一步,输入电影票的单价p和数量s的值;
第二部,计算金额s的值,即s=p×n;
第三步,输出s的值;
第四步,结束。
通俗易懂
2、设计算法 - 流程图
图 形 名 称 功 能
开始/结束框 表示算法的开始或结束
输入/输出框 表示算法中变量的输入或输出
.处理框 表示算法中要执行的处理内容
判断框 表示算法中的条件判断
流程线 表示算法中的流向
直观形象、简洁清晰
2、设计算法 - 伪代码
接近真实代码且不拘泥于具体语言
(1)伪代码描述算法
输入p,n
s ← p * n
输出 s
计算机程序
计算机程序是计算机能够识别和执行的指令或语句的序列。程序是对算法的描述。
程序的三种基本结构
(a)顺序结构是按照语句顺序执行程序,是最简单的程序结构。
(b)选择结构也称为分支结构,是根据给定的条件选择程序的执行语句。
(c)循环结构是根据给定的条件反复执行相同的程序语句。
按照程序执行的流程,可以分为以下三种基本结构:
程序设计语言的发展历史
(1)机器语言:
是由“0”和“1”这样的二进制代码指令组来表示。因为计算机内部采用二进制的原因,所以机器语言能够被计算机直接识别和执行,执行速度很快。但由于二进制代码难以理解导致开发起来极其困难。
(2)汇编语言:
使用了助记符来替代特定的二进制代码指令。比机器语言易于理解且效率仍十分高,但不能被计算机直接运行。需专门的语言翻译器翻译成机器语言,开发难度依然很大。
(3)高级语言:
接近于数学语言或人的自然语言。容易阅读、易学易用、通用性强,但仍需专门的语言翻译器翻译成机器语言,由于接近人的自然语言所以开发起来要简单许多。
10110000 00001001 #把9送进累加器
00000100 00001000 #完成9+8的运算
11110100 #停止操作
机器语言
MOV AL,9 #把9送进累加器
ADD AL,8 #完成9+8的运算
HTL #停止操作
汇编语言
9+8
高级语言
常见的高级语言
高级语言 应用领域
Html、CSS、JavaScript: Html做网页布局,CSS做网页美化,JavaScript添加网页的动态功能。
常用于网页开发和小程序制作
Python 自动化办公、人工智能、大数据、网络爬虫等
C 嵌入式硬件开发、游戏开发、应用软件开发
、系统开发等
PHP 中小型Web应用开发
Java 企业级Web应用开发、API应用、安卓系统应用开发、分布式系统等
Objective-C、Swift 苹果系统应用开发
Go 网络编程、分布式系统、云平台等
高级语言是指符合高级语言特性的语言,并不是指某一种具体的语言
3-4、编写程序与调试运行
编写程序
调试运行
总结 - 问题、算法与程序之间的关系
问题
程序
自然语言
流程图
伪代码
算法
分析问题
编程语言
算法是解决问题的方法和步骤,而程序是对算法的描述
所以说算法是问题与程序之间的桥梁。
第四章 程序设计基础
练习作业
完成“问卷星”练习题