程式中找到自己
自己学习编程已经有数个月的时间了,感觉很有趣。自己是数学专业,平时做题做累了,就写程序放松放松,将自己的想法实现出来,那样的感觉真的很棒!
第一次接触的语言是C++,感觉很有意思,后来因为Robocode接触了Java,开始了我的Java之路(什么时候ITeye也举办一次Robocode比赛呗,大家一起玩),废了一周时间搞这个坦克大战,虽然会让功课落下一点,但是我的Robot很厉害,虽然我没有Java基础,因为C++还是有帮助的,而且我却由此真正找到了自己的兴趣所在,喜欢编程!
Java语言是纯面向对象的,而且当我们第一次学习编程语言时,肯定会接触到两个名词“面向对象”、“面向过程”。但是真的能真正理解这两个词的含义,我想只有编写了一定的程序以及一定的思考以后,才会理解那两个词的含义。我也是在一步步做Java程序的过程中才慢慢理解面向对象的含义,以及封装、继承等Java语言特性。
总结自己做过的项目:
1.分形的绘制
分形虽然听起来感觉很高端,但是它却真的存在我们的生活中的任何地方,不信的话现在你就可以摘下一片树叶,看看它的纹理结构,你会发现主结构怎么和分支的结构那么像呢?!这就是分形的一个特征,自相似性!因此我们就可以想到,递归的概念吧。因此很多分形图形都是使用递归绘制的,比如这个毕达哥拉斯树:
像上面这两个图形都是使用递归绘制出来的,我们很容易就可以看出绘制这个的规律是什么,这就是分形的一种思想,“自相似”。其实分形还有很多生成的方法,我们都可以使用计算机语言将它们绘制出来,这是对我们逻辑思维的训练,以及一些基本的常用的迭代或是递归方法的掌握的熟练性的提高。后面自己还做了,L-System生成分形的方法,这个方法的思想很简单,就是通过简单的规则就可以产生美妙的图形。比如说,我们先画一条10个像素的线,然后转过一个指定角度,接上一条线再绘制一条10像素的直线,那么这样一直下去,你能想到会出现什么样的图形吗?!自己用语言实现就知道了。而这也正是L-System生成分形的思想,我们在使用计算机语言实现时,可以使用字符串,让每一个字符都代表一种动作,比如上面的绘制直线或是转角度,我们就可以使用迭代生成一个很长很长的字符串,然后遍历字符串,用于哪一个就执行相应的动作,那么这样就可以实现。下面是我自己实现的一种图形:
上面这些都是L-System的实现的图形,其实我们可以通过简单的规则产生更多的有趣图形。
2.数据结构
在我的学习过程中,数据结构是自己比较喜欢的部分,因为感觉实现那些数据结构以及算法的时候很有意思,而且自己现在也正在整理排序算法以及后面还会实现查找算法等基础算法,并且将很大一部分算法实现为可视化,可以使得更加直观,前面的博客中已经实现了一部分可视化的排序,后面考完试还会继续接着做这样的工作,因为自己觉得自己比较喜欢,所以自己会将这些东西都研究透彻。而且自己也觉得数据结构的关键在于实现,实行了也就理解了,不能停留在理论的基础上。
一个很简单的小总结自己这些天走过的路,感觉自己还是有进步的!但是还得继续努力!加油!
相关推荐
在计算机程序设计领域,"程式单"往往指的是包含指令和代码的文件清单,它们是软件开发和数字控制过程中不可或缺的部分。随着技术的不断进步,编程领域也日益扩展到了制造业的核心环节中,尤其是在机械加工和自动化...
标题中的“PowerMILL自动出程式单”指的是利用PowerMILL软件进行数控编程时,能够自动生成加工程序清单的功能。PowerMILL是一款由Delcam公司开发的高级 CAM(计算机辅助制造)系统,广泛应用于三维粗加工、精加工...
在《超亮丽水族箱荧幕保护程式 2.0》中,开发者运用先进的3D建模和渲染技术,构建出栩栩如生的海洋生物形象,如五彩斑斓的热带鱼、摇曳生姿的珊瑚礁。这些3D模型不仅形态逼真,而且运动轨迹和动作都经过精心设计,...
这可能是一个用于演示或者教学的程序,它可能包含了一些示例代码,通过运行这些代码,用户可以直观地了解C++标准程式库的各个部分如何工作,以及如何在实际项目中应用。 其次,"阅读器下载.htm"可能是一个链接或者...
《Java手機程式設計入門》是由知名作者王森编著的一本专为初学者打造的Java移动应用开发指南。这本书深入浅出地介绍了如何使用Java语言进行手机应用程序的开发,涵盖了从基础概念到实际项目实践的诸多方面。王森老师...
在这个“微信小程序教程.zip”压缩包中,我们可以期待找到一系列详细的教学资料,这些资料可能是由腾讯云的高级工程师专门为高校学生编写的,因此在质量上应该是相当可靠的。 微信小程序的开发涉及到多个知识点,...
这个压缩包中的核心内容可能是一本名为"C++语言程序设计教程"的电子书,尽管其名称中包含"C++",但根据标签"**C语言程序教程**",我们可以推断这本书可能是关于C语言而非C++的,可能是由于命名上的误解。 【描述】...
Android 應用程式開發實戰 Future Work ● 結合GPS location,自動找到最近的分店 ● 學習其它Application Components ● Service ● Content Provider ● Broadcast Receiver
批处理程序,或者说批处理脚本,是一种在DOS或Windows操作系统中进行自动化任务执行的技术。它通过将一系列DOS命令按照特定顺序组合在一起,形成一个可执行的BAT文件,从而实现批量处理任务,简化用户的操作流程。这...
【程式強制拆除器】是一种专门用于处理顽固或恶意软件的工具,它设计的目的是帮助用户卸载那些常规方法无法移除的程序。在计算机使用过程中,有时会遇到一些程序由于各种原因变得难以卸载,例如软件自身的保护机制、...
从给定的文件信息来看,主要讨论的是C#在Windows应用程式设计中的应用,特别是排序算法的部分,包括了气泡排序法(Bubble Sort)、选取排序法(Selection Sort)、快速排序法(Quick Sort)以及锥形树排序法(Heap ...
此外,可能还会涉及工作与生活的平衡,以及如何在程式世界中找到乐趣和意义。 6. **技术创新与趋势**:作为经验之谈,作者可能会回顾过去的技术变迁,讨论新兴技术如人工智能、大数据、区块链等对程序员的影响,...
《LeapFrog下载程序教程详解》 LeapFrog是一家专注于儿童教育电子产品的公司,其产品如点读笔深受家长和孩子们的喜爱。本文将详细介绍如何使用LeapFrog的下载程序,帮助用户更好地利用LeapFrog Junior的点读笔,...
【KOF程式品网】是一个专注于提供全站代码资源的平台,它可能涵盖了...在KOF程式品网上,无论是初学者还是经验丰富的开发者,都能找到适合自己学习和使用的代码资源,通过不断探索和实践,提升个人在IT领域的专业能力。
微信小程序的普及使得越来越多的人希望能够创建属于自己的小程序,但许多人可能对IT知识并不熟悉,尤其对于初学者来说,这似乎是一项挑战。然而,通过使用模板化的工具,即使是没有编程基础的小白也能轻松创建出自己...
通过"155个C语言程式范例大集合"中的示例,学习者可以逐步掌握C语言中的基础语法,如变量声明、运算符使用、控制流程(循环、条件判断)、函数定义等。随后,可以进一步学习到如何使用指针访问和操作内存、如何处理...
Java语言程序设计教程主要涵盖了Java中的控制语句,包括选择控制语句、循环控制语句以及跳转控制语句。这些语句是编程过程中控制程序流程的关键元素。 1. **选择控制语句**: - **if语句**:Java中的if语句有两种...
**NSIS打包程序教程** NSIS(Nullsoft Scriptable Install System)是一款强大的开源安装制作工具,主要用于创建Windows平台上的安装程序。本教程将详细介绍如何利用NSIS进行软件打包,包括安装、基本语法、脚本...
本教程将指导你如何自制屏保程序,让你能够根据个人喜好定制自己的屏幕保护。 首先,你需要了解屏保程序的基本结构和工作原理。一个屏幕保护程序通常是用编程语言编写的,例如C++、C#或ActionScript(用于Flash)。...