大道至简的第一章中开头就举出了一个家喻户晓的故事—愚公移山,这个故事可以很容易的看出原始需求,即:“惩山北之塞,出入之迂”,项目目标:“毕力平险,指通豫南,达于汉阴”,技术方案则为:“叩石垦壤,箕畚运于渤海之尾”。参与项目的人员:“(愚公)率子孙荷担者三夫”外协一名:“邻人京城氏之孀妻,有遗男,始龀,跳往助之”。从而看出编程的根本也就是:顺序,循环和分支。
import.java.移山.*;
public class YiShan
{
if (愚公去世&&子孙一直存在)
{
while(山没有移完)
{子孙后代移山;}
}
}
这个就是愚公移山的简单程序。
可以再举一个有关例子:
首先定义 x:一个人
y:可以编程
z:设计师
import.java.sh.*;
public class Shenghuo{
while(x活着)
{
if(x是先天智障||x是后天懒惰者)
{x不能做到y;}
else
{
if(天气冷x先穿衣服后洗漱&&天气热x可以先洗漱后穿衣服)
{
if(x生病、不能行动、有意外)
{当日略过;x能向z发展;}
else
{x会y;}
}
}
}
}
此上就是一个简单的伪代码,表示穿衣洗漱顺序问题,也是有顺序,循环,分支构成的。程序就是算法加结构,编程是一种行为只需要知道他的逻辑方法就可以了,并且用程序语言描述给计算机。算法是对一个程序的逻辑实现的描述,而结构是逻辑实现所依附的数据实体,只要开发人员把程序的算法设计出来了,巴结狗描述出来了,那么程序就已经定型了。