重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
很多人学了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
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。