资源简介 (共42张PPT)第4课项目准备——编译入门八年级上01学习目标内容总览02新知导入03变量04基本语句05函数06课后练习07课堂小结08板书设计教学目标在使用网络资源和编程工具时,能够尊重知识产权,不侵犯他人的合法权益。信息社会责任能够认识到不同数据类型(如整数、浮点数、字符串等)在程序设计中的作用,以及它们之间转换的必要性。信息意识能够学会定义和使用函数,理解函数在程序模块化设计中的重要性,以及如何通过函数来实现复杂的计算任务。计算思维能够在解决问题的过程中,尝试使用不同的编程技巧,提高解决问题的效率和创新能力。数字化学习与创新新知导入随着科技的飞速发展,生活中所接触到的东西都在逐渐变得更加智能。在物联网的架构中,感知层是非常关键的,也是实现物联网的基础,能够帮助项目产品拥有“触觉”“味觉”等“感官功能”。它的核心因素就是传感器。新知导入本章中我们将通过认识几种典型的传感器,帮助同学们了解物联网设备的工作原理,了解传感器、单片机等物联网相关硬件的功能和使用;掌握从传感器获取信息和控制执行器的方法,通过常见的开源硬件,如温湿度传感器、超声波传感器等电子模块搭建物联网作品;理解利用开源硬件进行信息科技创新的意义。新知导入学习安排01学习内容一项目准备——编译入门02学习内容二温湿度传感器03学习内容三超声波传感器04学习内容四蜂鸣器模块05学习内容五智能楼道灯探究新知任务由于微处理器在执行程序时,只看得懂包含0和1的数字信息。在进行动手实验前,我们还需要了解一些高级程序设计语言的基础知识,这样我们编写的程序就能够由编译器“翻译”为微处理器能够直接解读、运行的机器语言,这样微处理器就可以执行程序命令了。探究新知了解变量的不同类型。掌握基本语句及使用方法。掌握函数的基本用法。020301任务探究新知编译器任何物联网设备和智能设备都需要运行程序才能工作。如果微处理器是大脑,外围硬件就是肢体,肢体活动受控于大脑,硬件实现的功能取决于程序。编译器提供了编写程序、下载程序的环境。可以帮助管理项目内的多个程序,也可以利用颜色来区分程序代码类的内容,方便程序阅读和优化。在编译时会检查程序上的错误,并发出警告,如图所示。探究新知编译器高级程序语言设计编译器图形编译器探究新知一、变量变量在程序中是用来存储数据的。我们根据需要,可以在程序中将数据存储在变量中,或者引用变量中存储的数据。变量可以指定不同的数据类型,可以是整数、小数或字符。一门高级程序设计语言中用于存储数据的基本类型有Numbers(数字)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)等。探究新知一、变量每个变量在内存中创建,都包括变量的标识、名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。等号“=”用来给变量赋值。等号“=运算符左边是一个变量名,等号“=”运算符右边是存储在变量中的值,程序如下:探究新知一、变量以上实例中,200,3214.0和“Alex”分别赋值给ex1,ex2,name变量。执行以上程序会输出如下结果,运行结果如下:探究新知一、变量在处理数据时,经常使用数据类型之间的转换。简单的有int、float、string之间转换,复杂的有数组(array)、列表(list)、数据框(Dataframe)之间的转换。熟知一些处理技巧,能提升自己的工作效率。探究新知一、变量常见的几个可以执行数据类型之间转换的函数,如表所示。这些函数返回一个新的对象,表示转换的值。函数 描述int(x[,base]) 将x转换为一个整数long(x[,base]) 将x转换为一个长整数float(x) 将x转换到一个浮点数str(x) 将对象x转换为字符串repr(x) 将对象x转换为表达式字符串eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象tuple(s) 将序列s转换为一个元组探究新知一、变量int(x)函数可以将string类型和其他数字类型转换成整数类型,但是会丢失数据。例如:x=int(3.1415)#变量x的值是3。探究新知一、变量拓展学习——变量类型的深入理解在编程中,变量的类型对于数据的处理和存储至关重要。我们已经了解了基本的变量类型如整数、浮点数、字符串等,但在实际应用中,还有一些更复杂的数据结构值得我们去探索。探究新知一、变量拓展学习——变量类型的深入理解列表(List): 列表是一个有序的集合,可以随时添加和删除其中的元素。列表中的元素可以是不同的数据类型,这为我们提供了极大的灵活性。例如,我们可以创建一个包含整数、浮点数和字符串的列表。mixed_list = [1, 3.14, "Hello"]探究新知一、变量拓展学习——变量类型的深入理解字典(Dictionary): 字典是一种存储键值对的数据结构。每个键在字典中都是唯一的,对应一个特定的值。这种结构非常适合于存储和查找相关信息。person = {"name": "Alice", "age": 30, "city": "北京"}探究新知二、基本语句(一)for循环语句for循环语句是程序中一种很常见的语句,用来遍历有序的可迭代对象,其循环次数由有序对象的长度决定,如图所示。探究新知二、基本语句(一)for循环语句命令格式:for变量in有序对象:循环体代码命令功能:for循环按顺序从有序对象中取出值并赋给指定变量,随后执行冒号内的循环体代码,当所有值都被取出后停止循环。探究新知二、基本语句(一)for循环语句for循环配合range()函数使用,可以控制执行循环的次数,程序如下。range(n)函数能够生成0~(n-1)的数字列表,函数range(101)表示生成的列表数字是从0开始到100,不包括101。探究新知二、基本语句(一)for循环语句以上实例中,利用for循环和range函数计算了从1到100的累加值。执行以上程序会输出如下结果,运行结果如下。探究新知二、基本语句(二)if条件语句条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。其中,if语句用于控制程序的执行,基本形式为:命令格式:if条件表达式:条件成立时执行的代码探究新知二、基本语句(二)if条件语句命令功能:对条件表达式进行判断,如果判断结果为真,执行if语句冒号内的代码。有时需要在条件成立时执行一个操作,在条件不成立时执行另一个操作,这种情况下就可以使用if-else语句。条件语句结构如图所示。探究新知二、基本语句(二)if条件语句命令格式:if条件表达式:条件成立时执行的代码else:条件不成立时执行的代码探究新知二、基本语句(二)if条件语句我们可以利用if语句的嵌套实现对个人BMI健康指数的测量,程序如下。当我们执行该程序的时候,会输出以下结果,运行结果如下。探究新知三、函数定义一个函数需要使用def语句,依次写出函数名、括号、括号中的参数以及冒号,接着,在缩进块中编写函数要实现的代码,最后,函数的返回值用return语句返回。探究新知三、函数在数学学习中,我们会遇到计算一个正方形的面积与周长,我们知道只要知道正方形的边长就能够计算它的面积和周长,其中面积等于边长的平方而周长等于边长的4倍,因此,我们可以自己定义函数来实现计算一个正方形的面积和周长的功能,程序如下:探究新知三、函数第一个是area函数,该函数接受的参数length是指正方形的边长,然后通过边长的平方计算了正方形的面积并且通过return语句将计算到的面积进行返回。第二个是perimeter函数,该函数接受的参数length也同样指的是正方形的边长,然后通过边长乘以4得到正方形的周长,并且通过return语句将计算到的周长进行返回。探究新知三、函数在定义好了这两个函数之后,我们就可以在该Python环境下使用这两个函数来计算正方形的面积与周长,运行结果如下:探究新知三、函数在定义好了这两个函数之后,我们就可以在该Python环境下使用这两个函数来计算正方形的面积与周长,运行结果如下:通过以上程序我们可以看到通过我们自己定义的函数能快速方便地计算所有正方形的面积和周长。思考活动小组讨论思考,怎么通过一个函数来完成这两个功能。思考活动参考def square_properties(length):# 计算面积area = length ** 2# 计算周长perimeter = length * 4# 返回面积和周长return area, perimeter# 使用示例length = 5 # 假设正方形边长为5area, perimeter = square_properties(length)print(f"正方形的面积为: {area}, 周长为: {perimeter}")探究新知三、函数我们在动手实践的过程中会用到OLED屏幕,一般OLED屏幕都会有一套与之配套的程序库,里面封装好了很多我们会用上的函数,常见的函数如下:oled.DispChar(s,x,y)函数可以显示文本,其中s为需要显示的文本内容,x、y为文本的左上角起点坐标。当显示字符串超出显示屏宽度可自动换行。oled.fill(c)函数是用指定颜色填充整个屏幕。参数c为1时,像素点全亮;为0时,像素点全灭。oled.show()函数能够将显示内容发送到OLED显示屏。常见函数探究新知三、函数显示文字程序和运行结果如下:常见函数探究新知三、函数默认参数:在定义函数时,可以为参数设置默认值。当调用函数时没有提供该参数的值,将使用默认值。示例如下:拓展学习——函数的进阶应用def greet(name, greeting="Hello"):print(f"{greeting}, {name}!")greet("Alice") # 输出: Hello, Alice!greet("Bob", "Hi") # 输出: Hi, Bob!课堂总结本节课我们深入了解了高级程序设计语言的基础知识,包括变量的多种数据类型、基本语句如for循环和if条件语句的使用方法,以及函数的定义和调用。通过实例和练习,我们掌握了如何运用这些知识来编写能被编译器“翻译”的程序,从而让微处理器执行我们的命令。此外,我们还探讨了常见数据类型之间的转换函数,并介绍了在物联网设备编程中可能会用到的一些函数库,如OLED屏幕操作函数。通过本节课的学习,同学们已经为后续的动手实践打下了坚实的基础。课后作业定义一个函数,当顺序输入年、月、日时,判断这是一年的第几天,并且能够多次计算,当用户输入字符“q”时退出程序。01查阅资料,了解更多常见的函数。02板书41https://www.21cnjy.com/help/help_extract.php让备课更有效www.21cnjy.comThanks!中小学教育资源及组卷应用平台项目准备——编译入门教学设计课题 项目准备——编译入门 单元 生活中的万物互联 学科 初中信息科技 年级 八年级教材分析 本课详细介绍了高级程序设计语言的基础知识,包括变量、基本语句及函数等核心概念,为学生进行动手实验前做了充分的理论铺垫。通过实例演示和解释,使得抽象的概念变得生动易懂。特别是,教材通过具体的编程示例,如计算累加值、BMI指数测量、正方形面积与周长的计算等,帮助学生将理论知识转化为实际操作能力。此外,教材还鼓励学生通过小组讨论,思考如何优化函数设计,这不仅能提升学生的编程技巧,还能培养其团队协作和问题解决能力。整体来看,教材内容丰富、结构清晰。学习目标 信息意识:能够认识到不同数据类型(如整数、浮点数、字符串等)在程序设计中的作用,以及它们之间转换的必要性。计算思维:能够学会定义和使用函数,理解函数在程序模块化设计中的重要性,以及如何通过函数来实现复杂的计算任务。数字化学习与创新:能够在解决问题的过程中,尝试使用不同的编程技巧,提高解决问题的效率和创新能力。信息社会责任:在使用网络资源和编程工具时,能够尊重知识产权,不侵犯他人的合法权益。。重点 让学生掌握高级程序设计语言的基础知识,包括变量的不同类型、基本语句及函数的使用方法。通过理解和运用这些核心概念,学生能够编写出能被编译器正确“翻译”的程序,从而控制微处理器的运行。难点 让学生深入理解并掌握for循环语句和if条件语句的逻辑结构,以及如何自定义函数来实现特定的计算功能。此外,熟悉并灵活运用数据类型转换函数也是一大挑战,需要学生通过实践操作来加深理解和应用。教学过程教学环节 教师活动 学生活动 设计意图导入新课(单元概述) 随着科技的飞速发展,生活中所接触到的东西都在逐渐变得更加智能。在物联网的架构中,感知层是非常关键的,也是实现物联网的基础,能够帮助项目产品拥有“触觉”“味觉”等“感官功能”。它的核心因素就是传感器。本章中我们将通过认识几种典型的传感器,帮助同学们了解物联网设备的工作原理,了解传感器、单片机等物联网相关硬件的功能和使用;掌握从传感器获取信息和控制执行器的方法,通过常见的开源硬件,如温湿度传感器、超声波传感器等电子模块搭建物联网作品;理解利用开源硬件进行信息科技创新的意义。学习安排学习内容一项目准备——编译入门学习内容二温湿度传感器学习内容三超声波传感器学习内容四蜂鸣器模块学习内容五智能楼道灯 了解本单元学习的主题即生活中的万物互联。了解本单元的学习安排。 通过教师简要介绍,学生了解本单元学习主题,激发学生学习兴趣。通过了解学习安排,帮助学生建立初步的学习框架。讲授新课 由于微处理器在执行程序时,只看得懂包含0和1的数字信息。在进行动手实验前,我们还需要了解一些高级程序设计语言的基础知识,这样我们编写的程序就能够由编译器“翻译”为微处理器能够直接解读、运行的机器语言,这样微处理器就可以执行程序命令了。(1)了解变量的不同类型。(2)掌握基本语句及使用方法。(3)掌握函数的基本用法。任何物联网设备和智能设备都需要运行程序才能工作。如果微处理器是大脑,外围硬件就是肢体,肢体活动受控于大脑,硬件实现的功能取决于程序。编译器提供了编写程序、下载程序的环境。可以帮助管理项目内的多个程序,也可以利用颜色来区分程序代码类的内容,方便程序阅读和优化。在编译时会检查程序上的错误,并发出警告,如图4-1、图4-2所示。一、变量变量在程序中是用来存储数据的。我们根据需要,可以在程序中将数据存储在变量中,或者引用变量中存储的数据。变量可以指定不同的数据类型,可以是整数、小数或字符。一门高级程序设计语言中用于存储数据的基本类型有Numbers(数字)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)等。每个变量在内存中创建,都包括变量的标识、名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。等号“=”用来给变量赋值。等号“=运算符左边是一个变量名,等号“=”运算符右边是存储在变量中的值,程序如下:以上实例中,200,3214.0和“Alex”分别赋值给ex1,ex2,name变量。执行以上程序会输出如下结果,运行结果如下:在处理数据时,经常使用数据类型之间的转换。简单的有int、float、string之间转换,复杂的有数组(array)、列表(list)、数据框(Dataframe)之间的转换。熟知一些处理技巧,能提升自己的工作效率。常见的几个可以执行数据类型之间转换的函数,如表4-1所示。这些函数返回一个新的对象,表示转换的值。表4-1常见的数据类型转换函数函数描述int(x[,base])将x转换为一个整数long(x[,base])将x转换为一个长整数float(x)将x转换到一个浮点数str(x)将对象x转换为字符串repr(x)将对象x转换为表达式字符串eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象tuple(s)将序列s转换为一个元组其中,int(x)函数可以将string类型和其他数字类型转换成整数类型,但是会丢失数据。例如:x=int(3.1415)#变量x的值是3。拓展学习——变量类型的深入理解在编程中,变量的类型对于数据的处理和存储至关重要。我们已经了解了基本的变量类型如整数、浮点数、字符串等,但在实际应用中,还有一些更复杂的数据结构值得我们去探索。列表(List): 列表是一个有序的集合,可以随时添加和删除其中的元素。列表中的元素可以是不同的数据类型,这为我们提供了极大的灵活性。例如,我们可以创建一个包含整数、浮点数和字符串的列表。mixed_list = [1, 3.14, "Hello"]字典(Dictionary): 字典是一种存储键值对的数据结构。每个键在字典中都是唯一的,对应一个特定的值。这种结构非常适合于存储和查找相关信息。person = {"name": "Alice", "age": 30, "city": "北京"}通过深入了解这些数据结构,我们可以更有效地组织和处理数据,从而提高程序的效率和可读性。二、基本语句(一)for循环语句for循环语句是程序中一种很常见的语句,用来遍历有序的可迭代对象,其循环次数由有序对象的长度决定,如图4-3所示。命令格式:for变量in有序对象:循环体代码命令功能:for循环按顺序从有序对象中取出值并赋给指定变量,随后执行冒号内的循环体代码,当所有值都被取出后停止循环。for循环配合range()函数使用,可以控制执行循环的次数,程序如下。range(n)函数能够生成0~(n-1)的数字列表,函数range(101)表示生成的列表数字是从0开始到100,不包括101。以上实例中,利用for循环和range函数计算了从1到100的累加值。执行以上程序会输出如下结果,运行结果如下。(二)if条件语句条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。其中,if语句用于控制程序的执行,基本形式为:命令格式:if条件表达式:条件成立时执行的代码命令功能:对条件表达式进行判断,如果判断结果为真,执行if语句冒号内的代码。有时需要在条件成立时执行一个操作,在条件不成立时执行另一个操作,这种情况下就可以使用if-else语句。条件语句结构如图4-4所示。命令格式:if条件表达式:条件成立时执行的代码else:条件不成立时执行的代码我们可以利用if语句的嵌套实现对个人BMI健康指数的测量,程序如下。当我们执行该程序的时候,会输出以下结果,运行结果如下。三、函数定义一个函数需要使用def语句,依次写出函数名、括号、括号中的参数以及冒号,接着,在缩进块中编写函数要实现的代码,最后,函数的返回值用return语句返回。在数学学习中,我们会遇到计算一个正方形的面积与周长,我们知道只要知道正方形的边长就能够计算它的面积和周长,其中面积等于边长的平方而周长等于边长的4倍,因此,我们可以自己定义函数来实现计算一个正方形的面积和周长的功能,程序如下:以上程序中,我们定义了两个函数,第一个是area函数,该函数接受的参数length是指正方形的边长,然后通过边长的平方计算了正方形的面积并且通过return语句将计算到的面积进行返回。第二个是perimeter函数,该函数接受的参数length也同样指的是正方形的边长,然后通过边长乘以4得到正方形的周长,并且通过return语句将计算到的周长进行返回。在定义好了这两个函数之后,我们就可以在该Python环境下使用这两个函数来计算正方形的面积与周长,运行结果如下:通过以上程序我们可以看到通过我们自己定义的函数能快速方便地计算所有正方形的面积和周长。思考活动小组讨论思考,怎么通过一个函数来完成这两个功能。常见函数我们在动手实践的过程中会用到OLED屏幕,一般OLED屏幕都会有一套与之配套的程序库,里面封装好了很多我们会用上的函数,常见的函数如下:oled.DispChar(s,x,y)函数可以显示文本,其中s为需要显示的文本内容,x、y为文本的左上角起点坐标。当显示字符串超出显示屏宽度可自动换行。oled.fill(c)函数是用指定颜色填充整个屏幕。参数c为1时,像素点全亮;为0时,像素点全灭。oled.show()函数能够将显示内容发送到OLED显示屏。显示文字程序和运行结果如下:有关高级程序设计语言的基础知识就讲到这里,更加详细的内容让我们一起在动手实践的过程中去了解。拓展学习——函数的进阶应用默认参数:在定义函数时,可以为参数设置默认值。当调用函数时没有提供该参数的值,将使用默认值。示例:def greet(name, greeting="Hello"): print(f"{greeting}, {name}!") greet("Alice") # 输出: Hello, Alice! greet("Bob", "Hi") # 输出: Hi, Bob! 了解本课学习的意义和目标。了解并尝试使用编译器。学习变量的含义,类型和使用方法。学习数据类型之间的转换方法。学习列表和字典的使用方法。学习for循环语句的格式和功能。学习if循环语句的格式和功能。学习函数的使用方法。学习常见的函数的使用方法。学习函数默认参数的使用方法。 明确本课学习的内容,激发学生学习的兴趣。通过介绍编程中变量的概念、赋值、数据类型及其转换,帮助学生理解变量在数据处理中的重要性,并掌握基本的数据类型转换技巧,以提升编程效率和数据处理能力。帮助学生深入理解不同的变量类型,特别是列表和字典这两种复杂数据结构,以便更高效地组织和处理数据,进而提升学生编程能力和程序的实用性。让学生掌握for循环和if条件语句的基本用法。通过实例演示,学生能够理解for循环在遍历可迭代对象中的作用,以及if条件语句在根据条件判断执行不同代码块中的应用。这些基本语句是编程中的核心技能,对于提高学生的编程能力和逻辑思维能力至关重要。让学生掌握函数的定义、使用及返回值的概念。通过实例讲解,让学生理解函数在编程中的重要性,并学会如何自定义函数来解决问题。同时,通过OLED屏幕相关函数的介绍,拓展学生的实际应用能力。介绍如何使用函数的默认参数功能,以便更灵活地定义和调用函数,提高编程效率。课后练习 (1)定义一个函数,当顺序输入年、月、日时,判断这是一年的第几天,并且能够多次计算,当用户输入字符“q”时退出程序。(2)查阅资料,了解更多常见的函数。 结合本课学习内容,独立完成课后练习。 让学生通过实际应用,深入理解函数的使用方法,并通过查阅资料学习更多的函数用法。课堂小结 组织学生分小组总结本课学习内容,请每个小组代表说说自己小组总结的结果。教师做最后的补充。参考:本节课我们深入了解了高级程序设计语言的基础知识,包括变量的多种数据类型、基本语句如for循环和if条件语句的使用方法,以及函数的定义和调用。通过实例和练习,我们掌握了如何运用这些知识来编写能被编译器“翻译”的程序,从而让微处理器执行我们的命令。此外,我们还探讨了常见数据类型之间的转换函数,并介绍了在物联网设备编程中可能会用到的一些函数库,如OLED屏幕操作函数。通过本节课的学习,同学们已经为后续的动手实践打下了坚实的基础。 在小组讨论基础上,推选代表总结本课学习内容。其他小组做补充总结。 学生自己总结学习内容是一种学习方法,每次课可以梳理出学习了哪些知识、技能方法和思维方式,在头脑中形成本课程的学科结构。板书 从教师板书上归纳本课学习内容的重点。 通过板书,帮助学生形成本课学习内容思维导图。21世纪教育网www.21cnjy.com精品试卷·第2页(共2页)HYPERLINK "http://www.21cnjy.com/" 21世纪教育网(www.21cnjy.com) 展开更多...... 收起↑ 资源列表 教学设计-第4课 项目准备——编译入门.doc 课件-第4课 项目准备——编译入门.pptx