怎么用PASCAL编程
Pascal 排序有四种方法:选择排序、冒泡排序、基数排序、类型排序
下面给出用一条数组,进行的对20个元素的选择排序的程序段
FOR i:=1 TO 19 DO
FOR J:=1 TO 20 DO
IF a[i]<a[j]
THEN BEGIN
temp:=a[i];
a[i]:=a[j];
a[j]:=temp
END;
其中 a 是已经说明为 a:ARRAY[1..20] OF integer; 的数组变量,并且必须每一个元素都有值
初学者如何学习编程(pascal)。
学习编程已经不再是少数计算机专业人员的事情了,就如同计算机深入到我们生活的每一个角落一样,学习编程的人也是越来越多。
由于现在网络信息资源丰富,大多数人都选择了自学。
我自幼自学编程十余年,多少积累了一些经验和方法,想通过这里给这些初学的编程自学者一些个人的建议。
建议一:自学也需要看书
自学只是说没有专门的老师手把手教你,并不是说连书本都可以不要了。
有人天天来问我一些很基础的概念问题,我问他:“这些概念书上不都写得很明白吗?”他回答:“我没有书。
”如果没有书,那么你很难在脑子里形成一个较为整体性的认识,所有了解到的知识都是支离破碎的。
且不说大多数人没有精力回答你这些问题,即使回答了,很多东西也不是三言两语就能说清的,很多高手说出来的都是他们自己的理解,这些理解或许很有意味,但也许费了你半天的脑子却怎么也搞不明白。
一本书,即使不是什么经典之著,它也可以向你提供一个大体完整的框架,成为你自学过程中的一个向导。
这里要说的是:网上电子教程资源丰富,看看无妨,但手中至少应有一本印刷的书——毕竟网上的教程鱼龙混杂,其作者也许并不精通此道,很难分辨其质量好坏。
建议二:学编程更需要实践
书是有了,可是整天抱着书也不成。
编程最怕的就是纸上谈兵,我看到有的初学者,看完了大半本书,和我说起循环函数来头头是道,却连编译器长什么样都没有见过。
真要他写几行程序,便是错误百出。
我的建议是,无论你涉及编程的时间是多么地短,无论你目前学到的知识多么地少,你都应该不断地尽自己所能去编写一些小程序——即使是把书上的“Hello, World!”亲手输入进去运行一遍,都能让你的编程能力有着极速地提高。
建议三:编程是创造,不是默写
有人甚至打算用题海战术来学习编程——这完全没有理解编程的内涵。
仅仅通过“欣赏”别人写的代码也无法学好编程。
有一点需要明白:编程是一个创造的过程。
编程的意义在于:通过程序的形式,教计算机如何去完成一项任务。
写代码只是形式,真正重要的是如何完成特定的任务。
学习别人的代码固然是很有用的,可以学习别人的思想;但是如果仅仅是记忆了一些别人写好的代码,就希望能通过拼拼凑凑成为自己的程序,那是基本不可能的。
我的建议是:在自己编写程序,进行创造的过程中,借鉴前人程序中的思想方法——而不是整天处于复制粘贴的状态中。
建议四:好习惯要从开始做起
所谓“不以善小而不为”,等坏习惯养成了,再改就困难了。
因此,类似写程序要注意缩进、为变量和函数起有意义的名字、大小写的使用、行末分号的注意等等,要从一开始做起。
很多人对这些善意的提醒不屑一顾,觉得多此一举,浪费时间。
其实,如果真的能严格地去做,它们反而可以帮你节省许多时间。
建议五:不必太刨根问底
“打破沙锅问到底”确实表现了一种钻研的精神,不过我还是建议初者学,有的时候,不必太刨根问底。
编程的相关知识都是盘根错节交织在一起的,大多数问题深挖下去会越说越复杂,对于知识掌握不多的初学者来说,只能是越来越糊涂。
很多东西,时间长了,随着知识了解得深入,自然而然会明白。
就像刚刚学英语的时候,你知道“goodbye”是再见就足够了,难道非要把这个good和再见的关系先弄个水落石出吗?作为初学者,最重要的是尽快地能全面地了解整个知识的全貌,在单独的知识点上,暂时不需要太深入。
可以等知识经验丰富之后,再回头来研究。
如何学好Pascal语言?
学Pascal虽然会有障碍但是看懂了、掌握方法了也就不难了,因为我们现在学都是跟着竞赛班学的,所以不会太吃力。
在我看来我同意楼上的观点,学Pascal更重要的是要理清方法的思路,自己模拟运行一下,这样就不难理解其中的要领了。
重点的就是那些细小但十分重要的处理,这些个不起眼的小句子甚至关系到程序的成败,比如s:=s+1呀、变量交换等等,我建议你最好买一些信息学的奥赛书。
注:专业的信息学奥赛书都不是畅销书,在普通书店很难买到,最好邮购或者上网买。
学会自己列框架,像这样:
Free Pascal类型及内容:
一、程序基础:
1、你的第一个程序; 2、输入输出语句; 3、整数类型与实数类型;
4、字符类型与布尔类型; 5、变量与常量; 6、系统预定义函数;
7、关系运算与表达式; 8、位运算及其应用。
二、程序的基本结构:
9、顺序结构与分支结构; 10、多分支结构; 11、for循环;
12、while循环; 13、repeat…until循环; 14、循环综合应用;
15、随机函数及其应用。
三、构造数据类型:
16、子界类型与集合类型; 17、数组类型; 18、数组的排序;
19、多维数组; 20、字符串类型; 21、高精度运算;
22、数值转换及其应用; 23、枚举类型; 24、记录类型; 25、文件类型;
26、文件输入输出实例。
四、结构化程序设计:
27、过程与参数传递; 28、自定义函数; 29、结构化程序设计;
30、程序的时间复杂度; 31、递推算法; 32、递归算法; 33、分治算法; 34、回溯算法。
五、动态数据结构与线性表:
35、顺序结构与HASH表; 36、指针类型; 37、链表; 38、线性结构及其描述;
39、栈式结构及其应用; 40、栈与深度优先搜索; 41、队列与广度优先搜索;
42、程序的空间复杂度。
六、非线性结构:
43、树形结构及其特点; 44、二叉树极其特征; 45、二叉树的应用; 46、图及其表示;
47、图的典型算法; 48、图的简单应用; 49、欧拉图与哈密尔顿图;
50、非线性结构综合。
七、高效算法入门:
51、贪心算法; 52、搜索优化; 53、双向广度优先搜索; 54、动态规划基础;
55、数论基础; 56、排列与组合初步。
学Pascal的关键在于你必须了解代码每一步的含义和意义,知道为什么要运用这种思路,懂得要优化自己的程序,再多多的实践。
老师讲那是带领你进行系统的学习,当然也会忽略一些重点内容,而如果自学难度就又要大一些了。
若你有不会的问题你大可以找老师询问,有困难找老师帮忙解决,相信你一定会有提高,哪怕只是一点点的进步。
其实一般你理科好,学Pascal应该是一点也不吃力的。