内容正文:
镇雄长风中学 杨鹏
第二章 算法的程序实现
必修1《数据与计算》
1、用计算机编程解决的一般过程
1
开始
分析问题
寻找方法
有现成工具软件?
用已有的处理工具解决问题
编写程序
解决问题
结束
是
否
算法与程序两者之间的关系
算法是程序设计的依据,程序设计是算法实现的一种方式。先有算法,后有程序。
在用计算机进行数据处理时,要对各种现实问题进行抽象,探寻计算机自动化的规律,这样才能在程序设计基础上,让计算机实现有效功能。
算法的可行性和确定性可以通过程序设计来验证,根据程序测试反馈信息对算法进行优化,从而提高解决问题效率。
2.1.2算法的描述
必修一:数据与计算
程序设计语言
机器语言
第一代
二进制代码0、1组成,能被计算机直接识别。理解和记忆机器语言非常困难易错,编程效率低。
第二代
汇编语言
是符号化的机器语言,采用英文助记符,容易记忆和识别,可读性强。但它要求软件工程师对相应的机器硬件非常熟悉。
第三代属于高级语言
高级语言是一种独立于机器,面向过程或对象的语言。高级语言是参照数学语言而设计的近似于日常会话的语言。比较流行的高级语言有Java、C/C++、Python等,程序的可读性好,也便于修改、维护。
第三代
高级语言
第一代、第二代属于低级语言
2.1.2算法的描述
必修一:数据与计算
2024年年中,CSDN&《新程序员》发布《2024中国开发者调查报告》显示:Python在数据科学和人工智能领域有着广泛的应用,因此也有着较高的使用率,占比达到 35%,排行第二!
2.1.2算法的描述
必修一:数据与计算
Python程序设计语言
Python是一种面向对象的解释型计算机程序设计语言,由荷兰国家数学与计算机科学研究中心的吉多·范·罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
Python的设计哲学是“优雅”、“明确”、“简单”
Python是面向对象的高级程序设计语言,它具有简单、免费、开源和可移植性等特点。
Python已经被移植到许多平台上。这些平台包括Unix/Linux、Windows、Mac OS。
2.1.2算法的描述
必修一:数据与计算
Python
python编程三剑客新版
Python程序设计语言
2.1.2算法的描述
必修一:数据与计算
Python从业者月薪最高,平均25.6万。大厂高薪背后是顶尖学历和技术。普通人需不断学习提升技术,才能获得高薪。
能力越大,责任越大,你领多高的工资,意味着你要付出多大的苦。所以我们普通人想要拿高工资,就必须不断地学习和丰富自己的技术,这不是鸡汤,这是现实,公司不会无缘无故的给你高薪的。
2.1.2算法的描述
必修一:数据与计算
抽象与建模
设计算法
描述算法
用算法解决问题的过程
算法要素(变量)、计算模型
算法特征、结构化程序设计思想
自然语言、流程图及伪代码
计算机已经成为人们解决问题的重要工具。一般来说,用计算机解决一个具体问题时,大致经过以下几个步骤:首先要从具体问题抽象出一个适当的数学模型,然后设计一个解此数学模型的算法,最后编出程序进行测试调整知道的到最终解答。寻求数学模型的实质就是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。
必修一:数据与计算
开始
分析问题
寻找方法
有现成工具软件?
用已有的处理工具解决问题
编写程序
解决问题
结束
是
否
算法与程序两者之间的关系
算法是程序设计的依据,程序设计是算法实现的一种方式。先有算法,后有程序。
在用计算机进行数据处理时,要对各种现实问题进行抽象,探寻计算机自动化的规律,这样才能在程序设计基础上,让计算机实现有效功能。
算法的可行性和确定性可以通过程序设计来验证,根据程序测试反馈信息对算法进行优化,从而提高解决问题效率。
必修一:数据与计算
程序语言的发展
机器语言
由二进制的0、1代码指令构成,能被计算机直接识别。但理解和记忆机器语言非常困难,并且容易出错,编程效率低。
汇编语言
是符号化的机器语言,采用英文助记符代替机器指令,容易记忆和识别,提高了程序的可读性。但它是面向机器的语言,是为特定的计算机系统设计的,它要求软件工程师对相应的机器硬件非常熟悉,所以仍是低级语言。
高级语言
更接近自然语言,并不特指某一语言,也不依赖于特定的计算机系统,因而更容易掌握和使用,通用性也好。比较流行的高级语言有Java、C/C++、Python等,程序的可读性好,也便于修改、维护。
必修一:数据与计算
程序设计语言
第一代
第二代
第三代
机器语言
汇编语言
高级语言
C#
C++
Java
PHP
Python
二进制代码0、1组成,能被计算机直接识别。理解和记忆机器语言非常困难易错,编程效率低。
是符号化的机器语言,采用英文助记符,容易记忆和识别,可读性强。但它要求软件工程师对相应的机器硬件非常熟悉。
是一种独立于机器,面向过程或对象的语言。高级语言是参照数学语言而设计的近似于日常会话的语言。比较流行的高级语言有Java、C/C++、Python等,程序的可读性好,也便于修改、维护。
C
VB
……
必修一:数据与计算
Python语言概述
Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum(吉多-范-罗苏姆)于1989年发明,第一个公开发行版发行于1991年。
Python的设计哲学是“优雅”、“明确”、“简单”
Python是面向对象的高级程序设计语言,它具有简单、免费、开源和可移植性等特点。
Python已经被移植到许多平台上。这些平台包括Unix/Linux、Windows、Mac OS。
3.2 Python语言程序设计
必修一:数据与计算
Python语言适合用于做什么?
软件开发
数据挖掘
大数据分析
系统运维
人工智能
深度学习
Web开发
游戏开发
3.2 Python语言程序设计
必修一:数据与计算
3.2 Python语言程序设计
Python从业者月薪最高,平均25.6万。北京程序员薪资最高,平均16.48万。大厂高薪背后是顶尖学历和技术。普通人需不断学习提升技术,才能获得高薪。
最后,我想说,能力越大,责任越大,你领多高的工资,意味着你要付出多大的苦。公司不会无缘无故的给你高薪的。
必修一:数据与计算
学习Python可拓宽就业方向
3.2 Python语言程序设计
必修一:数据与计算
情境导入
如何使用计算机绘制下面三种图案?
必修一:数据与计算
使用Windows自带的画图软件可以画出正方形和五角星,阴阳图需要利用计算机编程来解决问题。
情境导入
必修一:数据与计算
海龟绘图(turtle模块)
想象在绘图区有一只小海龟(画面显示一个箭头代表小海龟的头),起始位置在 x-y 平面的 (0, 0) 点,面向x轴正方向。小海龟根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
必修一:数据与计算
画
一
个
正
方
形
海龟绘图(turtle模块)
必修一:数据与计算
程序设计语言发展阶段:
机器语言(由0和1组成的指令)
汇编语言(用英文字母和数字表示指令)
高级语言(接近于人的自然语言和数学语言)
16位计算机的机器指令为:1101001000111011
汇编语言指令为:add2,3,result,运算结果写入result
低级语言
高级语言代码为:result=2+3
执行数字2和3的加法
必修一:数据与计算
同学们你们遇到问题,要解决问题应该怎么做呢?
分析问题
寻找解决问题的
途径与方法
解决问题并
验证结果
提出
问题
分析
问题
设计
方案
编程
调试
解决
问题
必修一:数据与计算
计算机解决问题的过程
抽象、界定和描述问题。
描述方式可以是数学模型、文字、表格或图形等。
提出
问题
分析
问题
设计
方案
编程
调试
解决
问题
(1)将求解过程分解为若干个相对独立的功能。
(2)为每个独立的功能设计操作步骤,即进行算法设计。
必修一:数据与计算
编写程序,修改错误,分析、验证结果。
提出
问题
分析
问题
设计
方案
编程
调试
解决
问题
计算机解决问题的过程
必修一:数据与计算
练一练
1.下列步骤是用计算机解决物质密度计算问题时经历的三个阶段:( )
①编制计算机程序,用计算机进行处理
②设计“根据物质的质量与体积计算密度”的算法
③明确任务为“根据物质的质量与体积计算密度”,确定密度计算公式
上述阶段的正确顺序是:
A.③②①
B.③①②
C.①②③
D.①③②
A
必修一:数据与计算
2. 下图是判断方程ax2+bx+c=0(a≠0)有无实根的部分流程图,则图中虚线部分的内容是: ( )
C
练一练
必修一:数据与计算
3.如图所示的流程图: 该算法完成的功能是:( )
A.计算y=1+2+3+4+5
B.计算y=1×2×3×4×5
C.计算y=1+2+3+4
D.计算y=1+3+5+7
C
练一练
必修一:数据与计算
3.2 Python语言概述
Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum(吉多·范·罗苏姆)于1989年发明,第一个公开发行版发行于1991年。
Python的设计哲学是“优雅”、“明确”、“简单”
Python是面向对象的高级程序设计语言,它具有简单、免费、开源和可移植性等特点。
Python已经被移植到许多平台上。这些平台包括Unix/Linux、Windows、Mac OS。
必修一:数据与计算
Python语言适合用于做什么?
软件开发
数据挖掘
大数据分析
系统运维
人工智能
深度学习
Web开发
游戏开发
Python能做什么?
必修一:数据与计算
学习Python可拓宽就业方向
必修一:数据与计算
使用Python运行环境
调用已安装的IDLE来启动Python运行环境
Python运行环境
必修一:数据与计算
Python语言的开发环境
启动Python3.9在Python shell中打开多行代码编辑窗口(File->New File),编写或直接粘贴程序并运行,运行中会要求保存一个.py文件;也可双击.py文件直接运行。
(文件式)
(交互式)
必修一:数据与计算
IDLE环境下运行
输出的字符要在双引号,或单引号内
你能在书上找到输入函数吗?
IDLE:integrated Development and learning environment
Python集成开发环境。
基本功能:语法加亮;段落缩进;基本文本编辑;Table键控制;调试程序。
认识第一个函数
输出函数 Print( )
Print( )-------要输出的内容在小括号内参照右边的提示,你来试试看?
输出字符、数字、算式有什么不同呢?
同时输出多个数据
Print(内容1,内容2,内容3)
必修一:数据与计算
✹同学们,输入代码看看是啥效果呀
from turtle import *
color('red', 'yellow')
begin_fill()
while True:
forward(200)
left(170)
if abs(pos()) < 1:
break
end_fill()
done()
所有输入区分大小写,符号在英文状态下输入。
“Shift”键就切换到英文输入状态,再按一下“Shift”键就会返回中文状态。
ctrl+shift是切换输入法!
Capslock 大写字母切换键
绘制单个五角星
IDLE环境下运行
必修一:数据与计算
学生活动
小组合作讨论,编程画一个五角星并填充红色。
必修一:数据与计算
绘制双子星
from turtle import *
color('red', 'yellow')
begin_fill()
hideturtle()
speed(10)
while True:
forward(200)
right(144)
if abs(pos()) < 1:
break
while True:
back(200)
left(144)
if abs(pos()) < 1:
break
end_fill()
done()
学生活动
必修一:数据与计算
活动1:学生小组合作讨论,编程画一个正五边形。
学生活动
必修一:数据与计算
学生活动
海龟绘图
(turtle模块)
活动2:教师演示并讲解画圆的方法
必修一:数据与计算
活动3:学生小组合作讨论,编程画一个靶心图形,并为各圆环填充不同的颜色。
学生活动
必修一:数据与计算
学生活动
活动4:学生小组合作讨论,编程画一个黑白阴阳图形。
必修一:数据与计算
活动5:绘制双花
复制代码
1 from turtle import *
2
3
4 speed(10)
5 color('red', 'yellow')
6 begin_fill()
7 while True:
8 forward(200)
9 right(164)
10 if abs(pos()) < 1:
11 break
12 while True:
13 back(200)
14 left(164)
15 if abs(pos()) < 1:
16 break
17 end_fill()
18 done()
学生活动
必修一:数据与计算
活动6:组织学生发挥想象——我想让计算机绘制什么样的图形,我能对程序做什么?学生开始设计算法,修改并尝试调试程序。
学生活动
必修一:数据与计算
本节课到此结束
$