计算机逻辑算法,算法逻辑

算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。一般算法有顺序结构、选择结构、循环结构三种基本逻辑结构。

中文名

算法逻辑

外文名

Algorithm logic

分    类

计算机 编程基本结构

顺序 选择 循环

常    用

流程图

优    势

简洁

特    点

只有一个出口和入口

算法逻辑简介

编辑

语音

算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。

我们可以用自然语言来描述一个算法详细信息,但这样做的话,往往过程比较复杂,缺乏简洁性,同时自然语言描述的内容可能使不同的读者产生不同的理解,因此,我们很有必要来探究使算法表达得更加简洁,更加直观,更加准确的方法,其中最普遍使用到的是程序流程图。

一般算法有顺序结构、选择结构、循环结构三种基本逻辑结构。

算法逻辑顺序结构

编辑

语音

顺序结构是最简单的算法结构,框与框之间,语句与语句之间,都是按照它们出现的先后顺序依次进行的,即它是由若干个依次执行的处理步骤组成的。可以说顺序结构是任何一个算法都离不开的一种基本逻辑结构。

如图1,其中A和B两个框是依次执行的,只有在执行完A框所指定的操作后,才能接着执行B框所指定的操作。顺序结构的一个简单的例子是交换变量a和b的值。

80c8c2699c4d2d4c53d4cb6bcf985124.png

图1

算法如下:

S1:m=a; S2:a=b;S1:b=m;

程序框图如图2:

702b04fb5f35dd218c7a807ae88d4a37.png

图2

5edefe420dbc5a9dac59bd58a92eb20e.png

例:尺规作图,确定线段一个五等分点。

步骤:1、从线段的左端A点出发做一条射线;

2、在射线上取点C,得到单位线段AC;

3、在射线上做线段CE=AC;EF=AC;FG=AC;GD=AC;

4、连接DB;

5、过C做BD的平行线,交线段AB于M,即为五等分点。

算法逻辑选择结构

编辑

语音

在一个算法中,经常会遇到一些条件的判断、算法的流程根据条件是否成立有不同的流向,这种先根据条件作出判断,再决定执行哪一种操作的结构称为选择结构,如图3所示的一个条件分支结构,此结构中包含一个判断框,根据给定的条件P是否成立而选择执行A框或B框,请注意,无论P条件是否成立,只能执行A框或B框之一,不可能既执行A框又执行B框,也不可能A框和B框都不执行。无论走哪一条路径,在执行完A框或B框之后,脱离本选择结构。A框或B框两个框中,可以有一个是空的,即不执行任何操作。

85ca7d3fab95417104e41d51518dc1b7.png

图3

例:输入3个数a,b,c,要求输出最大值

b6ec28db1b3c2c3c469d77a4a0b6b07b.png步骤:

1、先比较2个数,取其中大者与第三个数比较,得出较大者为最大数,记为max

2、输入a,b,c

3、比较a,b,若a>b,则执行第三步;否则,执行第四步

4、比较a,c,若a>c,则输出最大数max=a;否则,输出最大数max=c

5、比较b,c,若b>c,则输出最大数max=b;否则,输出最大数max=c。

算法逻辑循环结构

编辑

语音

需要重复执行同一操作的结构称为循环结构,即从某处开始,按照一定条件反复执行某一处理步骤,反复执行的处理步骤称为循环体。循环结构中通常都有一个起循环计数作用的变量,这个变量的取值一般都包含在执行或终止循环的条件中。循环结构有while型循环(也称当型循环)和until型循环(也称直到型循环)两种。

1111baa9c1f114c8ef7586770a1ae5f2.png

例:求解1到100之间所有数字之和

eecbdb17cac508e4a9bbbe539a033e14.png

我们可以知道,只有在满足循环条件的情况下,才能执行循环体的操作。那么,在算法中,也会存在这种情况呢:循环条件永远满足导致循环体一直会被执行。

如果出现类似这种循环,我们称之为死循环。因为循环条件满足,则循环体会被无休止的执行下去,直到资源耗尽,那么,假若在循环结构之后还有其它的算法步骤,则没有机会被执行到。为了避免这种情况的出现,我们应该尽量在循环体中构建出能够退出循环的条件,以确保循环结构之后的算法步骤能够被执行到。当然,我们也可以在循环体中使用break,continue,return这样的跳转语句来使循环体有机会被跳出[1]

算法逻辑特点

编辑

语音

这三种基本结构的共同特点是:

1、只有一个入口和出口。

2、结构内的每一部分都有机会被执行到,也就是说对每一个框来说都应当有一条从入口到出口的路径通过它,没有一条从入口到出口的路径通过它,就是不符合要求的算法结构。

3、结构内不存在死循环,即无终止的循环,在流程图中是不允许死循环的。

词条图册

更多图册

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
模糊逻辑算法是一种处理模糊信息的方法,它可以用来处理那些不确定或模糊的问题。在Python中,有一些库可以用来实现模糊逻辑算法,比如`scikit-fuzzy`和`pyfuzzy`。 下面是一个使用`scikit-fuzzy`库实现模糊逻辑算法的Python代码示例: ```python import numpy as np import skfuzzy as fuzz from skfuzzy import control as ctrl # 创建输入和输出变量 input_var = ctrl.Antecedent(np.arange(0, 11, 1), 'input_var') output_var = ctrl.Consequent(np.arange(0, 11, 1), 'output_var') # 定义模糊集和隶属函数 input_var['low'] = fuzz.trimf(input_var.universe, [0, 0, 5]) input_var['medium'] = fuzz.trimf(input_var.universe, [0, 5, 10]) input_var['high'] = fuzz.trimf(input_var.universe, [5, 10, 10]) output_var['low'] = fuzz.trimf(output_var.universe, [0, 0, 5]) output_var['medium'] = fuzz.trimf(output_var.universe, [0, 5, 10]) output_var['high'] = fuzz.trimf(output_var.universe, [5, 10, 10]) # 定义模糊规则 rule1 = ctrl.Rule(input_var['low'], output_var['low']) rule2 = ctrl.Rule(input_var['medium'], output_var['medium']) rule3 = ctrl.Rule(input_var['high'], output_var['high']) # 创建模糊控制器 fuzzy_ctrl = ctrl.ControlSystem([rule1, rule2, rule3]) fuzzy_sim = ctrl.ControlSystemSimulation(fuzzy_ctrl) # 输入模糊值 fuzzy_sim.input['input_var'] = 6 # 运行模糊推理 fuzzy_sim.compute() # 输出模糊结果 print(fuzzy_sim.output['output_var']) ``` 这段代码演示了如何使用`scikit-fuzzy`库创建一个简单的模糊逻辑控制系统,并计算输入值为6时的输出结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值