|
说回自己的老本就是free pascal
或许是机缘或许是注定,学校有信息学比赛,于是我就加了进去学习了编程语言
戏剧性的是,学了这个编程语言直接让我学会了T和轻松掌握了J
而小学六年我可是无聊的在那玩了六年物编啊!!!
感觉有些不可思议,一年前我还是WEer白痴,一年后我就在这里做管理写教程了!
其实一开始学编程首先是觉得好玩,也是认为编程对与以后非常有用,至少现在我是对的,你们有兴趣可以去学学free pascal这个语言
free pascal语言设计简洁,语法简单,对于文件的读写有着强大功能
接下来带来一段代码,对free pascal的语法进行简单的说明
这个代码是我用来加密一些日记文件的。。。
var 【FP中定义变量要在var下】
ZL,CDK:string; 【定义格式为: 变量名1,变量名2...:变量类型;(分号不能忘记)】
st:char; 【数组则是:变量名1,变量名2...:array[起始..结尾]of 变量类型;(起始结尾可以是数字,也可以是字符)】
key:integer;
procedure WR; 【定义一个过程叫做WR,相当于JASS中function没有takes和returns。FP也有function,就是有takes和returns】
begin 【 FP程序部分在begin和end.(别忘了end后面的 "." ) 之间】
assign(input,'SOBAD.txt'); 【这是将一个文件与FP读入文件对应起来】
assign(output,'daily.txt');
reset(input); 【将input作为读入文件】
rewrite(output); 【将output作为输出文件】
readln(key); 【读入一整行的字符并存入变量key】
while not eof do 【while 布尔语句 do begin end; 这个意思是当布尔语句结果是true时运行 begin与end;间的语句】
begin
read(st); 【读入一个字符并存入st】
write(chr(ord(st)-key)); 【wirte();输出字符, chr()是转化数字为字符,ord()效果相反,都是用Ascii码来转变的,比如"A"=65】
end;
close(input); 【关闭输入文件,要不无法打开这个文件】
close(output);
end;
procedure RE;
begin
assign(input,'daily.txt');
assign(output,'SOBAD.txt');
reset(input);
rewrite(output);
randomize; 【这是随机化random出来的结果,要不然只会随机出714.....(....代表数字)】
key:=random(10)+1; 【 FP的赋值语句是 变量:=表达式;】
writeln(key);
while not eof do
begin
read(st);
write(chr(ord(st)+key));
end;
close(output);
close(input);
end;
begin 【这是主程序的开始】
writeln('please input CD-key'); 【 如果没有对应输出文件,则是在程序运行面板上显示这句话】
readln(CDK);
if CDK='SBYL' then 【 if语句出现啦~~~语法有啥不同自己看吧(SBYL是什么意思哦?不告诉你)】
while true do
begin
writeln('please input 指令');
readln(ZL);
if ZL='RE' then re 【调用过程re】
else if ZL='WR' then wr 【调用过程wr,这里为什么没有";"呢,因为if语句是一句话,还没结束,后面还有else】
else if ZL='BR' then break;
end;
end. 【主程序的结束】
还有FP是不分大小写的
好了,FP的基本语法就介绍完了(FP支持递归)
深入的还有hash表,链表的运用和各种的算法(SPFA,qsort,top排序,二叉树遍历。。。。。等等)
ps:有任何想做游戏动漫类论坛的各个志同道合的朋友加下群,
来论坛当版主吧!
我们一起打造一个好论坛!
论坛主要是WE,作图的非常欢迎你们来哦!
想版主的请进,不需要你多牛逼,只要你会就可以了!
QQ群:285044839
站长:zero、小宁
这篇教程就出自本论坛
|
|