基本编程方法

电脑杂谈  发布时间:2020-06-10 18:13:39  来源:网络整理

施密特正交化方法 matlab程序_fancu程序拷贝方法_程序设计方法

输入,处理(算法,程序的灵魂),输出

问题的计算部分

分析问题

确定问题

设计算法

编写实现

调试测试

升级维护

我们编写的程序都是按逻辑顺序排列的,也就是说,有一个过程,流程图的功能是对该逻辑顺序的描述,它是解决该问题的方法,思想或算法的图形表示. 问题. 显示.

流程图中使用的符号

Axure中的流程图形状组件面板

以下内容从()引入

1,矩形

功能: 通常用作要执行的过程(process),作为程序流程图中的执行块.

如果您以大写方式绘制页面框架,则还可以参考页面. 有时,我们会将页面和执行命令放在同一过程中进行解释. 这时,我们将区分两种不同类型的矩形的颜色,然后进行解释.

2. 圆角矩形或扁圆形

功能: 指示程序的开始或结束,并用作程序流程图中的开始框或结束框.

3. 斜角矩形

功能: 斜角矩形通常很少使用,可以根据需要定义. 或在其他具有特殊含义的流程图中,我还不知道,我希望有见识的人能给我一些建议.

4,

功能: 表示决定或判断(例如: If ... Then ... Else),用作程序流程图中的判断框.

5. 文件

功能: 表示为文件,可以是生成的文件或被调用的文件. 如何定义取决于实际情况.

6. 括号

功能: 注释或解释,还可以进行条件声明. 当一般流程到达某个位置并发出执行指令或特殊行为时使用.

7. 半圆

功能: 半圆形通常用作过程页面跳转和正在使用的过程跳转的标记.

8,三角形

功能: 控制传输,通常与线条结合使用,并传输图形数据.

程序设计方法_施密特正交化方法 matlab程序_fancu程序拷贝方法

9. 梯形

功能: 通常用于手动操作.

10. 椭圆形或圆形

功能: 如果绘制一个小圆圈,通常用于指示顺序数据的流动.

如果您绘制椭圆,许会将其用作过程的结尾. 如果在用例图中,则椭圆为用例.

11. 六边形

功能: 这意味着准备工作,大多数人都将其用作过程的开始,类似于开始框.

12. 平行四边形

功能: 通常表示数据或确定的数据处理. 或它意味着数据输入(输入).

13. 角色

功能: 从用例用例出发,由谁来执行操作的模拟过程. 当您需要注意时,角色不一定是一个人,它有时是由机器自动执行的,有时它也是系统管理的模拟.

14. 数据

功能: 是指保存我们网站数据的.

15. 图片

功能: 表示已绘制的图片或置于图片,过程或环境中的图片.

当我们还是新手时,我们大多数人都不知道如何绘制流程图,但是随着时间和经验的积累,我们获得了一些新技能. 一个好的流程图可以帮助我们了解系统流程. 如果流程图绘制不正确,则会误导系统设计人员或导致不良结果. 因此,创建流程图时,谨慎和技巧很重要. 我建议您使用流程图来帮助您了解其流程.

尽管有许多符号可以用来表示流程图中的不同步骤,但精确的流程图将仅使用其中的一些符号,例如过程,决策,开始,延迟,云和其他符号.

流程图的基本元素是一个简单的操作,可以是付款,以方框表示. 流程图就像一个块连接到一个块,这些块通过箭头连接.

当必须做出决定时,过程变得越来越复杂,此时必须采取替代措施. 在流程图中,“决策”的形状是菱形,决策的答案只有“是”或“否”,如两种图形所示. 复杂的决定是通过组合简单的决定来完成的.

关于决定,过程经常会犯错误,要么是问错问题,要么是给出错误答案.

当块不能直接与线连接时,分开的线和匹配的块会相互匹配. 当您转到下一页时,通常会发生这种情况.

图3.跨页面的连续流程图

通过使用多个连接,绘制大型流程图变得非常简单,但是如果流程图太大,则很难理解. 理想的流程图大小足以一页. 在这种情况下,流程图给出了视觉上的“骨干”感觉,使用起来也非常方便.

大流程可以分解为不同级别的小流程图,作为子流程块. 这就像一个高级普通行为块,可以“放大”到另一个流程图,如图4所示.

图4.子流程

当分析过程在等待一个块时,一个额外的操作块很重要,因此延迟(即,没有任何操作)将突出显示. 这是一个典型的观点. 可以通过执行或减少其他流程中的延迟来增加流程的总体成本.

