第二章 算法与问题解决 课件(共29张PPT) 2022—2023学年浙教版(2019)高中信息技术必修1

资源下载
  1. 二一教育资源

第二章 算法与问题解决 课件(共29张PPT) 2022—2023学年浙教版(2019)高中信息技术必修1

资源简介

(共29张PPT)
第二章 算法与问题解决
引入
一个农夫要将一匹狼、一只羊和一筐菜运到河对岸。但他的船太小,一次只能带一样。当他不在时,狼要吃羊、羊会吃菜。怎样乘船才能安全地把这些东西运过河?
分析问题
食物链
解决问题
第一次:先带羊过去;
第二次:把狼带过去,返程时再把羊带回来;
第三次:把蔬菜带过去;
第四次:最后把羊带过去。
寻找解决问题方法,可以称之为算法
解决问题
第一次:先带羊过去;
第二次:把狼带过去,返程时再把羊带回来;
第三次:把蔬菜带过去;
第四次:最后把羊带过去。
寻找解决问题方法,可以称之为算法
算法的概念
算法的特征
问题:
1、判断抛物线y=5x2 +4x+6与X轴是否有交点。
2、设计一个算法,要求输入X的一个值后,输出相应的绝对值 。
算法:
1、计算 =42-4*5*6;
2、如果 >0,执行步骤3,否则执行步骤4;
3、输出有交点,结束;
4、输出无交点,结束。
分析项目 抛物线 绝对值
执行步骤个数
每一步是否明确可执行
是否有输入
是否有输出
4



4



