1、2019粤教版信息技术必修一 数据与计算 3.1体验计算机解决问题的过程 3.2算法及其描述 3.3计算机程序与程序设计语言 第三章 算法基础 3.1.1 人工解决问题的过程 3.1.2 计算机解决问题的过程 3.1体验计算机解决问题的过程 1.人工解决问题的过程 人工解决问题的过程 思考:你会如何解决下面这一问题思考:你会如何解决下面这一问题 求求1+2+3+1001+2+3+100的和的和 由于你没有高斯聪明,所以你不被允许使用等差数由于你没有高斯聪明,所以你不被允许使用等差数 列求和公式直接求出答案。列求和公式直接求出答案。 人工解决问题的过程 明确所要解决的明确所要解决的 问题和给出的
2、条问题和给出的条 件件 根据已有的经验根据已有的经验 和知识确定解决和知识确定解决 问题的方法问题的方法 解决问题解决问题 人工解决问题的过程 1+2+3+1001+2+3+100 方法方法1 1 :直接计算从:直接计算从1+1+到到100100 方法方法2 2: 首位相加:首位相加: 1+100,2+99+50+51 1+100,2+99+50+51 最后是最后是101101* *50=505050=5050。 如果是如果是1+2+3+10001+2+3+1000?或者?或者 1+2+3+100001+2+3+10000? 如何求解?如何求解? 在现实生活中,我们经常需要对数据进行统计、分在
3、现实生活中,我们经常需要对数据进行统计、分 析。当数据量不多时,我们可以采取人工方法来处析。当数据量不多时,我们可以采取人工方法来处 理;当数据量变多,人工效率变低时,我们可以借理;当数据量变多,人工效率变低时,我们可以借 助计算机,通过编写计算机程序解决问题助计算机,通过编写计算机程序解决问题 3.1.2计算机解决问题的过程 计算机解决问题的过程 分析问题分析问题 设计算法设计算法 编写程序编写程序 调试运行程调试运行程 序序 1.分析问题 1+2+3+4+5+100 不断叠加,求和 即0+1 0+1+2 0+1+2+3 0+1+2+3+4 . 0+1+2+3+100 在前面一个求和式子的基
4、础上叠加上第二个数i+1 2.设计算法 1.设定初始值i=1,s=0 2.s=s+i 3.i=i+1 4.重复第2步操作 5.当i100,输出结果s 6.结束 3.编写程序 s=0 for i in range(1,101): s=s+i print(s) 4.调试运行程序 如果程序语法有错误,程序运行时计算机会给出提如果程序语法有错误,程序运行时计算机会给出提 示信息,人们可根据提示修改程序,直到无错;示信息,人们可根据提示修改程序,直到无错; 我们还需要对结果进行验证,因为我们还需要对结果进行验证,因为逻辑错误或计算逻辑错误或计算 方法错误计算机无法检查方法错误计算机无法检查。所以若出现后
5、一种情况,。所以若出现后一种情况, 可能需要返回前几步进一步修改,直到满意可能需要返回前几步进一步修改,直到满意。 总结 步骤步骤计算速度以及精计算速度以及精 确度确度 自动化自动化 人工解决问题人工解决问题 分析题目运 用已有知识经 验解决问题 计算速度慢,准 确性不高 不具有 计算机解决问计算机解决问 题题 分析问题设 计算法编写 程序调试运 行程序 计算速度快且准具有一定自动化 练习 1 1编写程序的任务就是用一种计算机程序设计语编写程序的任务就是用一种计算机程序设计语 言来描述问题求解的算法。()言来描述问题求解的算法。() 2 2调试程序时,如果程序语法有错误调试程序时,如果程序语法
6、有错误, ,计算机不会计算机不会 给出提示信息。()给出提示信息。() 3 3程序以文件形式保存在存储器中。()程序以文件形式保存在存储器中。() 4 4分析问题就是从具体的问题中分析问题就是从具体的问题中, ,明确条件和需求明确条件和需求, , 找出条件和需求之间的关系找出条件和需求之间的关系, ,并尽量用数学的语言并尽量用数学的语言 加以描述。()加以描述。() 5 5一位爱好程序设计的同学,想通过程序设计解一位爱好程序设计的同学,想通过程序设计解 决鸡兔同笼的问题,他制定的如下工作过程中,更决鸡兔同笼的问题,他制定的如下工作过程中,更 恰当的是()。恰当的是()。 A A分析问题、设计算
7、法、编写程序、调试运行,分析问题、设计算法、编写程序、调试运行, 检测结果检测结果 B B分析问题、编写程序、运行程序、得到答案分析问题、编写程序、运行程序、得到答案 C C设计算法、编写程序、调试程序、得到答案设计算法、编写程序、调试程序、得到答案 D D分析问题、设计程序、编写程序、运行程序分析问题、设计程序、编写程序、运行程序 6 6编制计算机程序解决问题时编制计算机程序解决问题时, ,一般分为五个过程一般分为五个过程: : 分析问题、设计算法、编写程序、()及检测结分析问题、设计算法、编写程序、()及检测结 果。果。 A A调试运行调试运行 B B编制程序框图编制程序框图 C C编译程序编译程序 D D选择程序设计语言选择程序设计语言