程序入门第一课————简要介绍
当你第一次接触到程序这个概念的时候,你想到的是什么?
我以我的听歌软件为例,你们想到了什么。事实上在我第一次接触的时候,我想到的是哇,酷炫,随意的点击就有不同的事件产生,要是我也能成为这样的工程师,那是再好不过了。
但是当我第一次学习程序的时候,我发现我写的是输入a,b,输出 a+b,输入a,b,交换a和b的值
怎么会这样,我的无敌酷炫呢,我的伟大工程师之梦呢?
既然如此,继续学习把,随着深入的学习,我发现音乐软件写的东西和我并没有区别啊,滑稽脸
那么我为什么这样说呢?这就要说说我对程序的粗浅理解了
首先我认为程序就是跟数据打交道,不论是简单的a,b,还是音乐软件中的无数首歌曲,本质上他们还是数据,没有不同的,只不过是数据的表现形式不同,就像我们平时在生活中写的字,发出的声音,在程序的世界里,他们都是数据。首先你得认可我的这一点,不然接下来的内容将对你毫无帮助
既然程序是与数据打交道,那么我将程序分为以下几个部分
1.数据来源:不论是什么程序,都是有一个目的的,把什么变成什么,数据要被转换成什么形式,那这样我们首先要拿到原始数据吧。比如有一天你老妈叫住你,出去买点苹果,然后你就去了,走到半路,你突然想起来,买多少?如果把这个放在程序里面,我们要做的就是把钱变成苹果,但是现在我们缺失了一个重要数据,换多少,这就是所谓巧妇难为无米之炊了,足见这第一部的重要性,当然这一般是整个团队的共同任务
2.数据读取:这个大家听起来似乎有点抽象,举个例子,我有一个记事本(这是我们第一步的原始数据),那我怎么让我的程序知道上面的内容呢,已经学习的编程的同学很清楚,我们应该用IO。数据读取的方式有很多很多,比如从数据库读,从文件读,从控制台读,从网络读,等等,这些大家一时间看不明白的术语不用特别在意,我们后续会讲解的
3.数据接收:我们将外部的数据一点点的读取到我们的程序当中,我们知道,在记事本的字是一行一行的,每个字之间都有一定的间距,我们看起来很舒服,这样存储也很方便,那我们程序呢,如果我传入10000个字,那我们要定一个1万个变量去接收吗(变量,比如数学里面的x=3,x是变量,接收了3),这显然是不行的,所以程序为了解决这些问题,引入了数据结构,也就是数据组织方式,常见的比如数组,树这样子,当然现在我们不做深入探讨
4.数据处理:现在我们程序中有了数据,我们也将数据按照我们想要的方式存储起来了,接下来就要让数据变成我们想要的数据了,比如数学老师搞了一次模拟测验,成绩下来之后他想知道班上人的平均分数,所以就把你叫过去了,那么你怎么做,那现在你有了每个人的分数,简单的做法就是把他们加起来除以总人数就行了是不是,其实程序他也是这么干的,你想的就是程序做的。(但是有时候我们没有办法这么简单的就把数据变成我们想要的数据,怎么办,算法,将困难的复杂的步骤,放到一起,形成一个方法(数学的函数知道吧,我x丢进去,出来一个y,具体的内容我们不知道,但是我们得到了结果),让你去使用,当然作为一个优秀的程序员,写算法是很重要的,这里我们也不深入去说了
5.数据展示:举个简单例子,我写的这篇文章,我如果不排版就这样密密麻麻的字发出来,你们会看吗,好,既然大家都明白我的意思了,那么所谓数据展示就是对数据进行一种美化包装,我要让你觉得你不是在看数据,而是在看风景(数据包装的形式有很多,图片,声音,文字等等),但有时候,不包装行不行,可以,那就留给你自己看,你们懂我意思把
6.数据存储:我们辛苦做了这么久的数据,展示完就不要了吗,当然也可以这么做,但是更多的我们选择一种方式将他们存储起来,就是平时我们做题,把我们的思路写在纸上一样,这就是一种存储,当然具体怎么样做,这里就不在赘述了。
好了,我们本次就讲到这里,下次我们会讲新的部分,也就是数据读取,也就是讲IO。(关于数据来源这个部分,我想这应该是一个团队任务,我们不讲这个部分)