施密特正交化方法 matlab程序_fancu程序拷贝方法_程序设计方法

对于“编程”的工作,许多刚开始学习的人都了解“编写代码”. 同样,对于新手来说,问题在于他们只是“编写代码”. 收到新任务时,许总是在键盘上爬行以键入代码. 敲门,敲门,迷惑自己. 头晕眼花的坚持了下来,程序可以执行了,阿弥陀佛很快就退出了. 用这种方法进行的程序不可靠.

在编程中,最重要的不是键入代码,而是设计. 就像建筑,机械等行业的设计图和施工图一样,程序设计的思想也需要以图纸的形式来绘制. 绘画的过程就是思考的过程. 由于其直观性,绘图过程本身可以促进思考. 在软件项目中,已经开发了各种有用的图表,以保证软件产品设计的质量. 练习的这一部分有助于程序员掌握和实践“程序流程图”.

首先,什么是程序流程图

“程序流程图”通常称为“流程图”,这是一种传统的算法表示法. 程序流程图是解决此问题的方法,思想或算法的描述. 它使用图形符号框表示不同性质的各种操作,并将这些操作与过程线连接起来. 在程序的设计阶段(编码之前),绘制流程图可以帮助我们阐明程序思想. 下图是一个简单的流程图,描述了用于查找两个数的最大公约数(切换除法)的算法.

绘制流程图是每个程序的基本技能. 流程图具有其规格,这对于技术人员之间的通信是必需的,而不是您想要绘制的. 有关流程图中常用的符号,请参见右图. 在上述流程图中找到对应的部分,以找到最大公约数.

两个和三个控制结构的流程图表示

这部分不再写文本,并且至少在谈论各种控制结构时,总是会谈论各种编程的一些教科书. 请参考您能找到的并仔细品尝的教材.

我们将直接提示一些任务,画一幅画,然后完成.

三,练习问题(每个部分至少选择两幅画,注意使用质量更好的纸张,书写整齐,以确保画得越多越快乐)

1. 热身

(1)将英尺转换为米

(2)输入两个点的坐标,找到两个点之间的距离并输出

2. 分支程序

(1)今晚描述并描述该计划: 假设下雪了,在校园里玩雪;否则,请拨打103(回忆)

(2)掷并决定今晚: 积极,卡拉OK;负面: 购物;站起来学习C ++

(3)查找函数值:

(4)输入一元二次方程ax ^ 2 + bx + c = 0的系数,并根据每个系数的值分别求解(考虑到各个系数可能太复杂,给自己,直接解决而不考虑系统)

(5)输入个人每月收入的总额,计算本月他的应纳税额和税后收入(有关税率等,请参阅第9周的任务)

3. 循环结构

(1)找出1 + 2 + 3 + ... + 100(绘制了所有三个循环结构)

(2)输出1 / 3-3 / 5 + 5 / 7-7 / 9…+ 19/21

的结果

(3)假定一个数字等于其因子之和,该数字称为“完整数”. 找到1000内的所有计数.

(4)输出1000个以内的所有回文

(5)鸡翁1只,贵重5只,鸡母1只,贵重3只,小鸡3只,贵重一只,一百美元买一百只鸡,怎么买?

4. 结构复杂的程序

在解决此问题时,函数的使用使我们可以使用更多的“有序”思维来思考问题,即“自上而下,逐步完善”,真理. 示例: 下面的流程图用于输出一个星号图,它体现了这样一种思想,即可以将右边的图片嵌入在左边,而不是“输出行i”的框,并且还可以指导我们专门编译函数

fancu程序拷贝方法_施密特正交化方法 matlab程序_程序设计方法

算法和流程图

2.1.1算法

计算机语言只是一种工具. 仅学习语言的规则还不够. 最重要的是要学会为各种类型的问题制定有效的解决方案和步骤或算法. 使用正确有效的算法,您可以使用任何计算机高级语言编写程序来使计算机正常工作. 因此,设计算法是编程的核心.

不仅仅是具有算法的“计算”问题. 广义上讲,解决问题所采用的方法和步骤称为“算法”. 不要混淆“计算方法”和“算法”这两个词. 前者是指寻找数值解的近似方法,后者是指逐步解决问题的过程. 解决数值计算问题时,除了选择适当的计算方法外,还必须根据此计算方法编写一种算法程序设计方法,以使计算机逐步执行求解. 对于计算机外行,他们只能使用别人设计的现成算法,并且只需要根据算法要求给出必要的输入,就可以得到输出结果. 对他们来说,该算法就像一个“黑匣子”,他们无需从外部特性就可以了解“黑匣子”的结构,并且可以轻松地使用该算法. 但是对于程序员来说,他们必须设计算法并根据该算法编写程序.

