IT行业:软件开发编程思想

2023-05-06

很多人学了C语言,C++,Java仍然不会编程;而有些人没有学过计算机语言,但有编程的天份;这中间到底缺了什么?

我们来研究一下3个问题:

1.首先我们要了解计算机能完成的工作;

2.了解每种计算机语言在做什么;

3.如何通过计算机语言让计算机替我们做什么;



1.电子计算机最直接能做什么工作:

电子计算机能直接完成的工作如果细化看,就是在玩二进制数;

a.把二进制数按位进行左右移动;

b.对二进制数中的位进行<与,或,非,异或>4种操作;

c.读地址空间内的二进制数当指令动作;

d.读地址空间内的二进制数当数据操作;

e.保存二进制数到内存空间

f.对二进制数进行算术操作,结果存到内存空间

g.......

总结一下,计算机的工作=数据输入->计算和操作->结果输出


2.计算机语言在做什么?

计算机语言只是为了方便书写命令计算机动作的语法;

机器语言,把命令计算机做原始动作的指令,转换成二进制码形式,不容易看懂;

汇编语言,把机器语言,转换成英文单词,方便阅读识别,但仍不容易看懂;

面向过程语言,把汇编语言,转换成数学表达式的形态,

面向对象语言,把数学表达式,封装成独立的输入数据输出结果的模块;

面向应用语言,把对象模块,按照需求自动组合成应用组件;(正在发展中)


3.怎样让有限的计算机完成无限的工作?

计算机只能够保存和计算无符号二进制整数,但我们还是把有符号10进制数,浮点数,文字,声音,图片,视频保存到了计算机里;这其中的关键,就是转换;

计算机所能保存的数据是有限制的,想办法统统转化成二进制;

计算机的容量是有限的,想办法把相同的数据进行无损压缩满足容量;

计算机的字长是有限的,把超长的数据分解,给计算机分段计算满足字长;

计算机的计算速度是有限的,研究一个快速的数学逻辑高效计算;

计算机的xxx是有限的,总有办法可满足;

软件开发的编程思想

计算机的工作是有限的=数据输入->计算和操作->结果输出

1.跟据程序的需求,将输入的数据转化成计算机能接受的数据类型;

2.跟据计算机有限的工作能力,将计算和操作通过逻辑思维按步骤转化成计算机的动作;

3.将结果按照要求转化成输出格式。

第1步,转化数据类型,计算机语言已经准备了很多基础数据类型和API;

第2步,逻辑思维养成;

第3步,逆转数据类型,计算机语言也已经准备了很多基础数据类型和API;

第1步和第3步,只要百度查找,看例子就能很快掌握,大多可以分享和拿来主义,但第2步逻辑思维并不能一步登天,思想的养成需要勤奋和努力,和学习写作文的方法是一样的,要多看别人的代码,尝试着多写代码,计算机语言好学,但编程不是学出来的,是花时间写出来的;好比会写中国字,并不一定能写出好作文。

程序:是为实现特定目标或解决特定问题而用计算机语言编写的代码;

以计算机的角度讲,程序=算法+数据结构

数据结构:指计算机保存数据的方法(顺序,链式,散列,索引)

算法:在计算机有限的结构下,解决问题的具体方法和步骤

过程化语言程序基本流程

1.输入数据

2.检查数据合法性

3.数据计算和处理(算法)

4.输出结果

开发的难点,就是算法(逻辑思想)

计算机算法可分为两大类别:

数值运算算法:求数值解,例如求方程的根、求函数的定积分等。(真正难)

非数值运算:包括的面十分广泛,最常见的是用于事务管理领域,例如图书检索、人事管理、行车调度管理等。(说难不难,但也不易)

总结:

软件开发的编程思想,是一种逻辑转化思想,并不是学计算机语言能学会,但可以从写代码中间领悟;首先要熟记和理解计算机语言的语法规则,才能将程序计算的逻辑准确的转化成计算机语言的语法;最后要勤加练习,慢慢养成(极少数最强大脑除外);

原文链接:

http://http://www.xcore.icoc.cc/nd.jsp?id=15&_np=0_322_2