







第2课 程序设计基本知识 课件
展开
这是一份第2课 程序设计基本知识 课件,共39页。
2.3 程序设计基本知识 教学目标掌握Python语言的基本知识,体验通过编程解决问题的基本过程,感受计算机编程的魅力。运用顺序、选择和循环三种结构编写程序,提高利用计算机解决问题的能力。体验探究编程绘制交通信号灯 我们可以编写Python程序绘制各种图形。例如,绘制一个圆形红色信号灯的程序代码如P55所示:思考:1. 如果要绘制如图2.3.1所示的“红绿”信号灯,应该如何编写程序代码?分析其中两盏信号灯的位置坐标有何关系,描述出对应的算法。2. 如果要绘制如图2.3.2所示的“红黄绿”信号灯,又应该如何修改程序代码?分析其中哪些语句是可以重复使用的。2.3.1数据类型 数据类型 Python语言常见的数据类型有以下几种:2.3.1数据类型2.3.1数据类型 实践活动:确定数据类型根据P56表2.3.2中描述的现实事物或现象,列举出具体地数据,说明其对应的数据类型,并完成表格填写。思考:在“编写控灯利出行”项目中,编程完成“自助式人行过街红绿灯”的任务还需要使用哪些数据?分析其对应的数据类型。2.3.1数据类型 强制转换数据类型在程序设计中,可以通过强制类型转换操作,把某个数据从一种数据类型转换成为另一种数据类型。 2.3.2常量、变量及表达式 常量与变量① 常量:常量指程序运行过程中,其值不能改变的量,例如1024、"red"等。② 变量:变量指程序运行过程中,其值可以改变的量。变量是内存中存放数据的存储单元,用变量名来表示。2.3.2常量、变量及表达式Python语言中,变量命名需要遵循以下规则:① 变量名可以包括字母、汉字、数字和下划线(_),但不能以数字开头。 例如:name2是合法变量名,而2name是非法变量名。② 变量名区分大小写。 例如:myName、 MYName、 myname和 Myname是不同的变量。③ 为了便于理解,变量名应具有一定含义,即“见名知意”。④ 不能用系统关键字作为变量名。系统关键字是程序设计语言中保留下来的用于特殊用途的标识符,每个关键字都有特殊的含义。 例如:for、in、if、continue、 break、else、and、not和or等。2.3.2常量、变量及表达式 赋值Python语言中的变量是在首次赋值时创建的。赋值语句是最基本的程序语句,其格式为:变量名 = 表达式注意: Python语言中的变量必须在使用前被赋值,不能使用未被赋值的变量。在使用过程中,变量还能够被重新赋值。2.3.2常量、变量及表达式 实践活动:访问 Python语言列表中元素的值Python语言中的变量可以被赋值为列表类型的值,如 colors=["red","yellow","green"]。若要访问列表中某个元素的值,可用变量名加索引值的方式。思考:编写程序分别访问列表变量 colors中的3个元素。提示:colors[n]中的n表示列表的索引值(n=0,1,2),其中,colors[0]的值为“red”, colors[1]的值为“ yellow”,colors[2]的值为"green"。2.3.2常量、变量及表达式 运算符与表达式运算符标明了对操作数(参与运算符计算的数据)所进行的运算,它与操作数连接而成的有意义的式子被称为表达式。表达式在进行运算处理后得到的结果称为表达式的值。例如,2+3就是一个表达式,其中的操作数是2和3,而运算符是“+”,表达式的值是5。表达式的值可以赋给变量,也可以作为程序语句中的判断条件。2.3.2常量、变量及表达式 运算符与表达式不同类型的数据可以进行不同的运算,如整型数据有取模运算(%),而字符串没有。不同类型的数据使用同一种运算符运算时,常会产生不同的结果。例如,“+”除了可以进行数值加法运算,还可以对字符串、列表等数据进行连接运算,如“China”+“521”的运算结果是“China521”,11,"张明"+90.5的运算结果是,"张明",90.5}。2.3.2常量、变量及表达式 运算符与表达式 常用的运算符有以下几种:2.3.2常量、变量及表达式 运算符与表达式① 算术运算符:主要进行算术运算,运算的结果为整型或浮点型。2.3.2常量、变量及表达式 运算符与表达式② 关系运算符:主要用于比较两个值的大小,运算的结果为布尔值True或 False。2.3.2常量、变量及表达式 运算符与表达式③ 逻辑运算符:可以对关系式或布尔值进行逻辑运算,运算结果仍为布尔值True或 False。2.3.2常量、变量及表达式 运算符与表达式如果两个或多个运算符出现在同一个表达式中,则要按照优先级确定运算顺序:① 优先级高的运算符先运算,优先级相同的从左向右依次运算。② 当表达式中出现“( )”时,它的运算级别最高,应先运算“( )”内的表达式。③ 运算符的优先级为:算术运算符 > 关系运算符 > 逻辑运算符。④ 在同类运算符中也要注意不同的优先级。 例如,逻辑运算符not、and和or的优先级为:not>and>or。2.3.2常量、变量及表达式 实践活动:写出 Python语言表达式 根据问题需求,写出对应的表达式,完成表2.3.6。2.3.3语句与程序结构一般来说,程序是由语句组成的,执行程序就是按特定的次序执行程序中的语句。程序语句包括赋值语句、控制语句和输入输出语句等。其中,控制语句通过对程序流程的控制,决定了程序执行的路径,也决定了程序的结构程序设计的三种基本结构,包括:2.3.3语句与程序结构① 顺序结构:指程序的执行按语句的排列顺序从上到下依次执行,直至结束。程序通常包括输入数据、处理数据和输出结果三部分。 Python语言主要用函数 input()实现数据输入,用函数 print()实现数据输出。■ 输入函数 input():主要用来接收键盘的输,返回值为字符串型数据。通常,在输入时可以给出提示信息,例如:x= input(“请输入一个正整数:”)。■ 输出函数 print():函数 print()主要用于在屏幕上输出一个或多个输出项的值,多个输出项中间用逗号隔开,例如:print(“x是奇数”)。2.3.3语句与程序结构 实践活动:编程计算体重指数根据键盘输入的身高和体重值,编写程序计算体重指数,以 bmi.py为名保存文件。思考:1. 分析问题,找出已知条件和求解的目标,并确定二者之间的关系。2. 用流程图描述该问题求解的算法,并编程实现。想一想能否调整这些语句的书写顺序,为什么?2.3.3语句与程序结构② 选择结构:在选择结构中,某些语句会受到条件的制约,根据条件成立与否有选择地执行。选择结构利用条件语句,通过判断表达式的值(True或False),决定程序执行的分支。单分支结构和双分支结构是常见的两种选择结构,在Python语言中是由if语句实现的(注意其中的冒号不能省略)。2.3.3语句与程序结构② 选择结构例如,判断一个正整数的奇偶性。其判断方法通常是:如果一个正整数x能被2整除,那么这个数为偶数,否则为奇数。程序代码如下:Python语言用缩进的方式标识语句块,表示语句之间的层次关系。同一级语句块中的语句具有相同的缩进量。2.3.3语句与程序结构② 选择结构:选择结构除了单分支和双分支结构,还有多分支结构。例如,某城市轨道交通实行分段计程票价:起步票价为乘坐5站以内(含5站),单人票价2元;乘坐5站以上10站以下(含10站),单人票价3元;乘坐10站以上16站以下(含16站),单人票价4元;乘坐16站以上单人票价5元。2.3.3语句与程序结构② 选择结构:Python语言中,可以在if语句中配合使用elif语句来实现多分支结构,多分支结构的一般格式及“分段计程票价”程序示例如表2.3.8所示。2.3.3语句与程序结构③ 循环结构:在循环结构中,一些语句在某一条件成立时,被重复执行,直到条件不成立时,才结束重复执行。这个条件称为循环控制条件,被重复执行的语句块称为循环体。2.3.3语句与程序结构循环结构:Python语言提供了两种基本的循环结构语句,while语句和for语句。while语句: while语句的基本格式为: while表达式: 语句块 while语句中的表达式是循环控制条件,其值一般为布尔值(True或False)。当表达式的值为True时,执行循环体内的语句;否则就退出循环,执行下一条语句。需要注意的是,while表达式后面的冒号不能省略。2.3.3语句与程序结构while语句: 例如,“倒计时15s”功能实现的程序示例如下:循环结构:Python语言提供了两种基本的循环结构语句,while语句和for语句。2.3.3语句与程序结构B. for语句: for语句的基本格式为: for 循环变量 in 序列: 语句块 for语句每次从序列中取出一个元素赋值给循环变量(循环变量初值即为序列中的第个元素值),当依次访问完序列中所有元素后,循环结束。需要注意的是,for…in后面的冒号不能省略。循环结构:Python语言提供了两种基本的循环结构语句,while语句和for语句。循环结构:Python语言提供了两种基本的循环结构语句,while语句和for语句。2.3.3语句与程序结构B. for语句: 在“倒计时15s”的问题中,使用for语句编写的程序示例如下:在for语句中,循环次数由序列中元素的个数决定,常用于确定循环次数的问题解决。对于不能确定次数的问题求解,需要使用 while语句。实际上,while语句既可以实现不确定次数的循环,也可以实现确定次数的循环。2.3.3语句与程序结构C. 循环嵌套: 一个循环结构内可以包含另一个循环,这样的结构称为循环嵌套,也称多重循环。常用的循环嵌套是二重循环,外层循环称为外循环,内层循环称为内循环。内循环是外循环的循环体。循环嵌套的执行过程是要首先执行外层循环,外循环每执行一次,内循环则需执行一个完整的循环。循环结构:Python语言提供了两种基本的循环结构语句,while语句和for语句。2.3.3语句与程序结构C. 循环嵌套: 输出显示“九九乘法表”,程序示例如下的程序示例如下:循环结构:Python语言提供了两种基本的循环结构语句,while语句和for语句。2.3.3语句与程序结构D. break语句和continue语句:在循环体中,可以使用break语句和continue语句控制程序的流程。break语句用于终止某个循环,使程序跳到循环体以外的第一个可执行语句;continue语句用于终止本次循环进入下一次循环,即跳过循环体内还未执行的语句,进入下一次循环的判定。循环结构:Python语言提供了两种基本的循环结构语句,while语句和for语句。2.3.3语句与程序结构D. break语句和 continue语句:循环结构:Python语言提供了两种基本的循环结构语句,while语句和for语句。2.3.3语句与程序结构 实践活动:编写完整的体重指数“计算器” 完善程序(bmi.py)功能,编写一个完整的体重指数计算小程序,实现对多名学生进行体重指数的等级判断。思考:1. 要实现多次判定高一学生体重指数等级的程序功能,应如何设置循环条件?该循环的次数是否固定?如何结束该循环??2. 画出该问题求解的流程图,并编程实现。练习提升1. 分别指出下面程序中循环体执行的次数写出运行结果,分析程序功能。2. 设计算法编写程序实现如下功能:已知一元二次方程ax2+bx+c=0,从键盘输入a、b和c的值,获取该一元二次方程解的情况。练习提升3. 设计算法编写程序,求任意两个正整数的最大公约数,直至用户输入“q”或“Q”才退出程序。4. 编写程序和计算机来一场有趣的猜数游戏。要求:由计算机随机生成一个100以内的正整数,用户有5次猜数机会,如果猜中提示“猜中了!”并退出程序;否则,提示“数偏大”或“数偏小”,然后继续猜数。如果5次均未猜中,屏幕显示计算机随机生成的整数,并换行给出提示“5次没有猜中,很遗憾,游戏结束”,退出程序。提示:内置模块 random可以生成一个指定范围内的随机数。参考语句为:m= random. randint(1,100) #生成一个指定范围为[1,100]的随机整数谢谢!