解决同一问题可以有不同的方法和步骤. 例如,要查找1 + 2 + 3 + ... + 100,您可以先执行1 + 2,然后相加3,再相加4,最多100,或者可以取100+(1 + 99)+ (2 + 98)+ ... +(49 + 51)+ 50 = 100 + 50 + 49 * 100 = 5050. 也可以有其他方法. 当然,该方法具有优点和缺点. 有些方法只需要几个步骤,而有些方法则需要更多的步骤. 一般来说,我希望采用一种简单的方法,并减少计算步骤. 因此,为了有效地解决问题,不仅要保证算法的正确性,还要考虑算法的质量并选择合适的算法.

文本框:

解决计算问题的过程通常包括以下步骤:

2.1.2流程图

为了表示算法,可以使用不同的方法. 常用的有: 自然语言;传统流程图;结构化流程图;伪代码PAD图表等. 这里我们主要介绍流程图.

传统流程图

该图表示的算法是流程图. 该流程图将用一些框架表示各种类型的操作,在框架中编写步骤,然后将它们与箭头连接以显示执行顺序. 该算法以图形表示,直观易懂.

文本框:

美国国家标准学会ANSI规定了一些常用的流程图符号,这些符号被全世界的程序员普遍采用. 图中显示了最常用的流程图符号.

该框图显示了程序中每个步骤的内容以及它们之间的关系和执行顺序. 它说明了程序的逻辑结构. 框图应足够详细,以便可以根据它平稳地编写程序,而不必在编写时即刻构思,甚至避免逻辑错误. 该流程图不仅可以指导程序的编写,还可以用于在调试程序中检查程序的正确性. 如果框图正确且结果不正确,则可以根据框图逐步检查程序,从而很容易发现错误. 该流程图也可以作为程序规范的一部分提供给其他人,以帮助其他人了解您的程序的思想和结构.

示例: 对于大于或等于3的正整数,确定其是否为质数.

所谓的质数是指除l和数字本身以外的任何整数都不能整除的数字. 例如,13是质数,因为它不能被2、3、4,...,12除.

判断数字N(N> 3)是否为质数的方法非常简单: N被用作被除数,而2到(N-1)之间的每个整数又被用作除数. 如果没有一个可以整除,则N是质数. 该算法可以表示为:

①输入N的值.

②I = 2.

③N除以I.

④如果余数为0,则表示N可以被I整除,然后打印N“不是素数”,并且算法结束. 否则继续.

⑤I = I + 1.

⑥如果I≤N-1,则返回③. 否则,打印N为“素数”. 然后结束.

实际上. N不需要除以2到(N-1)的整数,它只需要除以2到N / 2的整数,甚至只需除以2的整数即可.

除以之间的整数

. 例如,要确定13是否为质数,只需将13除以2、3. 如果两者不可分,则N必须为质数. 步骤⑥可以更改为:

⑥: 如果I≤

,返回到③. 否则,算法结束.

fancu程序拷贝方法_程序设计方法_施密特正交化方法 matlab程序

Fortran代码文件为[e_212_01.f] [e_212_02.f].

三个基本结构

传统流程图使用流线指示每个帧的执行顺序,并且对流线的使用没有严格的限制. 因此,用户可以自由地随意进行处理,从而使流程图变得不规则. 读者必须花费大量精力来跟踪该过程,这使人们难以理解算法的逻辑. 如果我们编写一种可以限制过程随机变化的算法,并且像一本书一样,它是按顺序由各章和各节组成的,因此阅读起来非常方便,不会有困难,只需要从头开始即可结束就往下看.

为了提高算法的质量并简化算法的设计和阅读,必须限制箭头的滥用,即不允许随意旋转该过程,只能按顺序进行. 但是,该算法将不可避免地包括一些分支和循环,并且可能并非全部由一帧顺序组成. 如以上示例所示,它不是按帧顺序执行,而是包括一些过程正向或反向非顺序传输. 为了解决这个问题,假设如果指定了几个基本结构,则按照一定的规则由这些基本结构形成算法结构,就像用一些基本的预制构件盖房子一样,整个算法的结构从上到下基本结构按顺序排列在下面. 1966年,Bohra和Jacoplni提出了以下三个基本结构,并以这三个基本结构为基本单位来表示一个好的算法.