算法的特征
有穷性:计算步骤是有限的
确定性:每一个步骤必须有确切的定义
数据输入:必须有0个或多个数据输入
数据输出:必须有1个或多个数据输出
可行性:每个步骤都可以在有限时间内完成
死循环?
随便进行?大致就行?
0个输入是算法本身给出了初始条件
无功而返?
可以得出结果。
算法的要素
如何确定工作多久?
如何记录进水量的 如何记录工作时间?
时间达标了会干嘛?不达标会干嘛?
数据
运算
控制转移
算法的描述
我们刚刚是如何描述一个算法的?
文字描述
→自然语言
流程图
算法的描述
流程图
伪代码
算法的描述
算法的描述
用计算机程序设计语音描述算法
基本结构—顺序结构
算法描述的方法 优势 不足
自然语言表示法 用人们日常所用的语言,比较容易掌握。 当算法中含有多分支或循环操作较多时很难清晰地表示出来,由于自然语言的歧义性,容易导致算法执行的不确定性。
流程图表示法 用程序框图来描述,流程描述清晰简洁。 所占篇幅较大,由于允许使用流程线,过于灵活,不受约束。
伪代码表示法 用介于自然语言和计算机语言之间的文字和符号来描述,书写方便,格式紧凑,易于理解,便于向计算机程序设计语言过渡。 由于编程语言的种类繁多,伪代码的语句不容易规范,有时会产生误解。
计算机程序设计语言 用计算机专门的语言来描述,精确性高,计算机可以直接运行。可移植,不同设备对于相同的代码都能运行 计算机语言的学习成本高
3.2 Python语言程序设计
3.2.1 Python语言基础
编程环境
图3.2.1 IDLE的操作界面
解释器操作界面
编辑器操作界面
编程环境
解释器操作界面
编辑器操作界面
敲一次回车运行一行代码
编辑完成后,运行所有代码
拓展链接
集成开发环境(IDE) 是提供程序开发环境的应用程序,一般包括代码编辑器、调试器和图形用户界面工具。目前,用于编写Python程序的IDE较多,如IDLE、Spyder、Wing、PyCharm等。如图3. 2. 2是Spyder的操作界面。
图3.2.2 spyder的操作界面
编辑器
解释器
数据类型与表达式
表3.2.1 Python常见数据类型
42.0是什么类型呢?
“42.0”是什么类型呢?
python 是弱类型语言,相对于强类型语言,它不需要声明变量的类型。甚至粗暴到连声明关键字都省略了。
数据按照其本身特征可以分为若干类型,常见的Python基本数据类型如表所示。
数据类型与表达式
数据
信息
分析
运算
01
02
03
Python算术运算符
Python关系运算符
Python逻辑运算符
算术运算符
算术运算是运用算术运算符进行数的加、减、乘、除等数学运算。
优先程度最高级别为1,级别数字越大,优先级越低。
a.2**10
b.3*4–5*6
c.123-123//100*100
d. "Who " + "Am " + "I "
字符串运算符:”*” 用于重复字符串
关系运算符
关系运算的结果是一个布尔值,若两个数据之间指定的关系成立,则结果为
真(True),否则为假(False)。
关系运算符的优先级全部相同,但低于算术运算符,优先级为4
关系运算符
表3.2.3 Python 关系运算符
逻辑运算法
表3.2.4 Python 逻辑运算符
逻辑运算符经常用于描述复杂情况的判断。
逻辑运算符的优先级各不相同:not 优先级为5,
and 优先级为6,
or优先级为7。
运算符的优先级
优先程度最高级别为1,级别数字越大,优先级越低。
和数学一样,括号的优先级最高,高于任何运算符,有括号先算括号
变量和赋值语句
运算符 描述 实例
= 基本赋值运算符 c=a+b将a+b的运算结果赋值给c
+= 加法赋值运算符 c+=a等效于c=c+a
= 减法赋值运算符 c =a等效于c=c a
*= 乘法赋值运算符 c*=a等效于c=c*a
/= 除法赋值运算符 c/=a等效于c=c/a
%= 取模赋值运算符 c%=a等效于c=c%a
**= 幂赋值运算符 c**=a等效于c=c**a
//= 取整除赋值运算符 c//=a等效于c=c//a
a = 160 ----变量为整型
b = “test” ----变量为字符型
x = y = z =1 ----多重赋值
x, y, z, = 1, 2, “string” ----多元赋值
a
b
x = y = z =
x, y, z,
变量在首次赋值时产生,
没赋值即不存在
a
3
5
a
5
变量就是存放值的一段内存空间
a = 5
a = 3
1.变量名通常由字母,数字,下划线(_)组成;
2.数字不能作为变量名开头;
3.不能以python中的关键字命名(False、and、if); 3.help('keywords')查看
4.建议变量名要有意义;
5.不建议用汉字和拼音去命名;
6.变量名要区分大小写(A和a是两个不同的变量);
7.建议使用驼峰型(GuessAge或guessAge)和下3. 3.划线(guess_ age)来命名;
8.常量通常使用全部大写来命名.
课堂小练
在Python Shell中输入:2+3*7,按回车键后,输出的结果是 ( )
A.35 B.33
C.23 D.2+3*7
A
A
A选项错误
B
B
B选项错误
C
C
C选项正确,本题考查算术运算符,即数学中的运算
D
D
D选项错误
2. 已知 x="20",y="21",z=x+y,则 print (z)的结果是 ( )
A.41 B.2021
C. ''41'' D. ''20"''21"
A
A
A选项错误
B
B
B选项正确,本题考查算术运算符在字符串中的运算
C
C
C选项错误
D
D
D选项错误
课堂小练
3. 下列Python表达式能正确表示数学表达式的是
A.(-b+b**2-4*a*c**0.5)/(2*a)
B.(-b+(b**2-4*a*c)**0.5)/(2*a)
C.-b+(b**2-4*a*c)**0.5/(2*a)
D.-b+(b**2-4*a*c**0.5)/(2*a)
A
A
A错误,其表示
B
B
B正确,本题考查算术运算符
C
C
C错误,其表示
D
D
D错误,其表示
4. 下列表达式的值为False的是 ( )
A.0 or True B.True or False
C.2<1 and 2<3 D. 10%3==6//5 and 6/2==3
A
A
A错误,or运算符只需要一侧有True就为True
B
B
B错误,or运算符只需要一侧有True就为True
C
C
C选项正确,and运算符有一侧为False则为False
D
D
D选项错误,and运算符两侧都True则为True
感谢一路有你

展开更多......

收起↑

资源预览