热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

a*算法流程图_高中数学知识点整理(6)——算法

一、算法的概念1.算法概念∶在数学上,现代意义上的算法通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的ÿ
6d7fffca93b167c8871efd22ec0c7ea1.png

一、算法的概念

1.算法概念∶

在数学上,现代意义上的"算法"通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成2.算法的特点∶

(1)有限性∶一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限I 的

(2)确定性∶算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可

(3)顺序性与正确性∶算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题

(4)不唯一性∶求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法

(5)普遍性∶很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决二、程序框图

1.程序构图的概念∶程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形,一个程序框图包括以下几部分∶表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明

2.构成程序框的图形符号及其作用

a6a8266a6eb7e73d4bce8c3da2a2b9f4.png
7def841992a3fe0585ce48a866299050.png

3.画程序框图的规则如下∶

(1)使用标准的图形符号

(2)框图一般按从上到下、从左到右的方向画

(3)除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出点的唯一符号

(4)判断框分两大类,一类判断框"是"与"否"两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果

(5)在图形符号内描述的语言要非常简练清楚

三、算法的三种基本逻辑结构∶顺序结构、条件结构、循环结构

1.顺序结构∶顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构

8e0173640e5bf542d704d2a53cd1d537.png

顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。如在示意图中,A框和B框是依次执行的,只有在执行完A框指定的操作后,才能接着执行B框所指定的操作

2.条件结构∶

ff0fcb9f4000ca5153a8d07471784d13.png

条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构。条件P是否成立而选择执行A框或B框。无论P条件是否成立,只能执行A框或B框之一,不可能同时执行A框和B框,也不可能A框、B框都不执行。一个判断结构可以有多个判断框

3.循环结构

在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。循环结构又称重复结构,循环结构可细分为两类∶

(1)一类是当型循环结构,如下图所示,它的功能是当给定的条件P成立时,执行A框,A框执行完毕后,再判断条件P是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次条件P不成立为止,此时不再执行A框,离开循环结构

98f5b0d7ad653f2a5aa603fbfd2a080c.png

(2)另一类是直到型循环结构,如下右图所示,它的功能是先执行,然后判断给定的条件P是否成立,如果P仍然不成立,则继续执行A框,直到某一次给定的条件P成立为止,此时不再执行A框,离开循环结构

8944049bdf96ddddd16fbdf05dee3494.png

四、输入、输出语句和赋值语句

1.输入语句

(1)输入语句的一般格式

ee328e290de10f3ea33bf73cd433ef0e.png

(2)输入语句的作用是实现算法的输入信息功能

(3)"提示内容"提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化的量

(4)输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式

(5)提示内容与变量之间用分号";"隔开,若输入多个变量,变量与变量之间用逗号","隔开

2.输出语句

78a17a4aab930a6e76a673e8ffaef240.png

(2)输出语句的作用是实现算法的输出结果功能

(3)"提示内容"提示用户输入什么样的信息,表达式是指程序要输出的数据

(4)输出语句可以输出常量、变量或表达式的值以及字符

3.赋值语句

eebaacdc500c9a0135d9b21e1c0bb447.png

(2)赋值语句的作用是将表达式所代表的值赋给变量

(3)赋值语句中的"="称作赋值号,与数学中的等号的意义是不同的。赋值号的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量

(4)赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或算式

(5)对于一个变量可以多次赋值。

五、条件语句

1.条件语句的一般格式有两种∶(1)IF-THEN-ELSE语句(2)IF-THEN语句2IF-THEN-ELSE 语句

IF-THEN-ELSE 语句的一般格式为图 1,对应的程序框图为图2

bc550bb0df7a23da2b2319102d70acb6.png

3、IF—THEN 语句

IF—THEN语句的一般格式为图3,对应的程序框图为图4。

a6d71d71e7168b961a6087eef0fc2eb5.png

注意∶"条件"表示判断的条件;"语句"表示满足条件时执行的操作内容,条件不满足时,结束程序;END IF表示条件语句的结束。计算机在执行时首先对IF后的条件进行判断,如果条件符合就执行THEN后边的语句,若条件不符合则直接结束该条件语句,转而执行其它语句

六、循环语句