循环结构: 也称为重复结构,即重复执行操作的特定部分. 循环结构有两种类型:

请注意两个循环结构之间的异同: (1)两个循环结构都可以处理需要重复的操作. (2)当类型循环为“首先判断(条件是否成立),然后执行(框A)”. 但是直到类型循环是“先执行(框A),然后判断(条件)”. (3)当类型循环要在满足给定条件时执行A框时,最高类型循环是要在不满足给定条件时执行A框.

可以在当前循环或直到循环中解决相同的问题. 关于相同的问题,如果分别使用当前类型的圆形结构和当前类型的圆形结构来处理,则两个结构的判断框架中的判断条件恰好是倒数条件. Fortran77和90/95标准不提供do语句程序设计方法,Compaq Visual Fortran也不提供此扩展(但是某些计算机系统提供了此扩展),因此您需要将until类型循环转换为当前的类型循环结构: 循环等于A. 该框会添加一个当前循环,并同时“反转”给定的判断条件.

结构流程图

1973年,美国学者I. Nassi和B. Shneiderman提出了一种新的流程图形式. 在这种流程图中,带有箭头的流线被完全去除. 所有算法都写在矩形框中. 该框架还可以包含其他从属框架,即一个基本框架可以由一些基本框架组成. 这种适合结构化编程的流程图称为N-S结构化流程图,它使用以下流程图符号:

(1)顺序结构: 两个方框A和B形成一个顺序结构.

(2)选择结构: 当建立p条件时,执行操作A,如果未建立p,则执行操作B.

(3)循环结构: 使用类型循环结构时,该图标表示在执行之前已对其进行了判断. 当建立p条件时,将重复执行A操作,直到未建立p条件为止.

在上下循环结构下,该图标表示先执行然后进行判断. 当没有建立p条件时,将重复执行A操作,直到建立p条件为止.

使用以上三个N-S流程图中的基本框架. 可以形成一个复杂的N-S流程图,

代表算法.

示例: 区分质数的算法由N-S流程图表示.

上面的非结构化流程图不是由三个基本结构组成: 图中间的循环部分有两个出口,这与基本结构的特性不符. 由于不能将其直接分解为三个基本结构,因此应先进行必要的转换,然后再用N-S流程图的三个基本结构的符号表示. 也就是说,第一个菱形框架的两个出口将在一个点会聚. 该方法是设置标志值K,当K≠0为非质数时,其初始状态为0(指示N为质数). 注意当前类型和最终类型的判断条件.

Fortran代码文件为[e_212_03.f90].

N-S图形表示算法的优点是,它比传统流程图更紧凑,更容易绘制,尤其是因为它取消了生产线. 整个算法结构是由每个基本结构按顺序组成的,上下顺序是执行顺序. 从顶部到底部编写算法并查看算法非常方便. 综上所述,结构化算法由一些基本结构序列组成. 基本结构之间没有向前或向后的跳转,并且流程的转移仅存在于基本结构的范围内(例如循环中的流程);非结构化算法可以用等效的结构化算法代替,其功能保持不变. 如果一个算法不能分解成几个基本结构,那么它一定不能是结构化算法.

伪代码表示算法

传统的流程​​图和N-S图表明该算法直观易懂,但绘制起来较为复杂. 在设计算法时,可能必须反复修改,并且修改流程图会更加麻烦. 因此,流程图适合于表示算法,但是在设计算法的过程中使用它并不理想(特别是当算法复杂且需要反复修改时). 为了方便设计算法,通常使用一种称为伪代码的工具. 伪代码是用自然语言和计算机语言之间的单词和符号来描述算法的. 这就像一篇从上到下的文章. 每行(或多行)代表一个基本操作. 它不使用图形符号,因此易于编写,格式紧凑,易于理解并且易于转换为计算机语言算法(即程序).

该算法可以用英语,汉字以及中文和英文表示,以便于书写和阅读. 只要能清楚地表达其含义,就没有固定的严格语法规则来编写伪代码算法,并且书写格式应以清晰易读的形式书写. 例如,对于电子在具有特殊几何形状的材料中的散射:


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-240882-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 余巧
        余巧

        就可以更合娶了

      • 耿映雪
        耿映雪

        现在陡降存款利息真苦了这类人

      • 贺磊
        贺磊

        叙利亚危急让普京占尽风头

      热点图片
      拼命载入中...