文档文本内容
经广东省中小学教材审定委员会2019年复查通过
班别:
姓名:
学号:图书在版编目(CIP)数据
信息技术.八年级.上册/佛山市《信息技术》编委会编 . — 广
州 :广东教育出版社 :广东科技出版社,2021.7(2022.7重印)
ISBN 978-7-5548-4264-5
Ⅰ. ①信… Ⅱ. ①佛… Ⅲ. ①计算机课 — 初中 — 教材
Ⅳ. ①G634.671
中国版本图书馆CIP数据核字(2021)第134265号
出 版 人:朱文清
责任编辑:杨龙文
责任技编:许伟斌
信息技术 八年级 上册
XINXI JISHU BA NIANJI SHANGCE
广东教育出版社
出版
广东科技出版社
(广州市环市东路472号12-15楼)
邮政编码:510075
网址:http:// www.gjs.cn
广东新华发行集团股份有限公司发行
佛山市浩文彩色印刷有限公司印刷
(佛山市南海区狮山科技工业园A区 邮政编码:528225)
787毫米×1092毫米 16开本 6印张 110 000字
2021年7月第1版 2022年7月第2次印刷
ISBN 978-7-5548-4264-5
定价:9.00元
质量监督电话:020-87613102 邮箱:gjs-quality@nfcb.com.cn
购书咨询电话:020-87772438前 言
信息技术深刻地改变了我们的学习、生活和工作方式,成为人类认
识世界和改造世界的重要工具,它让人类那些似乎遥不可及的梦想都变
成了现实。本教材以培养信息技术学科核心素养为目标,渗透信息意识
和信息社会责任,发展计算思维,用数字化学习与创新支撑学习活动,
帮助学生适应日新月异的信息社会的要求。
本教材坚持立德树人的课程价值观,以习近平新时代中国特色社会
主义思想为指导,贯彻课程改革理念,依据《中小学信息技术课程指导
纲要(试行)》和《广东省义务教育信息技术课程纲要(试行)》,把
握学科发展方向,并处理好与小学、高中信息技术教材的衔接。本教材
贴近同学们的生活,倡导自主、合作、探究的学习方式,为终身学习
与发展打好基础。
本教材以“知识引领,问题解决”为编写思路,每单元设有单元导
学,每节创设问题情境,通过设计各项活动,为同学们提供在学习过
程中完成任务所需的“脚手架”。教材中设置了7个栏目支撑同学们的
学习:
学习单,是每节的学习任务驱动;
实战场,运用所学知识去解决实际问题;
交流站,是展示才能,相互启迪的地方;
探索区,是深层次问题的探究空间;
观察室,通过事例引发思考与分析;
小提示,提供一些帮助、说明、操作技巧、知识延伸等;
展评室,巩固每节的学习。
1另外,每个单元后都安排了:综合活动课,其主要以项目学习活动方式开展,充分
满足学生创作的欲望;瞭望台主要介绍学科前沿、开阔眼界的内容;而单元评价与知识
框图则要求同学们对本单元的学习进行梳理、评价与归纳。
随着学习的不断深入,你会发现信息技术学科知识不但是学习、生活的必备常识,
还是实现创新梦想的强大支柱,学好它、掌握它、创造它,它会带给你无穷乐趣和创造
动力。
2目 录
1 第1单元 程序设计
2 第1节 初识Python语言
7 第2节 算法与程序设计
14 第3节 变量与数据类型
19 第4节 顺序结构
25 第5节 选择结构
30 第6节 多重选择结构
36 第7节 循环结构(一)
39 第8节 循环结构(二)
44 第9节 多重循环结构
47 第 10 节 自定义函数
51 第 11 节 初涉人工智能“语音合成”
56 第 12 节 综合活动:海龟绘图
62 第2单元 开源硬件
63 第1节 初识开源硬件
71 第2节 自动感应风扇
76 第3节 智能灯
80 第4节 声控粉笔擦
86 第5节 综合活动:制作个性化提醒器
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级
目 录
1 第1单元 程序设计
2 第1节 初识Python语言
6 第2节 算法与程序设计
12 第3节 变量与数据类型
17 第4节 顺序结构
22 第5节 选择结构
27 第6节 多重选择结构
32 第7节 循环结构(一)
35 第8节 循环结构(二)
39 第9节 多重循环结构
42 第10节 自定义函数
46 第11节 初涉人工智能“语音合成”
50 第12节 综合活动:海龟绘图
56 第2单元 开源硬件
57 第1节 初识开源硬件
64 第2节 自动感应风扇
69 第3节 智能灯
73 第4节 声控粉笔擦
78 第5节 综合活动:制作个性化提醒器
2
公众号:电子课本大全
(PDF课本免费下)第第11单单元元 程程序序设设计计
编程语言的发展伴随着信息技术的发展。据统计,从1951年至今,人
类发明了几百种编程语言。编程语言在不断革新,并且有多种在同时使用。
人们多次试图创造一种通用的程序设计语言,却没有成功的,原因是人们设
计程序语言的初衷不同,对程序员来说会效率优先,对学习者来说会发展
优先,对思维教育者来说会规整优先等。编程语言曾被认为是专业人员的技
能,但随着信息技术的发展,编程语言越来越走近我们,深入我们的生活,
正如Python语言,既能让你做享用者,支撑你编写程序以解决问题,也能让
你做个分享者,参与到这个开源编程语言的开发项目中,让别人利用你的开
发来编制程序。
当Windows、浏览器、WPS、移动应用程序、三维设计等软件给我们的
工作和学习带来方便和创作的时候,你是否知道这背后凝聚了多少程序设计
人员的智慧和心血?编程是一个充满成就感的过程,可培养我们运用计算思
维去考虑与处理问题。
通过本单元的学习,接触Python程序开发环境,体验简单程序设计和初
步了解程序设计的基本思想。
学习目标
了解Python编程语言。
学会使用算法描述解决问题的步骤。
掌握Python语言的基本语法、变量和数据类型。
掌握程序的基本顺序结构、选择结构、循环结构。
学会自定义函数的简单应用。
感受人工智能“语音合成”的应用。
综合活动:海龟绘图。
1
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
第1节 初识Python语言
在信息技术课堂上,老师经常用点名程序随机抽取学号,让被抽中的同学
在课堂上做交流展示。作为信息技术课代表,张扬很想知道老师的点名程序是
如何做出来。
这一节主要通过体验程序来了解Python语言的编程环境、语句的执行,
通过简单的程序应用感受计算机程序语言的魅力。
学习单
围绕以下问题开展学习活动:
(1)在Python IDLE环境下,设计一个应用随机数的问题,编程解决。
(2)体验点名程序,并尝试修改程序。
一、Python概述
常见的程序设计语言有Python、C、C++、Java、JavaScript等。Python是
一种开源的程序设计语言。
1.了解Python软件
Python语言简洁清晰,可应用于科学计算、软件开发、Web应用等,具
有易学、共享及扩展性强、跨平台性等特点。
实战场
(1)了解什么是开源软件,了解Python的发展及其特色。
(2)搜索Python的官方网站并记录下来。
2.Python自带的开发环境
运行Python自带的集成开发环境IDLE,启动Python,进入Python的交互
2
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
模式“Python Shell”,如图1-1
所示。
二、体验Python语句
在Python IDLE交互模式
Python Shell窗口中,在提示符
后输入Python语句,并按回 图1-1 Python Shell窗口
车键,Python编辑器立即执行语句,并输出结果。
例1:执行输出语句。
例2:将Python作为计算器,计算一天有多少秒。
例3:体验计算速度的程序语句。
当式子或语句不符合Python语言要求,执行时会出现出错提示信息。
例1:
表示无效的语法,这里是因为括号不匹配。
例2:
表示字符串引号不配对。
例3:
表示无效的标识符,这里是因为中文字符的右括号不匹配。
3
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
小提示
(1)命令和括号需要使用英文格式。
(2)Python中有两种很重要的数据,一是字符串,二是数值。用引号(单
引号和双引号都可以)括住的字符、数字等都是字符串,用于字符表达;没加
引号的数字是数值,可用于数值运算。例如 的输出
结果是 。
实战场
(1)使用Python计算式子的值:3+5,35-64,170÷(22+63),
(4+5)×3÷2。
(2)π取值为3.14,计算半径为10的圆的面积,应用print语句进
行人性化的输出。
(3)张扬跑50米用了8秒,一辆轿车行驶速度为100千米/时,使用
Python语句计算,轿车行驶速度是张扬跑步速度的几倍。
三、体验Python模块与程序
1.体验Python随机函数标准模块
使用随机函数模块,生成1~56中的一个随机整数,程序语句如下:
import random的作用是导入随机函数模块,random.randint(1,56)的作用
是应用该模块中的随机整数randint()函数,生成1~56中的一个整数。
4
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
交流站
让你设计一个两个两位数加法的自动出题机,你怎样设计?
探索区
(1)random.randrange(M,N,P)是利用随机数random模块中randrange
函数生成从M到N-1间隔P的随机整数。试设计一个生成随机数规则。
(2)查阅Python官方文档里的模块索引,对你感兴趣的模块进行
探究。
2.体验随机点名程序
在Shell窗口中,选择“File”菜单下的“Open..”命令,打开程序文件
“学号随机数.py”,如图1-2所示。
“#”后是注
释内容。
~
图1-2 简单的随机点名程序
在程序窗口中,选择“Run”菜单下的“Run Module”命令。这时出现
如图1-3所示的程序运行结果。
5
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
图1-3 点名程序运行结果
实战场
(1)多次运行点名程序,观察程序运行结果。阅读程序,尝试理
解程序的意义。
(2)根据自己班级的人数,修改取值范围或窗口、文字大小等,
观察程序运行结果。
展评室
(1)提出一个简单的数学问题,列一个算术表达式表示,尝试在
“Python Shell”交互模式中输入并执行计算。
(2)尝试应用print语句进行各种形式的输出。
(3)搜索Python常见的标准模块资料,如表1-1所示,小组汇总交流。
表1-1 列举模块及其应用
序号 模块名 应用说明
1 tkinter 可视化窗口、图形用户界面
2 math 数学运算函数
3 keyword Python语言中的关键字
4 turtle 海龟画图
5 datetime 日期和时间
6
6
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
第2节 算法与程序设计
张扬在生活和学习中经常遇到一些计算问题,如购物总金额的计算,
圆、长方形、梯形面积的计算等。他在思考,怎样编写程序,让计算机帮他
解决这些计算问题。
这一节,我们将学习计算机解决问题的一般方法,学会算法的设计和程序
中表达式的表示、理解用于数据存储的变量和程序语言的保留字等编程知识。
学习单
围绕以下问题开展学习活动:
(1)提出一个生活中的问题,尝试用算法描述解决问题的步骤。
(2)用Python语言编程解决一个简单的数学问题。
一、用计算机编程解决问题的步骤
在信息社会,计算机作为解决问题的重要工具之一,一种方法是使用现
有的工具软件,另一种是现成的工具软件解决不了,需要编写程序来解决。
用计算机编程解决问题的步骤通常是:
分析问题 设计算法 编写程序 调试程序
算法的设计是计算机解决问题的重要环节,是编写程序的依据。
二、算法的设计
算法是解决问题的方法和步骤。设计算法时,每一个步骤都是可执行
的,按照这些步骤一步步执行就能够得出正确的结论,并且能够终止。
1.算法设计的步骤
(1)输入数据。
输入数据就是输入已知信息。要具体说明计算机如何输入这些信息。
7
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
(2)处理数据。
处理数据就是列出计算机执行操作的指令序列。要详细说明如何处理输
入的数据。
(3)输出结果。
计算机如何输出信息。
2.算法的表示
根据问题分析来进行算法描述,将解决问题的思路表达出来,算法可以
使用自然语言、流程图或伪代码来描述。
(1)自然语言。
例如,要计算圆的面积,使用自然语言描述算法,设计步骤如下:
①输入数据。
定义圆周率pi
输入圆的半径radius的值
②处理数据。
计算圆的面积area=pi*radius*radius
③输出数据。
输出圆的面积area的值
(2)流程图。
流程图是以直观的图形形象地描述算法,描绘解决问题各步骤之间关系
的流向图。要解决的问题越复杂,算法也越复杂。这时我们将算法用流程图
把各步骤正确地编排、连接起来。
流程图中的常用图形符号如表1-2所示:
表1-2 流程图常用符号
图例 名称 说明
开始/结束框 开始或结束(可省略)
数据框 输入或输出
处理框 处理过程
8
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
续表
图例 名称 说明
判断框 条件判断
流程线 执行顺序
图1-4为用流程图描述计算圆面积的算法。
输入pi和半径
计算圆面积
输出面积
图1-4 计算圆面积流程图
根据流程图写代码,程序的结构会更清晰。
(3)伪代码。
伪代码就是采用一种类似程序设计语言的代码来描述算法。
例1:下面是计算10的阶乘和累加的伪代码算法。
R ← 1
S ← 1
For I = 2 TO 10
R ← R*I
S ← S+I
End For
Print R,S
例2:下面是用类Python语言伪代码计算圆面积的算法。
9
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
import pi from math #从math模块中导入数学常量pi
radius=input() #键盘输入数据到变量radius中
area=pi*radius*radius #计算圆的面积
print ( "Area of cricle:",area) #输出圆的面积
实战场
要求分别使用自然语言、流程图和伪代码来表达以下问题的算法。
(1)计算长方形面积。
(2)计算华氏温度换算成摄氏温度。
探索区
用流程图描述你用过的无人超市收银机的算法。
三、程序设计语言
计算机程序是指一组让计算机执行一系列动作的指令。通常使用某种程
序设计语言来编写,每种编程语言会有它自己的语法。
1.程序设计语言类型
计算机程序设计语言一般分为三种类型:机器语言、汇编语言和高级语言。
机器语言只有0和1两个二进制数符号,计算机可以直接识别与处理,但
用户难以记忆和掌握。
汇编语言是在机器语言的基础上采用英文符号表示操作指令,方便用户
记忆和识别,但仍然不易掌握,只在一些特定的场合使用。
高级语言比较接近日常语言习惯,用英文单词表示语句,数学运算表
达式也与数学中的习惯相近,因此通俗易懂、通用性强,比较容易学习和掌
握。常用的高级语言有Python、Java、C++等。
2.源程序的运行
用高级语言设计的程序叫作源程序,源程序不能直接在计算机上运行,
10
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
必须将其翻译成机器语言才能执行,翻译后的程序称为目标程序,也就是可
执行代码。
从源程序转为目标程序有两种方法:解释和编译。
解释型语言是边翻译源程序边执行。即解释器读入一段语句,解释并执
行,再读入下一段语句解释并执行,如此重复,直到源程序结束。如Python、
Perl等计算机语言。
编译型语言是将源程序代码全部编译成目标程序才能运行。以后在运行
时不需要再编译。如Java、C++等计算机语言。
四、Python程序设计语言
每种程序设计语言都有自己的语言规则,Python也有自己的语言规则,
甚至不同版本的Python规则也有差异。
1.语句
语句是组成计算机程序的基本单位。例如 语句是从键盘
输入字符串值赋给变量name;而 语句是判断name不
是“Zhang Yang”时则执行后面的语句。
交流站
计算水流航行问题。
用v1表示静水速度,v2为水流速度,v3为顺水速度,v4为逆水速
度,说说程序每个语句的作用。
2.关键字
关键字(Keywords)也叫保留字,是程序语言特定使用的,不能用作他
用,例如“if”表示程序将要做条件判断。目前Python共有33个关键字。在交
11
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
互模式下输入下列语句可以查看所有Python关键字:
除“ True”“False” 和“ None” 外,其他关键字均为小写形式。
3.标识符
Python语言中的变量、常量、函数、类等的名称,统称为标识符。标识
符可由大小写字母、数字、下划线(_)等组成。标识符不能使用保留字,
不能以数字开头,字母大小写有区别,如“Length”和“length”是两个不同
的标识符。
标识符命名尽量做到“见名知意”,如“area”表示面积。
实战场
下列可以作为合法变量名的是 。
① Name ② _variable ③ $yourname ④ fs@sina ⑤ 7Days
⑥ private ⑦ Test ⑧if
4.行缩进
Python语言最具特色的就是采用缩进来写语句模块。采用冒号(:)和语
句缩进来区分语句模块之间的层次。缩进的空白数量是可变的,但是同一层
次的语句模块每行缩进的空格数必须相同。
小提示
建议缩进时是在上一层次上再使用四个空格 。
12
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
例如:
上述if语句中的三个输出语句是属于if语句模块中的语句,所以在行首严
格使用相同的缩进,否则会造成程序出错。
5.注释
注释用“#”表示,用来解释说明程序或语句的功能,提高程序的可读
性。注释在程序运行过程中不会被执行。
例如:
展评室
(1)用自然语言设计算法。计算将自然数1,2,3,…,100累加
的结果。
(2)假如有一理财产品合约为定期一年而年利率为3.8%,可以到期
自动续期,用流程图设计算法计算三年后本利和是多少。
(3)搜索相关资料,进一步了解Python语言的特点。
13
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
第3节 变量与数据类型
张扬在学习用电子表格处理数据时,知道数据是有数据类型的,也知道
数据类型对数据处理的意义。张扬想,程序也是要处理各种数据,应该对数
据是有类型要求的。
计算机程序能处理各种数据,通常数据的存储与使用需要存储到变量
中,而这些变量又有数据类型的特性。
学习单
提出一个生活中的简单数学问题,运用变量编程进行计算。
一、体验计算花槽数量程序
编写程序语句解决问题:要在长7.5米的地方安装一行花槽,如果每个
花槽长40厘米,最多只能安装几个花槽?
可通过以下程序求解:
修改上述长度参数,看看运行结果。
二、变量和赋值
1.变量
变量的作用是通过定义得到一个内存空间,用于存储数据。变量的值在
程序运行时可以被读取和改变。每个变量在使用前都必须赋值,变量赋值以
后才会被创建。
2.赋值
赋值符号“=”是将“=”右边式子的值赋给左边的变量。通常将“变量=
14
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
表达式”看作赋值语句。
交流站
(1)分别说说语句m=7.5和n=int((m*100)//40)的意义。
(2)使用变量计算长方形面积,可以定义哪几个变量进行编程?
三、常用的数据类型
在上述程序中,用“m”和“n”两个变量分别存储花槽摆放地方的
长度和花槽个数。这里变量“m”可以是小数,但变量“n”就要为整数。
Python中常见的数据类型有:
1.整型数值
整型又称为整数,用“int”表示。整型变量可以存储正、负整数。例
如,1024,0,-2都是整型;计算一天有多少秒,执行ods=24*60*60语句时
变量ods的数据类型是整型。
2.浮点型数值
浮点型由整数部分与小数部分组成,用“float”表示。浮点型数据也可
以使用科学计数法表示。例如,3.1415,0.2,-0.3,1.024e2都为浮点型;计
算半径是3厘米的圆的周长,执行L=2*3.14*3语句时变量L的数据类型是浮
点型。
实战场 交流站
在上述计算花槽数量程序中,输入 为什么程序中的
语句type(m)和type(n),看看运行结果, 数据要分不同类型进
并说说计算变量n时为什么要使用int()。 行存储?
3.字符串
信息处理中字符串是很常用的数据类型。字符串用“str”表示,在编程
15
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
中,我们通常给文本添加引号来创建字符串。
例如,执行 语句时,字符串赋值给变量
“school”。
4.列表
列表是最常用的Python序列数据类型,它可以有多个值,用逗号分隔在
方括号内。列表中的值都分配一个以0为起始的索引。可以通过索引访问列
表中的值。
例1:
列表colors存储了7个颜色名称值,并访问索引为3的列表的值。
例2:
访问索引为1到3的列表的值。
探索区
查阅相关资料,了解Python语言的元组、集合、字典数据类型,
填写在表1-3中。
表1-3 Python其他的数据类型
数据类型 描述 可进行的操作
元组
集合
字典
四、类型转换
Python有严格的数据类型限制。不同数据类型的变量,在特殊情况下需
要进行类型转换。例如,input()函数输入的数据为字符串类型,如果参与算
16
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
术运算,需对数据进行类型转换。
实战场
写出表1-4 中数据类型转换函数的应用实例结果,并上机检验。
表1-4 数据类型转换函数
函数名 描述 应用实例
age=int(input(’输入年龄:’)),age为
int(x) 将x转换为整数
型数值
float(x) 将x转换为浮点数 float(’255’)结果为
str(x) 将x转换为字符串 code=str(528000),code变量的值为
五、算术运算符
在编程语言中,根据不同的应用有不同种类的运算符,常见的Python基
本算术运算符如表1-5所示。
实战场
完成表1-5中的实例填空,并上机检验。
表1-5 Python基本算术运算符
优先级 运算符 描述 实例
+ 两个数相加 10+20=
1
- 取负或两个数相减 10-20=
% 取除法余数 10%3=
// 整除(向下取整) 10//3=
2
/ 两个数相除 10/20=
* 两个数相乘 10*20=
3 ** 次幂 10**3=
表中的运算优先级由上至下递增。
17
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
小提示
在多种运算符的混合运算中,可以使用括号“()”来明确运算的顺序。
另外,“+”和“*”还可应用于字符运算中,其中“+”是字符串的
连接符,“*”是重复若干次字符串。例如’PCode:’+’528000’的值
为’PCode:528000’,’Hello!’*3的值为’Hello!Hello!Hello!’。
实战场
写出下面程序的输出结果。
探索区
(1)使用求余运算符%、整除运算符//,输入一个四位的整数,
求各个位数相加的和。
(2)Python还有赋值运算符,搜索相关资料,比较赋值运算符与
算术运算符的使用区别。
展评室
(1)说出下列程序各个变量的类型和值。
① ② ③
(2)应用变量编写程序,计算边长分别为6厘米、7.5厘米、8厘米
的三角形的周长和面积。
18
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
第4节 顺序结构
张扬到医院体检。发现有一个身高体重检测仪器,可以自动计算身体质
量指数。他很想了解身体质量指数是如何计算出来的,想自己编写一个程序
进行计算。
编写程序就要了解程序的三种基本结构,分别是顺序结构、分支结构和
循环结构。顺序结构是程序设计最基础的结构,它的运行顺序是自上而下,
依次执行。
学习单
围绕以下问题开展学习活动:
(1)用流程图描述计算身体质量指数。
(2)在新建程序文件中编程:从键盘输入身高和体重,计算出身体
质量指数。
一、体验BMI程序
BMI指数(身体质量指数Body Mass Index),BMI=体重(千克)/身高的
平方(米2),是目前国际上常用的衡量人体胖瘦程度以及是否健康的标准。
打开“BodyMassIndex.py”程序文件,运行程序,观察其输出结果。
二、程序的顺序结构
程序的顺序结构是指程序按第一条语句开始顺序执行。用流程图表示顺
19
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
序结构程序一般形式,如图1-5所示。
语句1
实战场 语句2
用流程图描述上面的“BodyMassIndex.py” ......
程序。
语句n
图1-5 顺序结构程序流程图
三、新建Python程序文件
在交互模式Python Shell窗口中,在提示符“ ”后只能输入一条
Python语句,通常解决一个问题需要多个语句,为了提高语句组,即程序的
调试效率,我们使用新建程序窗口来编写程序。
1.新建Python程序
在Shell窗口中,选择“File”菜单下的“New File”命令(如图1-6左图
所示),打开新建程序窗口(如图1-6右图所示)。
图1-6 新建程序
2.在新建程序窗口中输入程序代码
编写计算BMI的程序(如图1-7所示),输入代码。
20
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
图1-7 编写程序
3.保存与运行Python程序
在程序窗口中,选择“Run”菜单下的“Run Module”命令,运行程序
前,要求对程序进行保存,如图1-8所示。
图1-8 保存程序
这时程序运行结果显示在Python Shell窗口中。
实战场
(1)Python程序文件的扩展名是什么?
(2)观察在Python Shell直接运行语句与运行程序分别输出的结果有
什么不同。
(3)将计算BMI程序的输入“米”改为“厘米”,并相应修改计算
BMI指数的公式。
21
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
四、数据输入与输出
用计算机程序解决问题,需要处理很多数据,有用户输入的原始数据、
程序生成的数据等,一般需要处理的数据都预先输入到程序变量中,当程序
处理完数据后,再把结果输出给用户。
1.“input”函数
“input”函数的作用是从键盘输入数据,其语法格式如下:
变量=input([提示字符串])
(1)从键盘输入的数据作为字符串处理,并返回字符串类型。
(2)当输入的数据需要参与算术运算时,必须对其进行类型转换。例如,
执行 ,需要
语句将weight和hight变量的数据转换成浮点型数值再进行运算。
格式中方括号“[]”表示其中的内容可以省略。
交流站
分别说说语句 和
的作用。
2.“print” 函数
“print”函数作用是从屏幕输出结果,其语法格式如下:
print([输出内容])
(1)直接输出。
无论什么类型的数据都可以由print()函数直接输出。
当输出的内容有多个时,可以用逗号隔开。例如:
。
(2)格式化输出。
如果希望输出内容的形式多样、格式美观,可以通过print()函数格式化
输出。常用有“%f”“%d”和“%s”,分别是格式化输出浮点型、整型和
22
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
字符串。
例:
实战场
输入下面程序,观察结果。
程序一: 程序二:
程序三:
探索区
格式化输出还有哪些应用?举例说明。
五、标准函数
Python把一些常用的功能定义成函数,方便大家使用。这些已定义好的函
数,一般称为内置函数或标准函数,如输入函数input()和输出函数print()。
实战场
填写表1-6中函数的实例输出值。
23
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
表1-6 Python语言常用函数
函数名 描述 实例
abs() 求绝对值 abs(-1)输出
max() 求最大值 max(61,25,30)输出
min() 求最小值 min(’li’,’chen’,’zhang’)输出
len() 求序列长度 len(’hello’)输出
以下是输入学生姓名、出生年份,格式化输出2019年学生的年龄。
输出:
探索区
你还知道哪些函数?它们有什么作用?
展评室
(1)编写程序,从键盘输入a、b两个变量的值,将a、b的值交
换,并输出。
(2)已知教辅书店有三种教辅资料,价格分别为12元、16元、22
元。为营业员设计一个程序,计算顾客购买各种教辅资料后一共要付
多少钱。
(3)提出一个能应用顺序结构程序解决的问题,并进行编程。
24
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
第5节 选择结构
通过学习,张扬编程完成了身体质量指数的计算。但程序还不完善,不
能自动判断指数是否正常。他又陷入了沉思……
在编程解决问题过程中,有时需要根据实际情况选择不同的程序块执
行,这时可以使用程序的选择结构来实现。
学习单
按照中国标准,当BMI值为18.5~23.9时,属于正常,低于18.5属过
轻,高于23.9属过重。完善程序,使其能判断BMI值是否正常。
一、体验完善BMI程序
打开“BodyMassIndex.py”程序文件,参考下面程序进行修改,调试运
行,观察其输出结果。
交流站
说说这节的BMI程序跟上节的BMI程序有什么区别。
25
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
二、程序的选择结构
观察室
在日常生活中,人们常常会面临各种选择。例如,星期六我们做了
一系列计划,其中一项是上午如果天气晴朗,我们就去公园做义工,否
则就在家看书。在各类事务中,也存在各种不同情况的选择。例如,道
路交通管理上,如果是红灯则禁止通行,如果是绿灯则准许通行。
计算机在解决这类两者选一或者具有多种条件选择的问题时,需要用到
选择结构。如图1-9所示是基本的选择结构流程图。
是 否
条件
语句块1 语句块2
图1-9 基本的选择结构流程图
如果只有条件满足时才执行程序,就只需要写语句块1,不需要写语句
块2。
例如,动物园规定进园儿童年龄超过6岁需要买票,否则不需要买票。
用流程图描述,如图1-10所示。
26
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
输入身高
否
年龄>6岁
是
实战场
购票
用流程图描述有奖竞猜
进园
活动:答对了加2分,答错了
减1分。
图1-10 身高购票判断流程图
三、用于判断的表达式
条件判断是通过逻辑表达式的结果“True”或“False”来决定程序的走
向,Python有6种关系运算符和3种逻辑运算符。
1.关系运算符
Python语言中常用的关系运算符如表1-7所示。
表1-7 关系运算符
运算符 == != > < >= <=
含义 等于 不等于 大于 小于 大于等于 小于等于
用关系运算符连接起来的式子称为关系表达式,关系表达式成立时,其
值为“True”,不成立时,其值为“False”。
实战场
(1)下列关系表达式结果为“True”的是( )。
①23.4<23 ②’AB’==’BA’ ③19.2>=17.8 ④’A’>’B’ ⑤5!=0
(2)若a=0,那么关系表达式a>50的结果是( ),a==0的
结果是( )。
27
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
2.逻辑运算符
当条件有两个或两个以上时,逻辑运算符可联结多个关系表达式。逻辑
运算符有“and”“or”和“not”,如表1-8所示。
表1-8 逻辑运算符
运算符 描述
and 逻辑与运算符:当且仅当两个操作数都为“True”,结果才为“True”
or 逻辑或操作符:任何一个操作数为“True”,结果为“True”
not 逻辑非运算符:结果的值与操作数相反
实战场
(1)定义两个变量a=’True’;b=’False’,填写“True”或“False”。
① a and b为 ② a or b为 ③ Not a为 ④ not b为 。
(2)假如BMI指数范围定义在18.5~23.9为正常值,请写出符合条
件的逻辑表达式。
(3)有两种情况都是闰年:①年份能被400整除;②年份能被4整
除但不能被100整除。假若已定义年份变量Year,请写出判断闰年的逻辑
表达式。
四、用if语句实现程序的选择结构
在“BodyMassIndex.py”程序中,通过判断BMI是否在18.5~23.9区间,来
确定体重是否正常。这里是通过条件判断选择程序的两个分支流程。选择结
构常用的语句是if语句。
if 语句的格式:
if 表达式:
语句块1
[else:
语句块2]
28
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
(1)当表达式成立时执行语句块1。
(2)else为条件不成立时执行语句块2。
在Python语言中,冒号“:”用来表示一个语句块的开始。语句块中每
一个语句都需要缩进,并且这语句块的各个语句首字母必须对齐。
交流站
结合图1-9说说if语句格式的执行过程。
例:猜数字游戏。程序随机生成一个10以内的整数,让用户猜一猜,输
出猜测的结果。
实战场
(1)运行以下程序,观察运行结果。
程序一: 程序二:
(2)编写程序:张扬有50元,到商场买3种文具,根据输入的文
具价格,判断是否超支。
29
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
展评室
(1)下列是一段模拟账户登录程序,假如账户为“Guest”、密码
为“1234ABCD”,都输入正确则提示“欢迎您,Guest!”,否则提示
“账号或密码错误!”,把程序填写完整。
(2)某书城在进行教辅资料促销活动,购满100元,可以在付款时
领取书款的10%的购书券,供下次购书使用,购书券面值为1元。请编
写一个程序,使它能在输入总价后计算应发放的购书券数量。
第6节 多重选择结构
张扬编写的Python程序能计算BMI值并判断其是否正常,但他还不满足
于此。他通过上网搜索,并阅读了相关的资料,发现BMI指数有过轻、正
常、过重、肥胖、非常肥胖五个等级。他想继续改编程序,使其对BMI值的
判断更完善。
当需要解决的问题有多个选择时,往往需要多重选择结构程序来解决,
这样还能提高程序的效率。
学习单
BMI中国标准如表1-9所示,根据表格数据编程,继续完善BMI计
算程序。
30
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
表1- 9 BMI数据
BMI中国标准
过轻 <18.5
正常 18.5~23.9
过重 24~27.9
肥胖 28~32
非常肥胖 >32
一、体验继续完善BMI程序
打开上节修改的“BodyMassIndex.py”程序文件,参考下面程序进行修
改,调试运行,观察其输出结果。
交流站
这节的BMI程序跟上节的BMI程序的区别是什么?
二、程序的多分支结构
这节的BMI程序与上节的相比,问题的求解条件和相应的处理有更多种
情况,这时我们可以通过多次的选择判断,运用多分支的选择结构来处理问
31
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
题,流程图如图1-11所示。
否
条件1
否
是
条件2
是 否
......
条件3
是
语句块1 语句块2 语句块3 语句块n
图1-11 多分支选择结构流程图
小提示
在多分支结构中,进入某一个分支需要满足在其之前的所有条件判断。
交流站
用流程图描述阶梯电价计算:每月200度以内(含200度),每度
电0.6元;200度至500度(含500度),每度电0.7元;超过500度,每度
电0.9元。
三、多分支 if elif 语句
实现多分支结构其中一种方法可以使用“if elif”语句来实现。在该语句
中,当对应表达式成立时,执行相应语句块。
if elif语句格式:
32
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
if 表达式1:
语句块1
elif 表达式2:
语句块2
elif 表达式3:
语句块3
……
[else:
语句块n]
if后面可以有多个elif分支,当前一个表达式不成立时,则执行后一个条
件判断;else为最后的分支,是所有条件都不成立时执行,根据需要,可以
省略。
交流站
结合图1-11说说多分支“if elif ”语句的执行过程。
例如,第5节的猜数字游戏中,使用多分支语句,修改程序可进一步给
出猜测结果:
实战场
(1)阅读判断学生情况程序,试设定一个数值写出程序运行结
果,然后上机验证结果。
33
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
(2)如果考核的分数为90~100分为优秀等级、75~89分为良好等
级、74~60分为合格等级,60分以下为不合格等级,分数为整数,编写
程序,使其实现输入一个分数,则能输出其等级的目的。
四、if语句的嵌套
有时处理复杂问题,还可以用if嵌套语句来解决。所谓if嵌套,是指if语
句分支中又有if语句。
其语句格式如下:
if 表达式1:
[if 表达式2:
语句块1
elif 表达式3:
语句块2
else:
语句块3]
elif 表达式4:
[if 表达式5:
语句块4
elif 表达式6:
34
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
语句块5
else:
语句块6]
else:
[if 表达式7:
语句块7
elif 表达式8:
语句块8
else:
语句块9]
在if嵌套语句语法中,总if语句“if 表达式1:…elif 表达式4:….else:”
三个分支中,都可以嵌套有if语句。其执行流程跟“if elif”语句一样。
并不是每个分支都需要嵌套if语句,每个分支也可以多重嵌套。可以根
据需要增减嵌套分支。
小提示
用嵌套实现多重分支时,输入时应严格使用缩进量来区分各层次关系。
实战场
阅读下面输入一个整数,输出能被2、3、5整除情况的程序,在横
线上填写合适的输出信息,然后上机验证。
35
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
展评室
(1)编程,输入1~12中的一个数,输出相应月份的天数(2月按28
天计算)。
(2)某书城进行教辅资料促销活动,方案如下:消费未满100元,
赠送2元购书券;消费满100元但未满200元,赠送购书款5%的购书券;
消费满200元则赠送10%的购书券,供下次购书使用,购书券面值为1
元。请编写一个程序,输入所购书籍是否是教辅资料及总价后,计算
应发放的购书券数量。
第7节 循环结构(一)
张扬在春节收到了不少压岁钱,他想做一个财富倍增计划。他计划用压
岁钱购买一个理财产品,并想知道存多少年后,这些压岁钱可以翻倍。
36
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
利用计算机程序解决问题有两个突出优点,一是运算速度快,二是擅长
做重复的工作。用计算机完成重复工作,可以采用循环结构的程序。
学习单
问题求解:一个理财产品合约为定期一年而年利率为3.8%,可以到
期自动续期,现在有2000元,计算存多少年后,钱可以翻倍。
一、体验计算财富倍增程序
下面是计算财富倍增的程序,输入程序并保存为“Wealth1.py”,调试
运行,观察其输出结果。
二、程序的循环结构
构建一个循环结构,首先要
分析和提炼出需要重复执行的操作
循环控制变量赋初始值
内容是什么,还要确定重复执行的
条件是什么,即如何控制循环。图
否
1-12是常见的使用循环变量来控 循环变量条件
制循环结构的流程图。 是
语句块
交流站
改变循环控制变量的值
写出这节体验计算财
富倍增程序的流程图。
图1-12 循环结构流程图
37
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
三、while循环语句
循环结构的特点是给定条件成立时,反复执行某个程序段。给定的条件
称为循环条件,反复执行的程序段为循环体。while语句是循环结构的重要语
句之一。
1.while语句格式
while 表达式:
循环体
[else:
语句块]
(1)循环体可以是单个语句或语句块。
(2)当条件表达式为“True”、非零、非空时,为条件成立。
(3)else为当条件不成立时执行。
(4)为了能让循环有效终止,一般在循环体中要有改变判断条件的语
句,否则while循环语句将不会终止,这种情况称为死循环。
交流站
结合图1-12,说说while语句的执行过程。
例如,在猜数字游戏中,使用循环语句,猜不对时可继续进行猜测游
戏,修改程序如下:
38
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
实战场
阅读下列程序,说说程序求解的问题及循环控制变量的作用。程序一:
程序二:
展评室
(1)写出下面程序的输出结果。
(2)编写程序,模拟年龄检测:输入年龄,未满18岁提示不能进
入,循环读取下一位年龄,否则提示可以进入并结束循环。
第8节 循环结构(二)
张扬决定将储蓄的一部分用来存定期,他希望能看到后面每年的本金加
收益是多少,于是他决定编写程序来解决这个问题。
重复执行一定次数的循环可以使用另一个重要的循环语句——for循环语
句来控制。
39
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
学习单
问题求解:5000元用来投资合约为定期一年,并可以到期自动续期
的理财产品,后面每年的本金加收益是多少?
一、体验理财收益计算程序
下面是一个理财收益计算程序,输入程序并保存为“Wealth2.py”,调
试运行,观察其输出结果。
交流站
结合图1-12,试画出程序的流程图。
二、range()函数
range()函数用来创建数列。range()函数的语法格式如下:
range([初始值,] 终止值 [,步长])
交流站
观察下面的例子,或上机做range()各种测试,试回答:
(1)“初始值”“步长”默认值各是什么。
(2)序列从“初始值”开始到“终止值”结束,包括“初始值”
和“终止值”吗?
40
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
三、for循环语句
for循环可以控制运行一定次数,或者针对列表中每 一项运行一次。
for语句格式如下:
for 变量 in 序列:
循环体
[else :
语句块]
(1)for循环语句的关键字为for和in。
(2)序列是指有顺序的一系列值;常常用range()函数来使用。
(3)循环体可以是单个语句或语句块。
(4)else为当变量不在序列中时执行。
交流站
(1)结合图1-12和“Wealth2.py”程序,说说for循环语句的执行
过程。
(2)对比for循环语句和while循环语句的异同点。
例如,在猜数字游戏中,如果只给出四次猜测机会,循环可改为:
41
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
实战场
(1)写出下列程序的输出结果:
(2)编程解决问题:计算机自动出10道三位数以内的加法算术
题,每出一道题作答一次,然后计算机判别该题作答是否正确,正确
的显示“Right”,错误的显示“Wrong”。
观察室
图1-13是使用海龟画图模块和循环语句画的“玫瑰花”及其程序,
尝试应用海龟画图模块、循环语句及循环控制变量绘制各种图形。
图1-13 绘图效果
四、强制跳出循环
在循环结构中是根据一定条件重复执行一些语句,但在有些情况下,我
们希望能中途退出或跳过循环,以提高程序的执行效率,这时可以通过强制
跳出循环语句来实现。
42
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
1.break语句
break语句的作用是退出循环。
下面是判断素数的程序。
当找到一个整除的数后,已确定不是素数,即可利用break语句强制退
出循环。
2.continue语句
continue语句是跳过本次循环“continue”后面的语句,立即测试循环条
件,以决定是否进入下一次循环。
下面是输出1~100内能被4整除的自然数程序。
break和continue语句可以用在“while”和“for”循环语句中。
交流站
break和continue语句在循环中的作用及适用场合,试举例说明。
展评室
(1)下列程序功能是计算100以内偶数的和,把程序填写完整。
43
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
(2)“鸡兔同笼”是我国古代著名趣题之一,首载于《孙子算
经》。有若干只鸡和兔同在一个笼子里,从上面数,有35个头;从下
面数,有94只脚,求笼内有几只鸡和兔。应用for循环语句和break语句
编写程序求解,并说说break语句在程序中的意义。
(3)一个两位数x,将它的个位数字与十位数字对调后得到一个
新数y,此时y恰好比x大36,编程求出所有这样的两位数。
第9节 多重循环结构
张扬体会到运用程序的循环结构来解决重复问题的便利,想进一步编写
程序做多种理财产品的多年收益比较。
在面临复杂及多个条件的情况下,我们可以应用条件嵌套来处理问题。
同样,当面临一些复杂问题,在重复执行中的语句块中还需要有另一个重复
执行的语句块来解决的问题,我们可应用循环的嵌套。
学习单
问题求解:计算本金为5000元,年利率分别为3.45%、3.6%、3.8%,
合约都为定期一年,并可以到期自动续期的理财产品,输出各年利率下本
金及收益。
一、体验多个理财产品收益比较程序
输入下面程序并保存为 “Wealth3.py”,调试运行,观察其输出结果。
44
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
二、程序的循环嵌套结构
循环的嵌套是指在一个循环体中又包含另一个循环体。内层循环和外层
循环的循环控制变量不能相同,并且
外层循环每执行一次,内层循环则会
循环控制变量1赋初始值
完整执行一遍。图1-14是常见的循环
嵌套结构的流程图。
否
循环变量1条件
是
实战场 语句块
写出这节多个理财产品收
循环控制变量2赋初始值
益比较程序的流程图。
否
循环变量2条件
是
三、循环嵌套
语句块
在“Wealth3.py”程序中,for循
环体中包含有另一个for循环语句。
改变循环控制变量2的值
这里for循环嵌套格式是:
for 变量 in 序列:
改变循环控制变量1的值
外循环体
for 变量 in 序列:
内循环体
图1-14 循环嵌套结构流程图
45
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
当外层循环变量改变一次值,内层循环就完整执行一次。
小提示
for语句与while语句互相嵌套也是循环嵌套。循环语句可以有多重嵌套使
用,但尽量避免太多和太复杂的循环嵌套结构。
例如求1到100内的素数,程序如下:
实战场
1.下面程序输出的结果是什么?
2.将一张面值100元的纸币兑换成5元、2元、1元面值的纸币,要
求纸币总数为50张,且每种面值的纸币至少一张。试求出所有的换法。
展评室
(1)编程输出九九乘法表。
(2)设计使用字符构成的图形,如图1-15所示,再应用循环语
句编写程序。
图1-15 字符图形
46
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
第 10 节 自定义函数
张扬通过学习,掌握了编程的三种结构:顺序、选择和循环,已经能编
写程序解决很多问题了。他还发现Python提供了不少的函数可以直接解决一些
问题。张扬想,作为用户是不是也可以自定义函数来实现自己想要的功能?
函数将程序模块化,并可以重复调用,提高程序的可读性、使用及调试
效率;此外,作为开源程序,函数为共享代码提供了很好的实现方法。
学习单
用自定义函数编写判断字符串是否为Python关键字的程序。
一、体验函数
上机体验下面两个功能同样为判断字符串是否为Python关键字的程序,
其中程序一是利用了keyword模块内置函数iskeyword(),程序二是通过我们自
定义函数testPK()来实现的。
程序一:
程序二:
47
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
通过上面的程序,我们发现,函数其实就是已编写好的一个程序段,可
根据需要调用它。
二、自定义函数的格式
除了Python提供的标准函数外,用户还可以建立自己的函数。自定义函
数是用def编制好用来实现一定功能的程序段。
Python自定义函数格式如下:
def 函数名([参数列表]):
函数体
[return [表达式]]
自定义函数需遵循以下规则:
(1)函数以def关键词开头,后接函数标识符名和圆括号()。
(2)任何参数和自变量必须放在圆括号内。
(3)函数内容以冒号开始。
(4)以return [表达式]结束函数,返回一个值给函数调用方。不带表达
式的return相当于返回 None。
交流站
上面“程序二”中“testPK()”函数有哪些参数?函数体有哪几个
语句?
三、函数的使用
函数在程序设计中起到模块化作用,还方便做到资源的分享。
1.在程序设计中应用函数
用def定义好函数后,使用时在程序主体中调用函数名。
例如,下面程序中,自定函数def ifCC()是判断输入的城市是否为直辖
市,程序主体中的ifCC()是调用函数。调用函数是指执行函数里的程序代
48
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
码,如果我们定义好了函数,但是不调用它,那么这些代码就不会被执行。
自定义函数
程序主体
中调用函数
如果自定义函数使用参数传递,上面程序可以改写成:
自定义函数
程序主体
中调用函数
其中的参数信息传递是通过程序主体中的实参传递给函数体中的形参。
这里“city”是形参,“ww”是实参。
交流站
(1)比较上面两个判断直辖市程序的区别。
(2)下面是生成城市所属国家的造句程序,说说程序的构成及参
数是如何传递的。
49
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
2.将自定义函数作为模块使用
我们设计的程序可以提供给别人使用,如我们将上面判断直辖市和造句
自定义函数保存为zxs.py程序(如图1-16所示),别人就能以模块形式导入
直接调用(如图1-17所示)。
如果我们继续拓展开发上述一系列有关城市信息模块的函数,别人可以
使用它开发城市信息智能查询系统、城市知识竞赛游戏等。
图1-16 将自定义函数作模块程序保存
图1-17 程序中导入自定义函数模块
50
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
展评室
(1)自定义素数判断函数,编写从键盘输入一个整数并判断其是
不是素数的程序。
(2)设计一个问题,用函数来解决。
第 11 节 初涉人工智能“语音合成”
编程除了完成计算外,还可以做很多有趣的事情,Python语言在人工智
能领域应用越来越多,张扬观看了新华社AI(人工智能)合成主播的视频,对
人工智能很感兴趣。
Python是一个开源软件,在开放的环境和众多的用户群下,越来越多的
科技公司和自由程序员编写了大量支持Python的第三方库和模块,覆盖科学
计算、人工智能、网络应用等大部分信息技术领域。
学习单
体验AI开放平台的语音合成应用,应用Python第三方库动手编程将文
字合成为语音,感受编程在人工智能上的应用。
一、AI开放平台
开发人工智能需要大量的算法和数据,而人工智能开放平台提供了底层
技术和一套完整的系统,我们可以选择站在“巨人”的肩膀上,运用平台进
行人工智能的应用开发。
51
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
交流站
你听说或使用过哪个AI开放平台?主要应用在哪些方面?
1.体验语音合成
下面我们通过百度AI开放平台来体验语音合成,如图1-18、图1-19所示。
图1-18 在AI开放平台体验语音合成(一)
输入需要语
音合成的文字
图1-19 在AI开放平台体验语音合成(二)
实战场
继续体验AI开放平台提供的人脸识别、图像识别、语音识别等应用。
2.在平台创建开发应用
以上体验是平台封装好的直接在浏览器中的应用,我们还可利用平台
52
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
技术服务,创建AI的开发应用,为后面人工智能编程应用提供技术支撑。
下面依然以语音合成为主题来学习。在百度AI开放平台,选择使用语音合
成,进入创建,如图1-20所示。
图1-20 创建应用
在创建新应用中,设置应用名称、应用描述等内容。
创建应用后,领取相应的平台服务请求限额,并查看应用详情,如
图1-21所示为平台分配的开发此应用的相关凭证。
主要为AppID、API
Key、Secret Key
图1-21 创建开发应用服务
二、Python第三方库的下载与安装
Python第三方库是相关功能模块的集合。百度AI开放服务平台打造了一
个开发的集成环境,提供了相关软件的工具包。
1.第三方库的下载
我们可以在百度AI开放平台下载面向Python的工具包,如图1-22所示。
53
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
图1-22 百度AI开放平台的Python工具包
交流站
你还可以通过什么方法下载百度AI开放平台的Python工具包。
2.第三方库的组成
Python被称为“胶水语言”,是指利用第三方库更高效率地实现开发。
以百度AI开放平台的Python工具包为例,我们将下载工具包解压打开,所含
文件及文件夹如图1-23所示,其中主要的第三方库应用文件在aip文件夹中。
授权相关类 通用基础类
人脸识别交互类 图像审核交互类
图像识别交互类 图像搜索交互类
知识图谱交互类 自然语言处理基础技术交互类
文字识别交互类 语音合成与识别交互类
图1-23 工具包中的内容及各功能模块的作用
3.第三方库的安装
安装Python第三方库的方法有多种。
(1)如果要安装的第三方库含有“setup.py”文件,首先打开Windows
的命令行窗口,在该文件所在的磁盘及目录下,使用“python setup.py
install”命令进行安装。
(2)使用Python自带pip工具进行安装。首先打开Windows的命令行窗
口,在命令提示符后输入“pip install 库文件名”进行安装。
(3)下载的第三方库如果是执行文件,例如扩展名为EXE的文件,可
以直接执行就可安装,例如“pytesseract.exe”。
54
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
交流站
(1)在库的下载、安装和应用过程中,碰到了 问题。
(2)碰到问题时,通过 途径,找到了 方法解决。
三、编写语音合成程序
下面我们应用百度AI开放平台的Python第三方库,初涉人工智能进行语
音合成。
1.库或模块的使用
库或模块安装成功后,在Python编写程序时,通过“import 模块”或
“from 库 import 模块”进行导入。
例如,这里我们主要会用到AipSpeech语音合成与识别交互类,基于该
接口,开发者可以轻松地获取语音合成能力。在程序中调用第三方库或模块
时,使用“from aip import AipSpeech”语句。
2.编写程序
(1)在百度AI开放平台创建应用网页上,分别记录AppID、API Key、
Secret Key的值(参考图1-21),用于程序与平台接口。
(2)调用AipSpeech类。
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
(3)使用语音合成synthesis函数。
使用语音合成synthesis函数,在函数参数中输入我们需要合成的文字,
调用语句result = client.synthesis('不积跬步,无以至千里;不积小流,无以成
江海。', 'zh', 1, { 'vol': 5,'per':4})。
(4)将语音合成结果写入文件。
使用语句f=open('劝学.mp3', 'wb')建立二进制文件;使用语句f.write(result)
将数据写入文件。
程序如下:
55
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
探究区
(1)尝试阅读synthesis函数程序。
(2)尝试文字识别、语音识别或图像识别的应用开发。
展评室
(1)选择一个模块或库进行学习,了解其功能与使用。
(2)应用一个模块,编程解决实际问题。
第 12 节 综合活动:海龟绘图
Python编程语言中有一个简单有趣的绘图工具,叫作海龟绘图(Turtle
Graphics),是由Python的turtle模块实现的。
一、活动目的
(1)应用Python的turtle标准模块,实现计算机图形绘制。
(2)设计问题解决的算法。
(3)充分使用变量解决问题。
(4)合理使用编程的三种结构:顺序、选择和循环,画出变化多样的
图形。
56
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
(5)培养用计算机科学的思想方法界定问题和合理组织数据。
(6)培养探索精神和主动学习意识。
二、活动任务
通过小组活动方式,搜集相关资源,探究turtle模块的函数使用,规划小
组绘制的图形,写出算法,应用程序的三种结构编写绘制多姿多彩的计算机
图形程序,并调试程序,展示程序所绘制的图形成果。
三、活动过程
在活动过程中,建立相关学习资源文件夹、程序文件夹等,保存相关材料。
1.分组
根据每人特长及信息技术掌握情况进行分组,建议2~4人一组。
2.协作学习
(1)搜索、下载并整理turtle模块和绘制图形的程序资源。
(2)运用turtle模块的各类运动、笔控制的函数或方法,绘制简单的
图形。
3.编程资源学习
turtle模块是Python语言中一个很有趣的绘制图形的函数模块。由程序指
令控制画笔,在坐标系中移动,从而绘制出图形。
海龟绘图语句有属性、运动、控制、颜色填充等语句,部分语句如表
1-12所示。
表1-12 部分海龟绘图语句
属性 说明
turtle.pensize() 设置画笔的宽度
没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,
turtle.pencolor()
可以是字符串,如“green”“red”,也可以是RGB 三元组
设置画笔移动速度,画笔绘制的速度范围是0~10的整数,数字
turtle.speed()
越大越快
57
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
续表
属性 说明
turtle.forward() 向当前画笔方向移动像素长度
turtle.backward() 向当前画笔相反方向移动像素长度
turtle.right() 顺时针旋转角度
turtle.left() 逆时针旋转角度
turtle.pendown() 落下画笔,移动时绘制图形,缺省时也为绘制
turtle.goto() 将画笔移动到坐标位置
turtle.penup() 提起画笔,不绘制图形,用于另起一个地方绘制
turtle.circle() 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
turtle.fillcolor() 设置填充色,或返回填充色
turtle.begin_fill() 设定开始填充
turtle.end_fill() 填充完成
home() 设置当前画笔位置为原点,朝向东
dot(r) 绘制一个指定直径和颜色的圆点
更多绘制图形语句请搜索网上资源。
4.项目选题
(1)欣赏海龟绘图图形,如图1-24所示。
图1-24 海龟绘图图形
(2)组员展开讨论,确定绘制的图形草图。
5.项目规划
小组成员根据程序开发过程设计算法、编写程序、调试程序等环节进行
分工。
58
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
6.项目实施
(1)算法的设计。
(2)程序的实现。
(3)程序的调试。
(4)程序的反馈与修改。
7.成果展示
组间展示,交流分享。
四、活动评价
1.组内评价
组内活动过程中协作与分工评价,填写表1-13。
表1-13 组内评价
评价内容 评价要点 评价等级
资源收集 能找到所需资源 □A □B □C
碰到问题能请教组员,能主动了解组
学习过程中的协作 □A □B □C
员的困难,共同研究
活动成果 能按要求完成活动任务 □A □B □C
2.组间评价
组间进行活动成果、源程序、团队协作方面的评价,填写表1-14。
表1-14 组间评价
评价内容 评价要点 评价等级
图形原创 □A □B □C
活动成果 图形创新、表现力强 □A □B □C
图形较复杂 □A □B □C
源程序 合理应用判断与循环 □A □B □C
团队 体现团队协作 □A □B □C
59
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
瞭望台
面向中小学生的计算机高级语言
世界上第一种计算机高级语言是诞生于1954年的FORTRAN语言,之后又
出现了多种计算机高级语言。而适用于中小学生的计算机高级语言也伴随着
计算机高级语言的发展而发展。
(1)BASIC语言简单、易学,是一种直译式的解释型语言。它的特征是
每一行的代码前面都有一个数字作为“行号”。
(2)LOGO语言通过“绘图”的方式来学习编程,特别适合儿童,能进行
寓教于乐的教学。它的特征是有一个海龟按指令在屏幕上执行动作。
(3)Pascal语言语法严谨、层次分明、程序易写,具有很强的可读性,
是第一个结构化的编程语言。我国信息学联赛参赛编程语言有Pascal,但将于
2022年停止在信息学竞赛中使用。
(4)C++语言是在C语言的基础上开发的一种面向对象的编程语言,应
用广泛、资源丰富,在计算机高级语言中很具代表性及发展趋势。常用于操
作系统、网络软件的开发。我国信息学联赛参赛的编程语言主要使用C++语
言。
(5)Visual Basic(简称VB)源自于BASIC编程语言。VB拥有图形用户界
面(GUI)和快速应用程序开发(RAD)系统,可以使用VB提供的组件快速建
立一个应用程序。
(6)Python是一种动态的、面向对象的解释型脚本语言,被逐渐广泛应
用于系统管理任务的处理和Web编程。它的特征是语法缩进规则,使得程序更
清晰。它被誉为学习人工智能应用的标配语言。
此外,图形化编程软件是中小学学生学习编程的工具,如mPython、编程
猫、Mixly等编程软件;图形化编程软件也是中小学生在Arduino、教育机器
人等编程应用上使用的工具。
单元评价
(1)在本单元的学习中,你学会了什么? 。
(2)还有什么问题没有解决? 。
(3)在学习过程中,你得到了什么帮助? 。
(4)你帮助过别人什么? 。
60
公众号:电子课本大全
(PDF课本免费下)第1单元 程序设计
知识框图
Python语言概述及开发环境
初识Python语言
Python语句、模块及程序
计算机编程解决问题的步骤
算法与程序设计 算法设计及其表示
计算机编程语言基本概念
变量与及其赋值
变量与数据类型 常用的数据类型及类型转换
算术运算符
顺序结构程序的编写
顺序结构 数据输入输出
标准函数
选择结构程序的编写
程
序
设 选择结构 关系运算符和逻辑运算符
计
if语句
多分支结构程序的编写
多重选择结构 多分支if elif语句
if语句的嵌套
循环结构程序的编写
循环结构 while循环语句、for循环语句
强制跳出循环
多重循环结构 循环的嵌套
函数的定义方法
自定义函数
函数的使用方法
人工智能应用 第三方库的下载、安装和使用
海龟绘图 画笔属性、运动、控制、颜色
61
公众号:电子课本大全
(PDF课本免费下)第第22单单元元 开开源源硬硬件件
智能家居在硬件上通过物联网控制器和家中各类电器设备、传感设备、
智能设备实现互联,在软件上提供高体验度、高交互度、高质量的个性化服务
给用户。它的常见应用如,与照明系统、窗帘控制器、空调控制器以及各种传
感设备连接,用户可利用手机远程操控家里的灯光、空调温度等,回家后第一
时间享受舒适的环境;与智能门铃、摄像头、防盗器、烟雾检测器等家居安防
设备连接,用户在手机上可实时远程监控家中的情况;日常采集人的体重、血
压、体脂率等信息,结合人工智能技术,对人体健康状况进行分析,提出最
佳的运动方案和医疗建议。可见,智能家居的物联网控制器和开源硬件、软
件相结合,使得传感器数据采集和传送变得简单易用。
随着电子和信息技术的高速发展,开源硬件越来越简单易用并走进我们
的课堂。设计智能化电子产品时,不需要焊接复杂的电路,可以直接使用开
源硬件和各种电子模块。结合编程,初学者也能在智能制造机器人、智能家
居、智能穿戴等方面,较易实现充满创意的互动效果,如使用Arduino及电
子模块,能快速、高效制作自动感应风扇、智能灯等智能实物。
开源硬件包括了电子技术、传感技术、控制技术,有效整合各学科知识,
以工程化思想进行创新。开源硬件的学习过程充满挑战,能让我们体验软硬件
开发的乐趣。通过本单元的学习,了解开源硬件知识;通过模仿案例实验,
积累智造的经验,并能进行简单设计和制作解决有关学习生活问题的作品。
学习目标
了解有关开源硬件知识及其编程软件。
了解自动感应风扇原理,掌握红外线接近传感器和风扇模块的使用
方法。
62
公众号:电子课本大全
(PDF课本免费下)第2单元 开源硬件
了解智能灯原理,掌握光线传感器和灯模块的使用方法。
了解自动擦黑板原理,掌握声音传感器和舵机的使用方法。
综合活动:制作个性化提醒器。
第1节 初识开源硬件
张扬发现身边出现越来越多源于创意的智能实物,如自动感应门,增加
发光、语音识别功能的玩具,家居烟雾感应的警报器,监测土壤湿度的自动
浇花装置……他想探索其中的奥妙,以实现自己的奇思妙想!
这一节我们来学习什么是开源硬件,了解常见的传感器,认识编程环境。
学习单
围绕以下问题开展学习活动:
(1)Arduino系统的组成。
(2)认识Arduino主控板及与灯模块的接线图。
(3)编写程序,制作第一个作品——闪烁灯。
一、开源硬件
开源是源于软件开放源代码,而开源硬件是指开放有关硬件的电路图、
接口等设计资料,Arduino就是一个典型的开源平台,其简单的开发方式使我
们的创意想法能较易实现。
实战场
上网搜索Arduino的由来和其他开源硬件的资料。
二、认识Arduino开源硬件
Arduino是开源硬件的平台,它可以接收来自多种传感器的输入信号,
63
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
并通过控制光源、电机等执行器来影响其周围环境,如图2-1所示。
输入部分 控制部分 输出部分
传
感
器
64
Arduino
执
行
器
板
图2-1 Arduino开源硬件平台
1.Arduino UNO主控板
Arduino UNO主控板如图2-2所示,其工作电压是5V,电源可以通过外接
直流电源(7~12V)或通过USB线连接计算机获取。“USB接口”是连接计算
机USB口,通过此接口把编好的程序写入Arduino主控板;“数字口”作为输
入或输出数字信号通道,连接数字信号的元器件;“模拟口”作为输入模拟
信号通道,连接模拟信号的元器件。
复位键
数字口0~13
USB接口
模拟口A0~A5
图2-2 Arduino UNO主控板
为了增加易用性,通常在主控板上安装一块扩展板,把数字口和模拟
口扩展成3P(Pin,引脚)接口,就可以直插3P接口的电子模块,如图2-3所
示。3P接口的引脚是金属针,用来连接传感器和执行器,其中黑色插座引脚
为GND(电源地),红色插座引脚为VCC(3.3V或5V电源),绿色或蓝色插
公众号:电子课本大全
(PDF课本免费下)第2单元 开源硬件
座引脚为信号通道。
扩展为3P接口
扩展为3P接口
图2-3 Arduino UNO主控板及扩展板
小提示
模拟信号在一定的时间范围内可以有无限多个不同的取值,如声音音量、
光线的亮度等信号,而数字信号只有0和1两种状态,0表示低电平,1表示高电
平,如图2-4所示。
1 0 1 0 1 0 1 0
模拟信号 数字信号
图2-4 模拟信号和数字信号
实战场
(1)用数据线把Arduino主控板的USB接口和计算机USB接口连接。
(2)观察Arduino主控板电源指示灯的位置。
扩展为3P接
口
65
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
(3)观察计算机“设备管理器”的端口,查看新增的Arduino端
口,如图2-5所示,注意不同的计算机可能有不同的端口号。
图2-5 设备管理器
2.传感器
传感器是输入外界信息的器件,它将感应的被测量信息转换为电信号,
并以数据形式表示。如图2-6所示,红外线接近传感器可感应是否有物体接
近,光线传感器可检测光线的强弱,声音传感器可感应声音音量的大小,温
湿度传感器可用于检测温度和湿度的高低。
红外线接近传感器 光线传感器 声音传感器 温湿度传感器
图2-6 各类传感器
探索区
在图2-6中,哪些传感器必须接Arduino主控板模拟口?
3.执行器
执行器是输出信息的器件。如图2-7所示,灯模块是发光,蜂鸣器是发
声,风扇模块和舵机通过电机驱动来转动。
66
公众号:电子课本大全
(PDF课本免费下)第2单元 开源硬件
灯模块 蜂鸣器 风扇模块 舵机
图2-7 各类执行器
小提示
模块一般按功能或芯片命名,即使是同一功能的模块,可能有引脚接口
的排列顺序或引线颜色的差异,使用时必须了解其引脚定义,并正确连接到
Arduino主控板。
三、Arduino的编程软件
图2-8所示是其中一款国内Arduino的图形化编程软件,免费开源,无
须安装,直接双击运行其应用程序即可,其界面包括了“功能区”“模块
区”“编程区”和“提示区”等。
编程区
模块区
功能区
提示区
图2-8 Mixly图形化编程软件界面
67
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
四、制作第一个Arduino应用
应用Arduino主控板和灯模块制作闪烁灯效果。
1.主控板与灯模块的接线
灯模块的亮和灭对应数字信号1和0,故这里把灯模块接到Arduino主控
板的数字口6,如图2-9所示。
数字口6
图2-9 灯模块接线图
小提示
灯模块3P接口连接线如图2-10所示,用于
免焊接电路连接进行实验,有多种颜色区分,
用完后可拆卸。要特别注意的是,主控板给灯
模块供电时电源线是不能反接的,通常连接线
与主控板插座颜色一一对应,如黑线接GND,
红线接VCC,绿线是信号引脚。
图2-10 3P连接线
68
公众号:电子课本大全
(PDF课本免费下)第2单元 开源硬件
2.编写程序
闪烁灯效果为灯亮1秒、灯灭1秒、灯亮1秒……闪烁灯的流程图和程序
如图2-11所示。
灯亮 灯亮
延时1秒
灯灭
灯灭
延时1秒
图2-11 闪烁灯效果的流程图和程序
小提示
(1)延时指令是指保持之前的动作,图2-11程序中的“延时1000毫秒”
是保持1秒钟时间灯亮或灯灭的状态。
(2)虽然编写了一次的亮灯、灭灯程序,但因为该款图形化编程软件自
动加载重复执行指令,故运行程序时会有灯不断闪烁的效果。
3.编译程序并上传到主控板
程序编写完毕需要编译,编译是将图形化指令的程序翻译为Arduino主
控板使用的机器语言。如果程序编译有错则根据该软件“提示区”的错误信
息进行查错修改,更正后再编译……直至出现“编译成功”的文字提示。
编译成功后可以把程序上传至Arduino主控板,当“提示区”显示“上
传成功”后,程序立即在Arduino主控板上自动运行,此时就可观察程序的运
行效果。
69
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
实战场
制作节日灯一闪一闪的效果。
(1)把灯模块接线到Arduino主控板的数字口6。
(2)编写节日灯程序。
观察室
尝试把节日灯程序写入Arduino主控板。
(1)单击“功能区”—编译,如编译成功则进行下一步,否则
检查修改程序。
(2)Arduino主控板与计算机USB口用数据线相连,计算机自
动识别,会分配新的COM口,如COM3。
(3)选Arduino uno型号和COM3。
(4)单击“功能区”—上传,上传成功后,观察运行效果。
展评室
(1)举例说一说Arduino主控板的应用。
(2)说一说开源硬件的知识产权问题。
(3)编写程序实现SOS求救信号灯效果。
70
公众号:电子课本大全
(PDF课本免费下)第2单元 开源硬件
第2节 自动感应风扇
今天同学们去功能室上课,回到教室后发现风扇又忘记关了,大家纷纷
议论哪一位同学最后离开教室,张扬想,如果风扇能感应到教室有人时自动
开启,没有人时自动关闭就好了。
这一节,我们学习应用红外线接近传感器进行编程。
学习单
围绕以下问题开展学习活动:
(1)分析自动感应风扇原理。
(2)认识红外线接近传感器、风扇模块。
(3)编写程序,制作自动感应风扇作品。
一、自动感应风扇原理
我们日常使用的风扇一般都是通过按钮或遥控器来控制风扇转动或停
止,而设计自动感应风扇,可使用红外线接近传感器自动检测风扇前面是否
有人,如果有人则驱动电机使风扇转动,否则风扇停止不动,设计流程图如
图2-12所示。
否
风扇前有人?
是
风扇转动 风扇停止转动
图2-12 自动感应风扇流程图
71
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
二、实验器材
自动感应风扇由Arduino主控板、红外线接近传感器和风扇模块组成。
1.红外线接近传感器
红外线接近传感器有很多种,如图2-13所示的红外线接近传感器又称
为“红外线避障传感器”,有3个接线引脚,分别接GND、VCC、数字口。
该传感器是输入模块,是集发射与接收于一体的光电开关式传感器。它能感
应是否有物体接近,如果前方有物体接近,信号为低电平,用数字 “0”表
示,否则信号为高电平,用数字 “1”表示,而检测物体接近的距离可用十
字螺丝刀进行调节设定。
接数字口
调节检测距离
图2-13 红外线接近传感器
实战场
尝试进行如下的红外线接近传感器接线、编程和测试:
(1)红外线接近传感器接线Arduino数字口6,如图2-14所示。
(2)编程:编写测试红外线接近传感器程序,如图2-15所示。
(3)编译上传成功后,单击“功能区”—串口监视器,测试有没
有物体接近,观察串口监视器显示的数据,如图2-16所示,把测试结
果填写在表2-1中。
72
公众号:电子课本大全
(PDF课本免费下)第2单元 开源硬件
数字口6
数字口6
图2-14 红外线接近传感器接线图
图2-15 测试红外线接近传感器程序
图2-16 串口监视器
表2-1 红外线接近传感器测试表
测试项目 测试结果
有物体接近
无物体接近
小提示
串口监视器使用完毕要及时关闭,如果没有关闭串口监视器,不能进行
“上传”程序操作。
73
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
观察室
生活中红外线接近传感器应用广泛,如自动感应水龙头、智能
门铃、电梯门防夹伤装置等。
2.风扇模块
风扇模块是利用直流电机将电能转化为机械能,驱动扇叶旋转的模块。
风扇模块有3个接线引脚,如图2-17所示。该模块是输出模块,输出高电平
给电机,电机驱动风扇转动;输出低电平,风扇停止转动。
接数字口
图2-17 风扇模块
实战场
如图2-18所示进行自动感应风扇接线,红外线接近传感器接
Arduino数字口6,风扇模块接Arduino数字口5。注意黑线、红线不要接
错,应与插座颜色一一对应。
数字口5
数字口6
图2-18 自动感应风扇接线图
74
公众号:电子课本大全
(PDF课本免费下)第2单元 开源硬件
三、编写程序
如果红外线接近传感器的信号为低电平,表示风扇前有人,则输出高电
平给风扇模块的电机,驱动电机使风扇转动,否则输出低电平使风扇停止不
动。程序如图2-19所示,其中“延时1000毫秒”的作用是风扇转动1秒,延
时数据可根据需要进行修改。
图2-19 自动感应风扇程序
小提示
将“如果……执行……”指令修改为“如果……执行……否则……”指
令,方法是单击指令上的蓝色齿轮设置图标,如图2-20所示进行设置,再单击
蓝色齿轮,隐藏设置窗口。
①单击蓝色齿轮
③拖动到这
②在弹出选项框中
单击选择选项
图2-20 选择结构指令模块的设置
75
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
实战场
编写自动感应风扇前有人时扇叶才转动的程序,编译上传,并
进行测试。
展评室
(1)如果室温超过25℃且风扇前有人时扇叶才会转动,试画出流
程图。
(2)红外线接近传感器在生活上还有哪些应用?
第3节 智能灯
下午自习课时间,天色忽然变暗,要下暴雨了,教室里的光线明显不
足,同学们写字和看书时都不由自主地低下头去,这时张扬灵机一动,想到
可以用Arduino设计自动感应灯,在感应到光线不足时灯就能自动点亮,这
样对同学们的视力也能起到保护作用。
这一节,我们将应用光线传感器进行编程。
学习单
围绕以下问题开展学习活动:
(1)分析智能灯原理。
(2)认识光线传感器、灯模块。
(3)编写程序,制作智能灯作品。
76
公众号:电子课本大全
(PDF课本免费下)第2单元 开源硬件
一、智能灯原理
智能灯利用光线传感器自动感应光线的强弱,如果光线暗时则控制灯
亮,否则控制灯灭,如图2-21所示。
否
光线暗吗?
是
灯亮 灯灭
图2-21 智能灯流程图
二、实验器材
智能灯由Arduino主控板、光线传感器和灯模块组成。
1.光线传感器
光线传感器又称为光敏传感器,它是输入模块,有3个接线引脚,如图
2-22所示,该传感器将光信号转换为电信号,能检测光线信号的强弱,光线
越强,数值越大。
检测光线
接模拟口
图2-22 光线传感器
模拟信号的传感器连接模拟信号口A0~A5任意一个,每个信号口的分
辨率为10位,Arduino主控板可读取传感器输出的0~1023共1024个不同的值。
77
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
实战场
尝试进行如下的光线传感器的接线、编程和测试:
(1)光线传感器接线Arduino模拟口A0,如图2-23所示。
(2)编写测试光线传感器的程序,如图2-24所示。
(3)编译上传,打开串口监视器,如图2-25所示,根据表2-2的
测试项目进行测试,并填写光线的亮度值。
模拟口A0
图2-23 光线传感器接线
图2-24 光线传感器的测试程序
251
0
152
136
1000
图2-25 串口监视器
表2-2 光线传感器测试表
测试项目 测试结果
当前环境光
光线较暗的地方
光线较强的地方
78
公众号:电子课本大全
(PDF课本免费下)第2单元 开源硬件
观察室
生活中光线传感器的应用有自动调节屏幕亮度的手机、智能路灯等。
2.灯模块
灯模块由发光二极管(简称
为LED)和电阻元器件组成的电
路,灯的颜色一般有红、绿、黄、
接数字口
蓝等。灯模块是输出模块,它有3
个接线引脚,输出高电平信号驱动
灯亮,输出低电平信号则灯灭,如
图2-26 灯模块
图2-26所示。
实战场
如图2-27所示进行智能灯接线,光线传感器接Arduino的模拟口
A0,灯模块接Arduino的数字口6。
数字口6
模拟口A0
图2-27 智能灯接线图
79
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
三、编写程序
如果当前光线亮度值小于设定值200,表示光线暗,则输出高电平控制
灯亮,否则输出低电平控制灯灭,如图2-28所示。
图2-28 智能灯程序
实战场
编写智能灯程序,编译上传,并测试智能灯是否可以在感应到光
线暗时才亮灯。
展评室
(1)设计感应不同光线值时可以亮灯。
(2)设计感应不同光线值时可以调节灯的亮度。
第4节 声控粉笔擦
每当下课,值日生都要负责把黑板擦干净。今天的值日生是张扬,他擦
完黑板还要赶去洗手,觉得很麻烦,于是他想,要是能设计一个利用声音控
制的粉笔擦自动擦黑板那该多好。
80
公众号:电子课本大全
(PDF课本免费下)第2单元 开源硬件
这一节,我们学习应用声音传感器进行编程。
学习单
围绕以下问题开展学习活动:
(1)分析声控粉笔擦原理。
(2)认识声音传感器、舵机。
(3)编写程序,制作声控粉笔擦作品。
一、声控粉笔擦原理
声控粉笔擦的功能是如果检测到声音音量大于设定值则自动擦黑板,否
则粉笔擦停止不动,如图2-29所示。
否
音量>设定值?
是
擦黑板 停止不动
图2-29 声控粉笔擦流程图
二、实验器材
声控粉笔擦由Arduino主控板、声音传感器和舵机组成。
1.声音传感器
声音传感器是输入模块,它有3个接线引脚,如图2-30所示。该传感器
内置的麦克风将声波转换为电信号,能检测周围环境声音音量的大小,声音
的音量越大,数值越大。
81
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
检测音量
接模拟口
图2-30 声音传感器
实战场
尝试进行如下的声音传感器的接线、编程和测试:
(1)声音传感器接线Arduino模拟口A0,如图2-31所示。
(2)编写测试声音传感器的程序,如图2-32所示。
(3)编译上传,打开串口监视器,如图2-33所示,根据表2-3的
测试项目进行测试,并填写音量的测试结果。
模模拟拟口口AA00
图2-31 声音传感器接线图
图2-32 测试声音传感器程序
15
83
0
630
72
图2-33 串口监视器
82
公众号:电子课本大全
(PDF课本免费下)第2单元 开源硬件
表2-3 声音传感器测试表
测试项目 测试结果
当前环境音量
双手拍掌音量
观察室
在生活中,声音传感器的应用较为广泛,如楼道声控灯、噪声
检测器等。你还知道有哪些应用呢?
2.舵机
舵机又称角度伺服驱动器,是输出模块,它由控制板、齿轮组、电位
器、电机等组成,常见的舵机转动角度为0°~180°,如图2-34所示。
使用时需要注意:
(1)不能用手转动舵机上的白色指针,否则会损坏齿轮组。
(2)如果运行程序时发现舵机指针不能转动,且塑料外壳有发热现
象,应尽快拔电。
(3)如果舵机的负载大于其能提供的最大拉力,舵机里面的齿轮会损
坏,出现指针不能转动现象。
转动
棕线:GND
红线:VCC
橙线:数字口
图2-34 舵机
舵机接线至数字口3,如图2-35所示。
83
公众号:电子课本大全
(PDF课本免费下)信息技术 八年级上册
数字口3
图2-35 舵机接线
如图2-36所示,编写程序控制舵机转动到0°的位置,需要注意设定延
时时间给舵机转到指定角度。
图2-36 设置舵机转动到0°
实战场
根据如2-37所示声控粉笔擦的电路图,尝试接线,声音传感器接
Arduino模拟口A0,舵机接Arduino数字口3。
数字口3
模拟口A0
图2-37 声控粉笔擦接线图
84
公众号:电子课本大全
(PDF课本免费下)第2单元 开源硬件
三、编写程序
如果检测当前环境音量大于设定值300,则实现一次擦黑板动作:舵机
由起点角度0°转到90°,再回到起点0°,程序如图2-38所示。
图2-38 声控粉笔擦程序
实战场
编写声控粉笔擦程序,编译上传,并测试其是否可以声控粉笔擦自
动擦黑板。
展评室
(1)根据真实环境,修改合理的音量设定值实现自动擦黑板。
(2)修改程序:如果音量大于设定值,则实现多次擦黑板动作。
(2)动手设计声控粉笔擦的外观。
85信息技术 八年级上册
第5节 综合活动:制作个性化提醒器
一、活动目的
体验设计与制作提醒器的过程,对开源硬件有更深一层的认识与了解,
培养协作能力、实践能力和创新精神。
二、活动任务
(1)关注生活,题目新颖,至少选用一种传感器和执行器完成功能设
计,自动感应明显且提醒效果好。
(2)作品整体设计符合题目设置要求,外观可利用废弃环保材料,美
工设计有特色。
三、活动过程
在活动过程中,建立相关文件夹,保存相关材料。
1.分工
根据兴趣、特长进行分组,建议2~4人为一组,填写表2-4。
表2-4 合作分工表
组号:
分工任务 组员
资料搜集和记录
外观设计和制作
器材准备和连接
编写程序和调试
86第2单元 开源硬件
2.项目选题
根据组员的兴趣和生活经验,展开讨论,确定题目。
可以选择以下参考题目,也可自拟题目。
(1)出门容易忘记携带的物品,如关门提醒器。
(2)避免出现不良习惯,如防近视提醒器。
(3)避免弱势群体受到伤害,如导盲提醒器。
(4)避免财物损失,如防盗提醒器。
自拟题目:
3.项目实施
(1)根据所选的题目,选定实现项目功能的传感器和执行器。
(2)设计和制作项目作品的外观。
(3)连接Arduino主控板和电子模块等器材的硬件线路。
(4)编写程序和调试项目作品,并记录调试时遇到的问题。
记录制作过程,填写表2-5。
表2-5 提醒器设计与制作
作品名称 _________________________提醒器
制作步骤 制作内容
1.讨论方案 创意来源(解决生活上哪些问题):
2.确定方案 功能:
3.实验器材 器材清单:
4.设计作品外观 外观图:
5.设计流程图,编写程序 流程图:
遇到的问题1:
解决方案1:
6.调试,并做记录 遇到的问题2:
解决方案2:
……
87信息技术 八年级上册
4.成果展示
(1)完成小组设计报告文档,内容纲目参考如下:
项目名称:
① 功能简介
② 器材清单
③ 流程图和程序
④ 调试时遇到的问题
(2)组间交流分享。
四、活动评价
参照表2-6和表2-7进行小组作品评价和自我评价。
表2-6 小组作品评价
评价项目 评价内容 评价等级
传感器感应是否达到设计要求 □A □B □C
功能设计 提醒方式是否效果好 □A □B □C
是否有创意 □A □B □C
外观整体是否符合题目 □A □B □C
外观设计
外观是否美观 □A □B □C
分享展示 能否恰当地展现创意设计的提醒器 □A □B □C
表2-7 自我评价
序号 评价内容 评价等级
1 是否熟悉传感器的使用 □A □B □C
2 是否熟悉执行器的使用 □A □B □C
3 有否参与整个作品的制作过程 □A □B □C
4 遇到问题有否与组员讨论 □A □B □C
5 有否参与展示分享 □A □B □C
88第2单元 开源硬件
瞭望台
人工智能迅速发展,AI产品层出
不穷,国内一个开源团队推出基于
人工智能的开源主板,其核心处理
器是性能超强的AI处理器,内置NPU
(神经网络处理器),运算性能高
达2.4Tops,支持8bit/16bit运算,具
有高性能、低功耗、开发容易等优
图2-39 人工智能迅速发展
势,可用于智能驾驶、图像识别、
安防监控、无人机、语音识别等AI应
用领域。
单元评价
(1)在本单元的学习中,你学会了什么? 。
(2)还有什么问题没有解决? 。
(3)在学习过程中,你得到了什么帮助? 。
(4)你帮助过别人什么? 。
89信息技术 八年级上册
知识框图
开源硬件
认识Arduino开源硬件
初识开源硬件
Arduino的编程软件
制作第一个Arduino应用
自动感应风扇原理
自动感应风扇 实验器材
编写程序
开源硬件
智能灯原理
智能灯 实验器材
编写程序
声控粉笔擦原理
声控粉笔擦 实验器材
编写程序
90