循环结构是由循环语句来实现的。对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。即WHILE语句和UNTIL语句1.WHILE 语句

476608fed00a9f4d4faecd90449f5b9b.png

(2)当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行 WEND之后的语句。因此,当型循环有时也称为"前测试型"循环。

2.UNTIL 语句

a1c73fb5a45a4d30322eab47b8a8d6af.png

(2)直到型循环又称为"后测试型"循环,从UNTIL型循环结构分析,计算机执行该语句时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOPUNTIL语句后执行其他语句,是先执行循环体后进行条件判断的循环语句

分析∶当型循环与直到型循环的区别∶(先由学生讨论再归纳)当型循环先判断后执行,直到型循环先执行后判断

在WHILE语句中,是当条件满足时执行循环体,在UNTIL语句中,是当条件不满足时执行循环

七、辗转相除法、更相减损术与秦九韶算法

1.辗转相除法

(1)定义∶就是对于给定的两个数,用较大的数除以较小的数,若余数不为零,则将余数和较小的数构成新的数对。继续上面的除法,直到大数被小数除尽,则这时的较小数就是原来两个数的最大公约数.

(2)算法∶一般地,用辗转相除法求两个正整数a,b的最大公约数,算法步骤∶第一步,给定两个正整数 a,b(a>b)第二步,计算a除以b所得的余数r 第三步,a=b,b=T

第四步,若 r=0,则a,b的最大公约数等于a;否则,返回第二步例如∶求8251与6105这两个数最大公约数?

8251=6105×1+2146

6105=2146×2+1813

2146=1813×1+333

1813=333×5+148

333=148×2+37

148=37×4+0

2.更相减损术

(1)定义∶所谓更相减损术,就是对于给定的两个数,用较大的数减去较小的数,然后将差和较小的数构成新的一对数,再用较大的数减去较小的数,反复执行此步骤直到差数和较小的数相等,此时相等的两数便为原来两个数的最大公约数。

(2)算法∶一般地,用更相减损术法求两个正整数a,b的最大公约数,算法步骤∶

第一步,给定两个正整数 a,b((a→b)

第二步,计算a-b所得的差r

第三步,比较b与r的大小,其中大者用a表示,小者用b表示第四步,若a=b,则a,b的最大公约数等于a;否则,返回第二步例∶用更相减损术求98与63的最大公约数. 98-63=35 63-35=28 35-28=7 28-7=21 21-7=14 14-7=7

所以,98和63的最大公约数等于7。



推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • qt学习(六)数据库注册用户的实现方法
    本文介绍了在qt学习中实现数据库注册用户的方法,包括登录按钮按下后出现注册页面、账号可用性判断、密码格式判断、邮箱格式判断等步骤。具体实现过程包括UI设计、数据库的创建和各个模块调用数据内容。 ... [详细]
  • “你永远都不知道明天和‘公司的意外’哪个先来。”疫情期间,这是我们最战战兢兢的心情。但是显然,有些人体会不了。这份行业数据,让笔者“柠檬” ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 无线认证设置故障排除方法及注意事项
    本文介绍了解决无线认证设置故障的方法和注意事项,包括检查无线路由器工作状态、关闭手机休眠状态下的网络设置、重启路由器、更改认证类型、恢复出厂设置和手机网络设置等。通过这些方法,可以解决无线认证设置可能出现的问题,确保无线网络正常连接和上网。同时,还提供了一些注意事项,以便用户在进行无线认证设置时能够正确操作。 ... [详细]
  • 本文介绍了游戏开发中的人工智能技术,包括定性行为和非定性行为的分类。定性行为是指特定且可预测的行为,而非定性行为则具有一定程度的不确定性。其中,追逐算法是定性行为的具体实例。 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 本文详细介绍了相机防抖的设置方法和使用技巧,包括索尼防抖设置、VR和Stabilizer档位的选择、机身菜单设置等。同时解释了相机防抖的原理,包括电子防抖和光学防抖的区别,以及它们对画质细节的影响。此外,还提到了一些运动相机的防抖方法,如大疆的Osmo Action的Rock Steady技术。通过本文,你将更好地理解相机防抖的重要性和使用技巧,提高拍摄体验。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
author-avatar
Andyxiesz
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有