3.1-3.2体验计算机解决问题的过程及算法的描述 课件(共21张PPT)-2022—2023学年高中信息技术粤教版(2019)必修1

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

3.1-3.2体验计算机解决问题的过程及算法的描述 课件(共21张PPT)-2022—2023学年高中信息技术粤教版(2019)必修1

资源简介

(共21张PPT)
第三章 算法基础
第三章 算法基础
Chapter Three Algorithm Basics
汇报人
时间:05.16
体验计算机解决问题的过程
第一部分
算法及其描述
第二部分
CONTENTS
目录
第三章 算法基础
创设情景,提出问题
开学时同学们纷纷购买用于学习的各种文具,假如同学手中有50元现金,分别购买单价为6元的笔记本,单价为5元的签字笔,和单价为4元的橡皮,每种文具至少一个,请问各种文具应该购买何种数量,才能让手中的资金最大化利用(即刚好用完)呢?
笔记本
单价:6元/本
签字笔
单价:5元/支
橡皮
单价:4元/块
需求分析
问题描述:
三种商品单价分别为6元,5元,4元;
用于购买商品的总资金为50元;
需求:
现求三种商品分别的购买数量,可让资金刚好用完(要求每种商品的购买数量不得小于1)。
如果假设购买三种文具的数量分别为x,y,z
同学们是否可以据此列出含有x,y,z的数学方程来表达这一关系呢?
思考
第三章 算法基础
小组讨论
讨论要求:
(1)列出含有x,y,z的求解方程
(2)分析x,y,z的取值是否存在界限范围,如果有,这个界限范围是多少?
(3)求解该方程的方法是什么?
6x+5y+4z=50
极限情况下,假设y和z都为1,则x可取到最大值为6,同理,y有最大值为8,z有最大值为10
故,1 ≤ x ≤ 6,1 ≤ y ≤ 8,1 ≤ z ≤ 10
第三章 算法基础
问题解决
由于三元一次方程6x+5y+4z=50不存在其它约束条件,可以尝试把x,y,z的取值都计算一次来判断其是否满足条件:
思路: 令y=1,z=1,令x=1,计算6x+5y+4z是否等于50;
令y=1,z=1,令x=2,计算6x+5y+4z是否等于50;
……
令y=1,z=1,令x=6,计算6x+5y+4z是否等于50;
……
令y=2,z=1,令x=6,计算6x+5y+4z是否等于50;
找到:x=6,y=2,z=1是方程的一个正整数解,但是……解唯一吗?


第三章 算法基础
第三章 算法基础
算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗的说就是用计算机求解某一问题的方法,是能被机械执行的动作或指令的有穷集合。
自然语言描述算法
使用日常交流所用语言来描述算法(如汉语、英语等)
例:
①输入a,b的值;
②如果a大于b,则把a的值赋值给max。如果a不大于b,则把b的值赋给max;
③输出max;
流程图描述算法
使用程序框图来描述算法
Max=b
Max=a
开始
结束
a>b?
输入a、b
输出Max
Y
N
第三章 算法基础
描述算法的常用方法(比较a,b的大小,并输出较大的数)
开始/结束
输入/输出
处理框
判断框
流程线
连接点
流程图又叫程序框图,是算法的一种图形化表示方法,相较于自然语言,更形象、直观、易理解。使用流程图描述算法可使算法的流程描述的清晰、简洁。
流程图的基本图形及其功能
第三章 算法基础
自然语言描述算法
流程图描述算法
使用程序框图来描述算法
Max=b
Max=a
开始
结束
a>b?
输入a、b
输出Max
Y
N
伪代码描述算法
介于自然语言与计算机语言之间的文字与符号。不使用图形符号,书写方便 ,易于理解。
例:
if a>b:
max=a
第三章 算法基础
描述算法的常用方法(比较a,b的大小,并输出较大的数)
使用日常交流所用语言来描述算法(如汉语、英语等)
例:
①输入a,b的值;
②如果a大于b,则把a的值赋值给max。如果a不大于b,则把b的值赋给max;
③输出max;
设计算法
① t=0(把0赋值给t);
② x=1;
③ y=1;
④ z=1;
⑤ 如果满足式子6x+5y+42=50,则解的个数加t (即t=t+1),并输出这个解(即输出t,x,y,z的值) ;
⑥ z=z+1(把z+1的值赋值给z);
⑦ 如果z≤10则转步骤⑤,否则继续步骤⑧;
⑧ y=y+1;
⑨ 如果y≤8则转步骤④,否则继续步骤⑩;
⑩ x=x+1;
如果x≤6则转步骤③,否则继续步骤 ;
结束。
自然语言描述算法
流程图描述算法
第三章 算法基础
设计算法
用伪代码描述算法
t=0
for x in range(1,7):
for y in range(1,9):
for z in range(1,11):
if(x*6+y*5+z*4==50)
{t=t+1;
输出解的个数t和三个整数x,y,z}
第三章 算法基础
编写程序
第三章 算法基础
打开python编辑器尝试编写程序
调试运行程序
打开老师文件下的“三元一次方程1、2、3、4”并运行程序
语法错误
第三章 算法基础
调试运行程序
打开老师文件下的“三元一次方程5”并运行程序
算法有问题
逻辑错误
修改程序的错误后再调试运行
第三章 算法基础
根据“三元一次方程”程序,总结算法的特征
有穷性 执行有穷步之后结束,计算步骤是有限的
确定性 执行的每一步骤都必须有确切的定义
数据输入 0个或多个数据输入
数据输出 1个或多个数据输出
可行性 基本可执行步骤的集合,有限时间内完成。
第三章 算法基础
分析问题
求最佳购买方案、已知商品单价和总价、求最佳购买方案,转化为求三元一次方程6x+5y+4z=50正整数解集
设计算法
遍历所有取值可能
编写程序
用Python语言实现计算程序
调试运行
运行程序,得出结果
第三章 算法基础
计算机解决问题的一般步骤
02 算法及其描述
三种基本控制结构
使用三种基本控制结构组合来描述算法,可以改善算法的清晰度,提高算法的可读性。
第三章 算法基础
小明编写好解密程序后,调试运行时,程序没有报错且能顺利运行,却不能正确解密,造成这个结果的原因是(  )。A.解密算法逻辑错误 B.程序语句语法错误C.程序过期了 D.程序设计窗口配置不对
人们利用计算机解决问题的基本过程为( )
①调试运行程序 ②分析问题 ③设计算法 ④问题解决 ⑤编写程序
A①②③④⑤ B②④③⑤① C④②③⑤① D②③⑤①④
D
A
6步骤①输入圆的半径; 步骤②求圆的面积; 步骤③输出圆的面积。
以上算法的描述方法属于( )
A.自然语言描述法 B.流程图描述法 C.伪代码描述法 D.简码描述法
A
第三章 算法基础
实践
在《几何原本》一书中,欧几里得阐述了关于求两个正整数的最大公约数的过程,这就是著名的欧几里得算法——辗转相除法,其具体过程如下:
设给定的两个正整数为m和n,求它们的最大公约数的步骤为:
以m除以n,令所得的余数为R。
若R=0,则输出结果n,算法结束;否则,继续步骤③。
令m=n,n=R,并返回步骤①继续进行。
用流程图将上述算法表示出来,试探索欧几里得算法在现实生活中有哪些应用,举出两个应用实例。
汇报人
时间:05.16
THANKS

展开更多......

收起↑

资源预览