实践:百钱百鸡问题
📖 课本原文
运用计算机科学领域的思想方法,对给定的任务进行需求分析,提取问题的基本特征,进行抽象处理,并用“形式化”的方法表述问题,运用基本算法设计方案,最后编程解决问题。这样的思维方式可以有效地启迪计算思维。
中国古代数学家张丘建在他的《算经》中提出了著名的“百钱百鸡”问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何?
以计算思维解决问题:
- 提取问题的基本特征,并抽象为数学模型
设鸡翁为 x 只,鸡母为 y 只,鸡雏为 z 只,得到数学式:
- x + y + z = 100
- 5x + 3y + z/3 = 100
-
为数学模型设定边界条件:设鸡翁 x ≤ 100/5,鸡母 y ≤ 100/3,鸡雏 z ≤ 100。
-
用流程图的方式进行形式化表述。
-
使用“枚举”算法,用Python语言编程解决问题。
🎯 任务要求
| 步骤 | 任务 |
|---|---|
| 1 | 提取问题基本特征,抽象为数学模型 |
| 2 | 设定边界条件 |
| 3 | 用流程图进行形式化表述 |
| 4 | 使用枚举算法,用Python编程解决问题 |
💡 案例解读
| 要点 | 说明 |
|---|---|
| 问题来源 | 中国古代数学家张丘建《算经》 |
| 数学模型 | x + y + z = 100,5x + 3y + z/3 = 100 |
| 边界条件 | x ≤ 20,y ≤ 33,z ≤ 100 |
| 算法类型 | 枚举算法 |
| 实现方式 | 流程图 + Python编程 |
🔗 关联双链
- 课本章节:1.3_信息技术的影响
- 相关实践:实践_人机对弈小游戏体验
📎 知识延伸
- 枚举算法:列出所有可能的情况,逐一验证是否满足条件的算法
- 计算思维:运用计算机科学的思想方法解决问题的思维方式
- 数学模型:用数学语言描述实际问题的方法
- 边界条件:问题求解中变量的取值范围限制