编程序入门 如何编程软件

你在家的假期过得怎么样?你是不是每天穿着衣服生活,总是伴随着妈妈的“嫌弃”和“唠叨”?哈哈~
来源:博学谷
接下来,姐姐给大家讲一件过年时发生在姐姐身上的趣事:
小侄子:阿姨,你会编程吗?
答:是的 。...
侄子:那你教我怎么做网络上的黑客 。用电脑,黑匣子,打一堆不知所云的字符,随时可以偷别人账户里的钱 。
这是违法的吗?...
这时二叔走过来说,那不是儿童编程吗?我的孙子正在学习这个 。
我阿姨也来凑热闹,说:“啊,我邻居家孩子刚学编程,一个月三四万,虽然风不吹雨不下 。”
答:现在编程是趋势,国家也开始鼓励青少年学习编程,培养编程思维 。未来社会会越来越智能化,如果你不知道这个东西,你就会慢慢落后 。
大妈:那你给我们讲讲,我们学习一下 。...
我:先说一堆……
除此之外,也有朋友通过一些视频和笑话,对编程有了自己的理解 。
所以他们会问我,程序员掉头发吗?你会写机器人吗...不知不觉中,编程似乎成了家喻户晓的名字 。
虽然每个人对【编程】的理解不同,但是每个人都在或者将要接受编程的相关知识(包括一些老人和小孩) 。那么,编程到底是什么?你确定你什么都知道吗?
接下来雅姐就带你通过以下几个层面,对编程有一个全面正确的认识 。
编程的第一印象1.1编程为什么会发生?
大家都说艺术来源于生活 。你知道【编程】从何而来吗?为什么会产生?
当代大学生和打工仔每天都在纠结同一个事情,就是吃什么?
因为工作地点离家远,早上时间不够,或者宿舍根本打不着火,又不想出门,不能自己做饭 。于是,一种“生活需求”应运而生——外卖 。
所以外卖来源于我们生活中的需求,点外卖是通过【编程】实现的 。
比如超市收银员 。
假设一个顾客买了100样东西,如果他用计算器加起来,会浪费时间,还可能算错 。但是如果你用编程来完成一个软件,那就不一样了 。你应该见过超市的收银设备,它的内部系统也是程序化的 。扫码获取价格,用程序自动进行加法 。最后,还可以提示更改金额 。速度也节省了人力物力 。
另外还有医院的挂号系统,你每天用的/支付宝等等 。,都是编程的杰作 。
原来【编程】来源于我们的生活需求,是为了让我们的生活更加便捷,我们每个人都直接或间接地参与到编程的某个环节中 。
如果你还觉得有点困惑,我们再来看另一张图:
图中的【思维】是指我们需要的各种需求,也就是我们希望计算机为我们做什么 。
图中的表达式是计算机可以理解的指令0和1 。
而如何把我们的思维表达出来,让计算机执行,需要我们(程序员)来完成 。
这是雅姐要讲的第二个问题,编程的宏定义 。
1.2编程的概念
用一句话来解释[编程]就是写能让计算机执行某件事情的代码 。
描述的再详细一点,就是为了完成某个需求,把解决问题的步骤用计算机能理解的语言写成指令 。这是【编程】 。
所以,我们可以看到编程中有几个部分:
1)需求——要解决的问题或要完成的任务;
2)把这个需求变成现成的计算机可读代码;
3)计算机执行代码实现需求 。
那么请思考:编程中最重要的【核心】是什么?
没错,就是上面说的第二部,解决了这个问题,而且是八成成功 。
至于怎么解决,嘿嘿,放心吧 。让我们休息一会儿,喝点水,放松一下,进入下一关 。
第二个层次是从生活的角度理解编程欢迎来到第二层 。我们继续说最后一关结束时留下的悬念 。
也就是如何把【需求】一步步写成计算机能读懂的代码,也就是【逻辑】 。
其实在我们对编程领域知之甚少的时候,并不是一定要看一些专业的科普文章,因为里面的专业术语会让你觉得晦涩难懂,从而产生畏难情绪 。
所以,亲爱的姐姐选择用我们生活中最常见的场景,带你去体验一下 。什么是【逻辑】?“步”是什么?“流程”是什么?
2.1计算机中的“步骤”和“逻辑”
场景一:假设,今天早上想吃煎蛋,但是不知道怎么做 。于是我找到了一个食谱,如下:
从菜单上可以看出,只要按照操作菜单的【步骤】去做,最后应该就能得到一个煎蛋 。
这个食谱也可以理解为,只要按照这个12345,最后就会完成相应的任务 。
但是这个时候,肯定会有一些朋友产生疑惑:不,这个煎蛋不是我做了以后做的 。相反,它变成了一个黑暗的盘子...为什么?
哈哈,这个问题是对的 。因为不能只有【步骤】,还需要【逻辑】 。
什么是“逻辑”?我们一起看第二场吧 。
场景二:记录我一天做了什么 。日记如下:
从日记中可以看出,逻辑有三种,即顺序、分支和循环 。
序列结构:先做什么,再做什么 。
比如早上起床,先刷牙再洗脸 。
比如日常工作中,先打卡,到工作站,再打开电脑,写代码 。
分支结构:判断条件和选择条件 。
比如不下雨,你不带伞;如果下雨,你带把伞 。
比如遇到上司,对领导说早上好(谄媚的表情);遇到同事,说吃早饭了(微笑) 。
结构:反复做一系列操作 。
比如代码出了问题,就要调试、修改、调试、修改、调试、修改,直到问题解决 。
那么当[逻辑步骤]的时候,就形成了一个新名词叫做[过程] 。
所以在煎鸡蛋的场景中,一些小盆友怀疑鸡蛋做不出来是对的 。
因为我们还是需要【逻辑判断】,比如煎蛋是小火还是大火?酱油多少才算适量?如果每个步骤都加入了适当的逻辑,最终的程序就不会出错 。
2.2计算机中的“过程”
好了,如果你让电脑帮你煎蛋,过程会是这样的 。
你会发现过程是非常严谨的,并不像我们看的菜谱那么随意 。
严谨性好吗?当然,如果你不小心,你可能会失去你的银行账户里的钱,然后,你就要哭了~ ~
好了,这就是雅姐用两个生活场景给你解释的——编程是怎么回事 。
我们再总结一下:编程其实就是把我们的需求一个个变成【流程】,写进电脑,让电脑帮我们执行 。
最近怎么样?不是很流行吗?想继续挑战吗?
程序员眼中的编程是什么?请看下一关 。
第三个层次是从专业角度理解编程 。欢迎来到第三层 。本关姐姐再来讲讲程序员眼中的编程,也就是从专业角度讲什么是编程 。
温馨提示:这一关涉及到很多专业术语,不过别着急,雅姐会一一为你讲解 。...
3.1数据结构
言归正传,有一本书叫《算法数据结构=程序》,书名其实是编程的专业定义 。
翻译成中文就是“算法数据结构=程序” 。这里提到两个专业术语,[算法]和[数据结构] 。
首先来说说什么是【数据结构】 。
数据结构实际上是数据存储的方式 。所谓存储就是保存数据以防丢失 。
让我们用几个生活中的例子来理解:
人群在火车站的售票亭排队 。
乘客排队买票 。第一个排队的人可以先买票 。站在后面的终于可以买了 。
如果我们把乘客看成数据,这个数据结构就是【队列】 。
特点:先进先出 。
我小时候玩过的玩具枪 。
玩具枪可以一颗一颗装圆子弹 。往弹匣里装子弹的时候,是一颗一颗往下压的 。但射击时,最后压进去的子弹先出来,第一颗压进去的子弹最后出来 。这种结构被称为“栈” 。
特点:先进后出 。
计算机的文件夹
一个文件夹可以包含多个子文件夹和文件,子文件夹可以包含下一级的子文件夹和文件 。
这个结构可以理解为【树形结构】 。是文件树的“叶”节点,子文件夹可以是树的分支或“叶” 。
它的特点是:分支和层级关系 。
这个时候,肯定有朋友又有疑惑了 。为什么需要这么多数据结构?有什么用?
答案是肯定的,因为存储数据结构的不同方式决定了要执行的任务的顺序和速度 。如果你使用适当的数据结构,你的程序将获得最佳性能 。
3.2算法
现在,我们再来说说【算法】 。
算法是可以解决问题的方法 。
好像有点抽象 。我们举个例子 。比如,我们要在人群中寻找“穿蓝衣服白裤子的人” 。人太多了,我们一眼都找不到 。那么怎么找呢?
方法有很多 。在这里,雅姐简单说两句:
第一种类型:
先找穿蓝衣服的人 。
从蓝色衣服中寻找穿白色裤子的人 。
判断是不是男的 。
【编程序入门 如何编程软件】第二种类型:
先除掉所有女人 。
排除那些不是蓝色的 。
排除那些不是白裤的 。
以上两种方法最后都能达到我们的目的,都是算法 。那么它们各有什么优缺点呢?
要看我们面对的是什么样的群体(数据):如果这个群体中女性较多,那么第二种方法优势明显 。
因此,在编程中,我们一直在努力寻找解决问题的最佳算法 。
说到这里,雅姐突然想起一个笑话,讲给你听 。
一个程序员下班,老婆打电话说:“你去超市买十个苹果,下班回家 。如果你看到一个西瓜,买一个 。」
结果程序员只带了一个苹果回家,悲惨的命运不得而知 。但导致他犯错的思维逻辑是编程中的算法逻辑:“没看到西瓜,买十个苹果;如果你看到西瓜,买一个苹果 。」
总的来说,【算法】就是运用逻辑解决问题 。算法和数据结构的结合就是程序 。而程序的设计就是编程 。
这时候你可能又会想,编程到底是一种知识还是一种能力?
我姐认为【懂编程】是计算机知识积累的结果,但是【会编程】是一种实践能力 。
类似的还有:有些人很懂车,但不会开车上路 。所以理论要结合实践~
好了,真正知道什么是编程后,姐姐会继续给你讲一些你不知道的编程冷知识,下一关,标准会让你开口~
第四级是科普编程知识 。欢迎来到第四关 。我们这一关主要是普及一些编程知识,让你对编程有更透彻的了解,饭后有更多的谈资~
1:常识:编程是谁发明的,是如何进化的?
说来话长 。让我们听听你姐姐的意见 。
你猜怎么着很久以前,在电子计算机诞生之前,计算机的角色是由(女性)人来扮演的 。
因为大部分计算都是由人类女性手工完成的,所以这些女性被统称为“计算机” 。
但是后来大家发现人工计算很浪费时间,也有误差,于是慢慢研发出了一种叫做[true 空 tube]的东西 。
这些true 空电子管有一个有趣的特点:true 空电子管两端节点的电流可以用三个管脚控制 。这使得true 空电子管在处理模拟信号时变得可行 。true 空管可以控制机器,传输模拟信号 。
后来,数学家们意识到,如果我们可以使用布尔运算,我们就可以在理论上创造出机器来执行这些运算 。所以人们用这个理论来建造一些【机械计算机】,但是由于机械计算机速度慢,成本高,没有真正的应用 。
下图是【机械电脑】:
接下来是【固态晶体管】,可以提供和真空晶体管一样的功能,但是体积更小,价格更便宜,寿命更长 。所以电脑变得越来越便宜,应用越来越广泛 。
但由于操作人员(程序员)必须坐在终端前开闭开关,非常不方便,所以后来他发明了打卡法,可以更简单方便地切换开关 。
下图是打孔的纸孔 。穿孔卡上有许多扁平电缆,每一行都有可以穿孔的孔 。这些线路和开关相互匹配 。
现在,人们不再每天操作那些无聊的开关,而是程序员去打洞 。每行代表不同的指令 。有一台机器可以连接到电脑上阅读这些指令 。
这样,我们可以在穿孔卡片上写程序 。这样减少了相当大的工作量,写一张卡片可以用很长时间,也避免了重复造轮子的问题 。
然后,天才格蕾丝·霍珀的妹妹,后来被称为“计算机程序之母”,想出了一个好主意 。
她建议可以设计一个程序,让人们用类似英语的语法写下自己想做的事情,然后用这个程序把英语翻译成机器语法,交给机器执行 。
于是,她发明了世界上第一个编译器,命名为A-0 。那时候还没有组合语言和编程语言 。所有程序员都得把[程序]翻译成[机器码]的形式,01101010110,在纸上打孔,然后送到机器上阅读 。
编程因为A-0【编译器】迎来了曙光 。虽然只是科技史上的一小步,但确实是革命性的 。它改变了人们思考编程的方式,创造了一种抽象的思维方式 。这意味着人们可以在更高的层次上思考 。也改变了人们对如何写程序的思考 。
之后逐渐衍生出了今天的编程 。...
2:常识:编程语言和编程是一个概念吗?
所谓编程语言,其实就是一种可以被计算机读懂的语言 。它也有发展的历史 。你感兴趣吗?
坐在长椅上听你妹妹说话 。
第一种编程语言是机器语言 。很简单 。有多简单?
简单到只用“1”和“0”两个数字就能编程 。
也很气人 。你有多生气?
就像把盐和味精混在一起,你就能挑出一粒白糖混进去 。
虽然机器语言难学、难懂、不可重复、编程复杂,但速度极快 。但是人类通过机器语言和计算机对话,类似于外国人用中文和中国人对话 。所以对于人类来说,0.00001秒和0.000000001秒没有区别 。所以,你的机器语言跑得再快,也无法赢得人类的心 。
于是,汇编语言诞生了 。
汇编语言,其中用助记符代替机器语言中的操作码,用地址符号或标号代替指令或操作数地址 。大概相当于那个 。这些学汉语的外国人已经开始学拼音了 。
然而,汇编语言所做的只是编译机器语言 。所以代码的移植和推广还是很困难的,理解代码的设计意图也有不小的障碍 。
终于在1956年,一种高级编程语言诞生了,它受到了成千上万人的喜爱,也让无数程序员秃顶 。
FORTRAN,这种注定围绕着无数聪明脑袋的辉煌语言,其实是由不太喜欢编程的约翰·沃纳·巴克斯发明的 。
作为高级编程语言家族中的长子,虽然历经几代更迭,但在数值计算、科学与工程技术等领域仍占据着强大的主导地位 。慢慢变老,但要记住,你叔叔永远是你叔叔 。
当然,编程语言并不是说越合格越吃香 。根据Toibe 2019年10月发布的程序语言排名 。
70年的c语言,95年的Java,91年的Python,现在势头正盛,坐上了第二的位置 。
此外,在排名前十的语言中:
70后,C语言脱颖而出;
80后有三种语言上榜,最好的是83年正式命名的C,排名第四;
90后有四种语言上榜,其中Java和Python表现最好,其次是PHP和JavaScript
00,名单上只有两种语言,即C#和VisualBasic.NET 。
我们有理由相信,未来会有更丰富、更便捷、更人性化的编程语言出现 。也许有一天,人类的语言可以直接翻译成机器语言...
所以,正在犹豫要不要学编程的小伙伴,你还在等什么?赶紧学吧...
3:常识:什么是编程思维?计算机思维呢?
首先,计算机思维和编程思维是一个概念,我们可以解释一个 。那么什么是编程思维呢?
有这样一个笑话,学编程之前,1000是一个整数,学编程之后,整个数字就是1024!
学术上讲,编程思维是解决问题的算法和代码实现过程的集合 。编程思维有两个组成部分,一个是算法设计,一个是代码实现 。
其实学习编程最重要的不是掌握编程的语言,而是要学会编程过程中使用的思维方式是“编程思维” 。
编程思维的核心不是编程语言,也不是语法,甚至不是算法或者数据结构本身,而是如何分解问题,从中发现规律,建立解决问题的模型,并映射到合适的数据结构和算法,然后我们就可以根据算法编写程序 。
盖茨、扎克伯格、乔布斯等前辈都用经验告诉我们,拥有编程思维的人,成功了一半——不仅逻辑严密、思维缜密,解决问题和管理能力也不是常人可比的 。
好了,这次到此为止 。不知道你收获了多少?
另外,对于我们现在的大部分朋友来说,学习编程技术是最重要的!种一棵树最好的时间是十年前,其次是现在 。对于准备学习编程的人来说,想要提升自己的核心编程能力(内功),不妨现在就开始!
学习分享编程书籍:
学习视频分享:
整理(源码,项目实战视频,项目笔记,基础入门教程) 。
欢迎转行学编程的伙伴,学会用更多的材料比自己思考成长更快!
如果对C/C感兴趣,可以后台私信我:【编程通信】大家一起学习!可以获取一些C/C项目学习视频!你已经设置了关键词自动回复,自动收到就好!

    推荐阅读