资源简介 (共27张PPT)第二单元 编程计算2.1.1 计算机解决问题的过程人工计算心算笔算口算一、计算的方式计算机计算自动工具计算编程计算使用现有的软件进行计算自己编写程序进行计算数据在运算符的操作下,按规则进行的数据变换,这是简单计算中的算数计算通过建立分析模型和设计有效的步骤、方法,利用自动计算工具来进行规律预测和发现,这是计算机领域的计算《孙子算经》——鸡兔同笼今有鸡兔同笼,上有三十五头;下有九十四足,问鸡兔各几何?二、鸡兔同笼问题有哪些方法可以解决鸡兔同笼问题?1、人工计算方式解决“鸡兔同笼”问题今有鸡兔同笼,上有三十五头;下有九十四足,问鸡兔各几何?方法一:方程法思路通过方程式求解设兔的只数为x,鸡的只数为y。关系式:①兔的只数+鸡的只数=35②兔的脚数=兔的只数x4③鸡的脚数=鸡的只数x2④兔的脚数+鸡的脚数=94步骤根据题意可列方程组:x+y=35 ①4x+2y=94 ②解得:x=12 y=23二、鸡兔同笼问题今有鸡兔同笼,上有三十五头;下有九十四足,问鸡兔各几何?方法二:抬脚法(假设法)思路假如鸡与兔子都抬起两只脚,剩下的脚全是兔子的,用剩下的脚数量除以2就得到了兔子的数量。步骤①假设鸡兔都抬两只脚,抬起脚的总数为:35x2=70(只)②地上还剩的脚数:94-70=24(只)③地上的脚全是兔子的,用剩余数除以2即兔子的数量:46/2=12(只)④鸡的数量:35-12=23(只)1、人工计算方式解决“鸡兔同笼”问题二、鸡兔同笼问题今有鸡兔同笼,上有三十五头;下有九十四足,问鸡兔各几何?方法三:列表法思路借助表格,把鸡和兔子所有的情况都列举出来,筛选符合条件的即为鸡和兔子的数量“鸡兔同笼”问题(35头94脚) 兔的 只数 鸡的 只数 兔脚 总数 鸡脚 总数 共有脚数12……342、电子表格软件方式解决“鸡兔同笼”问题二、鸡兔同笼问题35头,118脚,鸡兔各几何?72头,168脚,鸡兔各几何?200头,620脚,鸡兔各几何?思考……n头,m脚,鸡兔各几何?二、鸡兔同笼问题此时人工和电子表格的计算方式还适合解决问题吗?3、编程方式解决“鸡兔同笼”问题二、鸡兔同笼问题二、鸡兔同笼问题三、计算机解决问题的过程用编程解决鸡兔同笼问题需要几步?分析问题设计算法编写程序调试与维护比较不同计算方式的特点计算方式 考察的方面 使用成本 使用方便性 计算速度 适用情境人工计算 低 易 慢 数据量、计算量比较少的问题情境自动工具计算 高 易 较快 现有的软件可以解决当前的问题需求编程计算 高 难 非常快 数据量、计算量比较大的问题情境5. 关于人工计算、自动计算工具计算和编程计算三种计算方式,下列说法正确的是( )A. 对于简单的计算问题,人工计算的使用成本是三中计算方式中最低的B. 对于复杂的就散问题,通常不采用人工计算来解决C. 依据实情,灵活运用三种计算方式将有助于我们提高数据计算的效率D. 由于计算机的日益普及,编程解决计算问题是最方便的ABC习题比较思想print('这是一个有关鸡兔同笼问题的程序')heads=int(input('请输入总的头数:'))legs=int(input('请输入总的脚数:'))for tu in range(1,heads-1):leg=4*tu+2*(heads-tu)if leg==legs:print('兔子有:',tu,'头')print('鸡有:',int(heads-tu),'头')input("运行完毕,请按回车键退出...")print('这是一个有关鸡兔同笼问题的程序')heads=float(input('请输入总的头数:'))legs=float(input('请输入总的脚数:'))tu=int((legs-heads*2)/(4-2))print('兔子有:',tu,'头')print('鸡有:',int(heads-tu),'头')input("运行完毕,请按回车键退出...")抬脚法列表法四、算法算法是解决问题的方法和步骤。1、什么是算法?确定要购买的物品挑选、比较收银台付款四、算法2、算法的描述用自然语言描述01用流程图描述02用程序设计语言描述03四、算法2.1 使用自然语言描述算法自然语言是指人们日常生活中使用的语言,汉语、英语、德语等都是自然语言。1. 显示程序描述2. 显示输入总头数及总脚数的提示3. 输入总头数和总脚数的数据4. 计算兔子和鸡的数量5. 输出兔子和鸡的总数6. 程序结束自然语言描述算法简单其通俗易懂,但容易产生歧义四、算法2.2 使用流程图描述算法流程图也称为程序框图,是算法的一种图形化表示方法。与使用自然语言描述算法相比,流程图描述算法形象、直观、更容易理解。四、算法2.2 使用流程图描述算法开始输入总头数和总脚数的数据输出兔子和鸡的总数计算兔子和鸡的数量结束显示程序描述、输入总头以及总脚数的提示四、算法2.3 使用程序设计语言描述算法开始显示程序描述、输入总头以及总脚数的提示输入总头数和总脚数的数据输出兔子和鸡的总数计算兔子和鸡的数量结束print('这是一个有关鸡兔同笼问题的程序')heads=float(input('请输入总的头数:'))legs=float(input('请输入总的脚数:'))tu=int((legs-heads*2)/(4-2))print('兔子有:',tu,'头')print('鸡有:',int(heads-tu),'头')input("运行完毕,请按回车键退出...")四、算法五、算法的基本结构AB条件?AB否是A条件?是否3 循环结构1 顺序结构2 分支(选择)结构1、顺序结构顺序结构是最简单的程序结构,它的执行顺序是自上而下,依次执行。AB输入数字a输入数字b输出a+b开始结束例题输入数字a,b,计算两个数字之和并输出,用算法怎么表示这个过程?五、算法的基本结构2、分支结构/选择结构用于根据给定的条件进行判断的结构。通过判断条件是否成立,来决定执行哪个分支,从而控制程序的流程。输入正整数a是否是3的倍数是3的倍数开始结束例题输入一个正整数a,判断该数字是否为3的倍数,如果是则输出”是3的倍数“,否则输出”不是3的倍数“条件?AB否是不是3的倍数否是五、算法的基本结构3、循环结构循环结构是一种重复某一部分操作的结构。在条件控制下,某些操作步骤需要重复执行(循环),在不满足重复处理的条件时,循环结束。跑一圈是否跑满5圈开始结束例题在某次跑步测试中,要求学生围着操场跑5圈,每跑一圈判断一下是否跑完5圈,直到跑完5圈结束跑步。用算法怎么表示这个过程 否是A条件?是否五、算法的基本结构三种结构共同特点只有一个入口。只有一个出口。结构的每一部分都有机会被执行到。即每一个框都有一条从入口到出口的路径经过它。结构内不存在“死循环”(无终止的循环)五、算法的基本结构AB条件?AB否是六、程序设计语言的发展机器语言二进制指令 16位1011010001111010汇编语言英文助记符ADD A,B符号汇编语言/汇编语言计算机低级语言高级语言英文单词printf(“世界,你好!\n”);源程序 目标程序可读性更强,便于修改、维护编译软件谢谢聆听 展开更多...... 收起↑ 资源预览