程序设计的主要方法是什么

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

灵修的程序和方法_程序设计方法_c 程序中mian方法作用

编程的主要方法是2113面向结构的方法5261和面向对象的4102方法.

结构化编程1653

随着计算机价格的持续下跌,硬件环境不断改善,运行速度不断提高. 编写的程序越多,功能越强大,而熟练的编程方法将无法满足需要. 记住哪本书说过,软件的开发成本由以下组成: 30%的程序设计和70%的程序维护. 这是本书中给出的理论价值,但实际上,从我十多年的工作经验中,我得到了经验: 程序设计占10%,维护占90%. 也许我说的太保守了,应该增加维护成本. 以下程序提供了两种设计解决方案. 让我们看看哪个更好?

标题: 将数组中的100个元素从小到大排序并显示输出. (基本)

方法1: 按冒泡方法排序并同时输出.

灵修的程序和方法_c 程序中mian方法作用_程序设计方法

对于I = 1到100

对于J = I + 1到100

IF A [I]> A [J]然后T = A [J]: A [J] = A [I]: A [I] = T

下一个J

? A [I]

c 程序中mian方法作用_程序设计方法_灵修的程序和方法

下一步我

方法2: 按冒泡方法排序,然后输出.

对于I = 1到100

对于J = I + 1到100

IF A [I]> A [J]然后T = A [J]: A [J] = A [I]: A [I] = T

灵修的程序和方法_程序设计方法_c 程序中mian方法作用

下一个

下一个

对于I = 1到100

? A [I]

下一个

灵修的程序和方法_c 程序中mian方法作用_程序设计方法

显然程序设计方法,“方法1”比“方法2”更有效并且运行更快. 但是,从当前的编程角度来看,“方法2”更为先进. 原因很简单: (1)功能模块明确划分,易于阅读; (2)这也是最重要的,易于维护. 当程序处于设计阶段时,有必要考虑将来的维护问题. 例如,既然已经实现了屏幕上的输出,也许是在将来的某一天,您将必须修改程序,将其输出到打印机,然后将其输出到绘图仪. 也许将来有一天,您将学习一种新的高级排序方法,方法是将“冒泡方法”改进为“快速排序”和“堆排序”,那么根据“方法2”进行更改会更容易吗?这种将功能模块分开的编程方法称为“结构化编程”.

面向对象的编程

随着程序设计的复杂性增加程序设计方法,结构化的编程方法还不够. 使用不充分的根本原因是“代码重用”带来的不便. 面向对象的方法诞生了,它通过继承实现了更完整的代码重用功能. 许多学生在申请工作和面试时经常被问到“什么是面向对象编程”问题. 学生们无语了,然后回来问我如何回答这个问题. 我告诉他,您只需要说一句话. “面向对象的程序设计是数据的封装;范式(模板)的程序设计是算法的封装. ”后来,一些学生遇到了这个问题,只是一个简单的句子,是的,另一方看了看这个学生(该学生后来自豪地告诉我). 为什么?因为只有通过透彻的经验和实践,我们才能提取出这一精髓.

早在1970年代初期就已经提出了面向对象的设计方法和思想. 目的是强制程序通过功能来操纵数据. 这样,数据被封装,避免了先前设计方法中任何代码引起的BUG,并且很难找到和修改该BUG. 因此,您可以说,即使我不使用面向对象,当我想访问某些数据时,也可以通过调用函数来访问它吗?是的,是的,但这不是强制性的. 人们很懒. 当我想加1时为什么要调用一个函数?算了,直接使用i ++可以省去麻烦. 哈哈,正式地由于这种懒惰,当程序被错误时,不容易被抓住. 面向对象是强制性的,可以从编译阶段解决懒惰问题.

巧合的是,面向对象的思维实际上与我们日常生活中遇到的问题一致. 例如,我计划扔掉一个茶杯,怎么扔掉?这太简单了,拿起茶杯,走到垃圾桶然后扔!注意分析这个过程,我们首先选择一个“对象” ------茶杯,然后对这个对象应用一个动作-抛出. 每个物体可以施加的运动有一定的限制: 可以将茶杯扔掉,可以砸碎,可以用来喝水,可以敲敲来发出声音……;一张纸,可以在书写时撕裂并燃烧. 也就是说,一旦确定对象,就相应地确定该方法. 这就是我们的日常生活. 但是,每个人都记得我们的编程和计算机操作并非如此. 以DOS操作为例,我想在DOS提示符下删除文件: c: > del文件名. 请注意此过程,操作在前面(del),对象在后面(文件名),而面向对象的方法则相反. 因此,这只是秩序问题,它将产生什么影响?哦,每个人都必须看到这种现象: 找不到文件. “啊~~~,我错了,我错了,文件名键入了错误的字母”,因此重新输入: c: > del文件名2 . 不幸的是,它再次发生,计算机报告: 文件只读. 哈哈,痛吧:). 因此,DOS的操作实际上违反了我们的日常生活习惯(当然,以前没有人提出过反对意见),现在由于使用了面向对象的设计,这些问题在编译时就得以解决,不在运行时. obj.fun(),对于此语句,无论是对象还是函数,如果输入有问题,都将在编译时报告该消息,以便您可以对其进行修改,而不是在执行过程中出错,到处都会发现bug伤害您.

同时,面向对象可以解决代码重用-继承的问题. 我曾经写过一个具有属性(变量)的“狗”类: 头发,4条腿,一条弯曲的尾巴(画一条尾巴的是狼),一个非常敏感的鼻子,并且喜欢吃肉骨头. ... ...有(功能): 能够运行,能够闻到气味并发出吠叫声……如果它抓住了鼠标,其他人就将其称为“多任务处理”. 好吧,狗课是写的. 但是在我的实际生活中,我在家人中养的狗与我以前写的“狗类”非常相似. 只有一点点区别. 这是我的狗. 它是: 长而卷曲,鼻子小,嘴巴小...因此,我在“狗”的基础上派生了一种新类型,称为“哈巴狗”,并添加了新功能. 好了,程序被编写出来,并且正确的代码被重用了,这是面向对象编程的好处. 我的成功只是站在巨人的肩膀上. 当然,如果使用VC,则最常用的代码是MFC类库.


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

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

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