内容正文:
3.2算法 及其描述
信息技术必修1《数据与计算》
上机课要求
上课前课代表同学提前与老师联系,确定上课事宜。
上课不能携带水、零食等进入机房。
进入机房按照编排机号入座,不得随意串座。
百钱百鸡问题
现有100钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只
要求:公鸡、母鸡,小鸡都要有,把100文钱花完,买的鸡的数量
正好是100。
问:一共能买多少只公鸡,多少只母鸡,多少只小鸡?
任务一:算法定义与特征。
要求:每个同学,认真阅读课本48-49页的内容,自主完成下表。
算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。
有穷性、确定性、数据输入、数据输出、可行性。
算法定义
算法特征
任务二:算法的描述
思考:请同学们用语言描述你是如何解决百钱买百鸡问题的?
用自然语言描述算法,就是用人们日常所用的语言,如:汉语、英语等来描述算法。
任务二:算法的描述
思考:刚才的语言描述解决百钱买百鸡问题时相对比较乱,有没有更清晰的表达方式?
用流程图描述算法是用程序框图来描述算法的一种表示方法。
任务二:算法的描述
用流程图描述算法:
任务二:算法的描述
思考:计算机能够帮助我们求解吗?
用伪代码描述算法就是用介于自然语言和计算机语言之间的文字和符号来描述算法。
任务二:算法的描述
百钱百鸡算法代码二
cock in range(5,101,5): # 公鸡
for hen in range(3,101 - cock,3): #母鸡
for chick in range(1,101 - cock - hen): #小鸡
if cock // 5 + hen // 3 + chick * 3 == 100 and cock + hen + chick == 100:
print("公鸡有%d只\t母鸡有%d只\t小鸡有%d只" % (cock // 5, hen // 3, chick * 3))
任务二:算法的描述
百钱百鸡算法代码一
for cock in range(1,101): # 公鸡
for hen in range(1,101): #母鸡