实践:百钱百鸡问题

📖 课本原文

运用计算机科学领域的思想方法,对给定的任务进行需求分析,提取问题的基本特征,进行抽象处理,并用“形式化”的方法表述问题,运用基本算法设计方案,最后编程解决问题。这样的思维方式可以有效地启迪计算思维。

中国古代数学家张丘建在他的《算经》中提出了著名的“百钱百鸡”问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何?

以计算思维解决问题:

  1. 提取问题的基本特征,并抽象为数学模型

设鸡翁为 x 只,鸡母为 y 只,鸡雏为 z 只,得到数学式:

  • x + y + z = 100
  • 5x + 3y + z/3 = 100
  1. 为数学模型设定边界条件:设鸡翁 x ≤ 100/5,鸡母 y ≤ 100/3,鸡雏 z ≤ 100。

  2. 用流程图的方式进行形式化表述。

  3. 使用“枚举”算法,用Python语言编程解决问题。

🎯 任务要求

步骤任务
1提取问题基本特征,抽象为数学模型
2设定边界条件
3用流程图进行形式化表述
4使用枚举算法,用Python编程解决问题

💡 案例解读

要点说明
问题来源中国古代数学家张丘建《算经》
数学模型x + y + z = 100,5x + 3y + z/3 = 100
边界条件x ≤ 20,y ≤ 33,z ≤ 100
算法类型枚举算法
实现方式流程图 + Python编程

🔗 关联双链

📎 知识延伸

  • 枚举算法:列出所有可能的情况,逐一验证是否满足条件的算法
  • 计算思维:运用计算机科学的思想方法解决问题的思维方式
  • 数学模型:用数学语言描述实际问题的方法
  • 边界条件:问题求解中变量的取值范围限制