用汉语编程序:太极语言解释运行程序设计(序)

来源:互联网 发布:php环境配置教程 编辑:程序博客网 时间:2024/05/22 04:43

用汉语编程序:太极语言解释运行程序设计(序)

快速入门:

把下面的例子程序保存
输入
太极 文件名
就可以运行了。

比如存为文件"天",
输入
太极 天
就可以了

当然要先到我的网站(http://taiji9.getbbs.com)上下载下来太极语言解释器

1.
显示("太极");//显示“太极”


2.
整数 a;//定义整数变量 a,(其实是分配内存单元)
a=9+2;//给 a 赋值 ;
显示(a);//显示a;

整数 甲;//定义整数变量甲
甲=9+2;//给甲赋值 ;
显示(甲);//显示甲;


3.
// 从//到行末是注释,会被编译程序直接略过,不用输入,/*与*/之间的也是注释
整数 a;//定义整数变量 a,(其实是分配内存单元)
a=9;//给 a 赋值 ;
整数 b;
b=10;  //定义b,赋值10;
b=a+2;  //现在b变成11了。
a=a+b; 
//a原来的值+b的值,把结果赋给a;a现在是21;
a=a+1;//现在a是几?

a=a*b-a-b; //现在呢,
//*为乘,/为除,%为除法取余数。

 

4.
整数 a;
a=2;
星星 :;//标号名,任意取
a=a+1;
显示(a);
飞 星星;//飞 会控制程序流程跳转到指定处。

这个程序会无限循环下去的,按ctrl+c可以终止。

改动一下:
整数 a;
a=2;
星星 :;//标号名,任意取
a=a+1;
显示(a);
飞(a<10) 星星;//符合条件才跳转

----------------------------------------------------
变量名取名规则:首字是汉字或英文名或下划线_,后面可以是汉字或英文名或下划线_或数字。
如果首字是数字,则被认为是数字而不是变量名。
以后的函数名,类名……也是按这个规则。
-----------------------------------------------------

5.

整数 i;
i=0;
/*注释:当(i<10)时循环做{}中的。直到i>=10为止。
每循环一次后都看一下是否符合条件。*/
循环(i<10)
{
显示(i);
i=i+1;
};

格式:循环(条件)
      {
....
  }
想一下:如何 用飞实现相同的功能?


6.

//求0+1+2+3+……+10;
整数 i;
i=0;
整数 j;j=0;//定义j,保存结果。
循环(i<=10)//循环到10;
{
j=j+i;//j 依次加上递增1的i。
显示(j);
i=i+1;
};


想一想:
(1)求:1+2+3+.................+100
2+4+6+.............+100
1*1+2*2+3*3+...........+100*100

(2)用"飞"实现此程序

7.指针
/*
电脑内存单元一个个的排好,
每个单元所排的顺序数叫这个单元的地址,
单元存储的内容叫单元的值。

单元存储什么数字都可以,
那么当然可以存其他单元的地址了(也是数)
这就叫指针,因为其值指向另一个单元。
*/

数据定义的方式是
类型 变量名;
于是

整数 a;a=8;
整数 *  pa;// 定义整数 型的指针 pa;把整数 * 整体看成类型。
pa=&a;//pa 指向a ,pa单元的值为a的地址。
//比如可能是24000010;这与系统有关。
//定义一个变量时要给这个变量分配一定的内存单元。
*pa=9;//取pa所指向的内存单元,其值赋为9;

整数 * *   ppa;//把整数 * * 整体看成类型。
ppa=&pa;//ppa是指向指针pa的指针
**ppa=7;
显示(a);
显示(*pa);
显示(**ppa);

 

8.函数
整数 累加(整数 n)// 返回值类型 函数名(参数)
{//求0+1+……+n;
整数 i=0;
整数 j=0;
循环(i<=n)
{
j=j+i;
i=i+1;
}
归 j;//返回j的值;
}
累加(20);//函数调用。20传递给累加的参数n;调用函数。
整数 k;
k=累加(100);//返回值赋给k;


用函数提高了代码的可重用性。
格式:
返回值类型 函数名(参数)
{
.....
}


整数 交换(整数 *p1;整数 *p2)
{//交换p1指向的和p2指向的内存单元的值。
整数 i;
i=*p1;// i赋p1所指向的值。保存之。

*p1=*p2;//p1所指赋p2所指
*p2=i;
}

整数 a;
a=2;
整数 b;
b=3;
交换(&a;&b);
显示(a);
显示(b);

下面是一个不能完成交换功能的函数。
交换(整数 a,整数 b)
{
整数 i;
i=a;
a=b;
b=i;
}
整数 x;x=2;整数 y;y=3;
交换(x,y);

每个变量都对应一个内存单元,包括函数的参数;每个独立区域中的变量互不牵扯,重名也不要紧,不相干。
比如上面的交换(x,y);x的值传给交换函数母体中的参数a,y传给b;那么怎么交换a,b都不干x,y的事呀。
后面的那个,即使同名也还是不行。
执行进入函数体后,才为此函数体中的变量分配内存单元。
函数返回后,其变量全被释放。

 

取得键盘输入字符:
字符 a;
a=按键();//按一键后返回键值。
显示(a);

9.判断
字符 a;
a=按键();
若(a=='y')
{显示("yes");}
另若(a=='n')
{显示("no");}
另若(a=='?')
{显示("why");}

{
若(a=='k')
{显示("aaaaaaaaaaa");}
else
{显示("bu zhi dao");}
}
显示(a);

试验一下就懂了。
这很象人说的话呀。就是话的意思。
字符用单引号引起来,字符串用双引号。


字符 a;
a=按键();
择(a)
{
况 ('y')
{显示("yes");}
况 ('n')
{显示("no");}
缺省
{显示("???");}
}

若按了除y,n以外的其他键,则执行缺省(缺省)

10.循环控制:
整数 a;
a=2;
循环(a<10)
{
显示(a);
若(a==8)
{续;}
a=a+1;
}
续是跳到循环开始。

整数 a;
a=2;
循环(a<10)
{
显示(a);
若(a==8)
{断;}
a=a+1;
}
断是跳出循环


11.数组
整数 [10]a;//定义数组a,含10个整数型变量
a[0]=1;//a的第0个变量赋值为1.
整数 i;i=0;
a[i]=i*i;
显示(a[i]);
循环(i<10)
{
i=i+1;
a[i]=i*i;//给第i个变量赋值
显示(a[i]);
}

 

12.递归
整数 累加(整数 n)
{
若(n==1)
{归 1;}
整数 r;
r=累加(n-1)+n;

归 r;
}
整数 k;
k=累加(5);
显示(k);


13.字符串
整数 串长(字符 * str)
{
整数 i;
i=0;
显示(str[i]);
循环(str[i]!=0)
{
显示(str[i]);
i=i+1;
}
归 i;
}
字符 * str;
str="aaaaaaaaaaa";
整数 k;
k=串长(str);
显示(k);

14.类
类 学生
{
字符 * 名;//定义成员变量
整数 龄;
整数 身高;
};

学生 陈;////定义类实例
陈.名="陈";////给成员变量赋值
陈.龄=25;
学生 * pcw;//指针
pcw=&陈;
pcw->身高=170;//通过指针访问成员变量

显示(陈.名);
显示(陈.身高)

 

类 链
{
整数 a;
链 * p;
};
链 c1;
链 c2;
c1.p=&c2;
c2.p=&c1;
c1.a=9;
c2.a=8;
显示(c1.a);
显示(c1.p->p->p->a);

 

------------------------------
解释器系统特性:

1.
整数 a;
整数 b;
整数 c;
runcode(a=1;b=2;c=3);//运行()中的代码
c=c+a;
显示(c);

2.
整数 a;
整数 b;
整数 c;
字符 * str="a=1;b=2;c=3";
runstr(str);//运行()中字符指针变量指向的代码
c=c+a;
显示(a);
显示(c);
str[2]=str[2]+1;//动态更改代码。
runstr(str);//运行()中字符指针变量指向的代码
显示(a);


------------------------

在这篇序中我简单的说了一下,我想应该是很容易入门的。你学习C/C++的知识与代码积累都可以用在太极语言上。

我的 csdn blog:
http://blog.csdn.net/universee
目前太极语言解释器还未经过严格测试,如果你发现了问题,可以去我的blog上回复告诉我。
2006.4.22夜

原创粉丝点击