(
课件网) 把苹果装进冰箱分成几步? 第1课 算法与问题解决 算法 算法就是解决某类问题的方法和步骤。 算法 从广义上讲,算法是指按照一定规则解决某类问题时采取的,明确的、有限的、可执行的操作步骤,能够将一定规范的输入在有限时间内转化为所需要的输出。 有穷性 确定性 有输出 算法的特征 讨 论 解决同一个问题的算法就只有一种吗? 起点 终点 导航 算法的描述 可以用自然语言、流程图、伪代码、计算机程序等来描述。 一个机器人,沿着一个边长为10米的正方形场地行走一周,那么它的算法是怎么样的呢? 算法的描述 算法的描述 第1步:前进十米 第2步:右转90° 第3步:前进十米 第4步:右转90° 第5步:前进十米 第6步:右转90° 第7步:前进十米 第8步:右转90° 用自然语言描述 用流程图描述 算法的描述 用流程图描述 伪代码 伪代码是介于自然语言和计算机程序之间的一种算法描述,关键词的语句一般用英文单词,其他语句可以用英文语句,也可以用汉语语句。 算法的描述 计算机程序 计算机程序是一组指令的集合,用来告诉计算机如何执行某个任务,它可以用各种编程语言来编写,如C、C++、Java、python等。 算法是计算机程序设计的基础,计算机程序是算法的具体体现。 算法的描述 学校要进行校徽设计比赛,我们班有两个作品要选出一个作品参加学校比赛。请问有哪几个步骤,有哪些方法可以实现这些步骤? 讨 论 算法的描述 第1步:准备好两个作品、选票并分发选票 第2步:对两个作品进行投票,一人一票 第3步:收齐选票,进行唱票 第4步:统计投票结果 第5步:公布投票结果 全班45人 全校2018人? 更优的方法去实现算法? 利用算法来解决问题有多种途径,如由人工来实施,或由计算机通过控制与计算实现等,不同的途径适用于不同的场景。 算法的实现 人工实施 计算机实现 使用计算机实现算法解决问题主要经历问题分析、抽象与建模、设计算法、验证与优化算法等过程。 算法的实现 算法的实现 一、抽象与建模 解决问题首先要对问题进行分析,抽象出关键要素,依据抽象规则,建立模型。 (1)确定变量 解决该问题的关键要素包括:两个候选人的作品编号、1000名学生的投票情况(1000次投票、每一次的投票情况、A作品得票情况、B作品得票情况)。 a b tp A作品得票情况 B作品得票情况 每一次的投票情况 (2)抽象规则 tp的值决定了是a+1还是b+1。 如当tp为“a”时,表示投票给B作品,则a=a+1(A作品得票数增加1); 当tp为“b”时,表示投票给B作品,则b=b+1(B作品得票数增加1) a=a+1,表示现将变量a的值加上1,再将结果存储回变量a中,一般用来表示递增。 (3)建立模型 在抽象的基础上,总结规律、建立模型是设计算法的前提。 建立模型时可以借助公式、表格、图示等方法。 a b tp . . . . . . b a tp=“a” tp=“b” +1 +1 二、设计算法 设计算法时,要确定算法的输入与输出,并合理地选择控制结构,准确、有序地描述解决问题的步骤。 三、验证算法 在计算机中可以通过编写并运行程序来验证算法。 如果用户输入的数据不是a也不是b,结果会怎样? 想一想 如果用户输入的数据不是a也不是b,结果会怎样? 想一想 如果有3个作品参与投票,算法要怎么调整? (在流程图中做相应的修改) 课堂任务 ... ...