Pascal初级教程第一期

0
Want create site? Find Free WordPress Themes and plugins.

 

大家好~即日起我给大家带来pascal语言的教程~第一期是一些必不可少的理论知识,可能有的枯燥。但希望各位耐心看完,对以后的学习很有帮助!

本期就Pascal进行一些简单的介绍(大多数内容来自百度百科)。   (不想看的可以跳至一/3)

本期重点:流程图表达算法

本期难点:流程图表达算法

一、前语
1.简介
Pascal由瑞士苏黎世联邦工业大学Niklaus Wirth教授于六十年代末设计并创立。1971年,瑞士联邦技术学院尼克劳斯·沃尔斯(N.Wirth)教授发明了另一种简单明晰的计算机程序设计语言,这就是以电脑先驱帕斯卡的名字命名的Pascal语言。Pascal语言语法严谨,一出世就受到广泛欢迎,迅速地从欧洲传到美国。
Pascal是最早出现的结构化编程语言,具有丰富的数据类型和简洁灵活的操作语句。
Pascal基于ALGOL编程语言,为纪念法国数学家和哲学家布莱兹·帕斯卡而命名。维尔特后来开发了类似Pascal的Modula-2Oberon。在开发Pascal之前,维尔特开发了语言Euler,然后开发了Algol-W。
最初,Pascal在很大程度上但不是完全地为了教授学生结构化编程。很多代学生已使用Pascal作为本科课程的入门语言。Pascal的变种也逐渐地用于从研究项目到PC游戏和嵌入式系统的所有领域。更新的Pascal编译器存在于广泛使用它的领域。
GCC,Gnu C编译器,最初是用Pascal的一种方言Pastel编写的(见GCC#概观)。Pascal是Apple Lisa和早期Mac开发使用的高级语言;最初Macintosh操作系统的部分是从Pascal源代码手工翻译成Motorola 68000汇编语言的。流行的排版系统TeX是由高德纳使用基于DEC PDP-10 Pascal的最初文学编程系统WEB编写的,而像Total Commander的应用是使用Delphi(即Object Pascal)编写的。
Object Pascal仍然广泛用于开发像Skype这样的Windows应用。
2.特点
l以法国数学家命名的Pascal语言现已成为使用最广泛的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。
Pascal强调的结构化编程带来了非结构化语言如Fortran之流无法比拟的美和乐趣,Unix崇尚的“小即是美”、“没有消息就是好消息”。
正因为上述特点,Pascal语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。
IOI(国际信息学奥林匹克竞赛)把Pascal语言作为三种程序设计语言之一,NOI(全国奥林匹克信息学竞赛)把Pascal语言和c语言c++语言作为竞赛使用程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。
高级语言发展过程中,PASCAL是一个重要的里程碑。1971年,瑞士联邦技术学院尼克劳斯·沃尔斯(N.Wirth)教授发明了另一种简单明晰的电脑语言,这就是以电脑先驱帕斯卡的名字命名的PASCAL语言。PASCAL语言语法严谨,编程语言。
它一出世就受到广泛欢迎,迅速地从欧洲传到美国。
沃尔斯一生还写作了大量有关程序设计、算法和数据结构的著作,因此,他获得了1984年度“图灵奖”。
3、常见问题
  1. 我没有基础, 可以学吗?当然!在众多国家中,pascal甚至作为基础语言(例如中国),小学高年级就可以开始学习了。
  2. 什么是“高级语言”?什么是“低级语言”?两者有什么区别?
    答:很多新手们对“高级语言”和“低级语言”这两个名词感到很陌生:到底什么样的编程语言才算是“高级”,而什么样的语言又算是“低级”呢?
    简单的可以这样理解:
    能够直接运行在操作系统之上,不用关心硬件如何工作,将主要精力集中在程序的开发设计上的语言都称为高级语言。
    反过来,需要考虑到硬件如何工作,需要与计算机硬件进行直接沟通的语言则称为低级语言。如:汇编语言就是典型的与对硬件进行操作的低级语言。
    例如:pascal,Bascal、C#、C++、易语言、Delphi这些都属于高级语言。汇编则属于低级语言。
  3. 什么版本的pascal最好呢?FreePascal是Pascal语言中,CCF推荐的唯一语言。下载链接: http://pan.baidu.com/s/1cyol4M 密码: f2qp
  4. 我想要进行练习,怎么办? http://www.noi.openjudge.cn/   CCF官方的一个练习网站,注册后即可进行使用。
  5. 我对于一些问题有疑问,怎么办?可以加笔者QQ1641501004著名淀粉月刊或者在百度贴吧的“jscz飞行”吧艾特“德拉伯爵”即可(均不含引号、空格)

二、正式开始。第一章算法

  1. 定义:算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度时间复杂度来衡量。无论是pascal,还是c、c++、易语言,甚至是汇编语言,都要使用算法。有人有这样一个比喻。程序=算法+命令符。也就是把算法用编程语言来表达出来就是程序。通常的“不会做”“编不出”大多数情况下全是不了解这个问题的算法。
  2. 举例。比如你饿了,想吃面包那么算法有两种。1、你可以自己找来面,找来鸡蛋,找来糖等等,然后自己一点点动手,做出来,放在烤箱里考熟,然后拿出来吃。但是你还有另外一种算法:就是你饿了,想吃面包,直接到商店里买来吃。这两种算法在时间复杂度、空间复杂度上面有区别,第二种更加好时间复杂度、空间复杂度可以理解为所花的时间、所占的空间。
  3. 表达方式之自然语言。所谓自然语言表达算法,说白了就是写作文。但是不需要考虑任何修辞手法。
  4. 表达方式之流程图(本期重点)。流程图(Flow Chart):使用图形表示算法的思路是一种极好的方法,因为千言万语不如一张图。流程图在汇编语言和早期的BASIC语言环境中得到应用。相关的还有一种PAD图,对PASCAL或C语言都极适用。以下是流程图的符号,起止框是保留,其他的都是依照算法进行增添减少。9a504fc2d56285354a47361c97ef76c6a7ef636c
  5. 表达方式之Pad图。PAD图(problem analysis diagram,问题分析图)是日本日立公司于1973年提出的一种算法描述工具,已经得到了一定程度的推广。但是不利于执行。
  6. 表达方式之伪代码。伪码(Pseudocode)是一种算法描述语言。使用伪码的目的是使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java等)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。 介于自然语言与编程语言之间。以编程语言的书写形式指明算法职能。使用伪代码, 不用拘泥于具体实现。相比程序语言(例如Java, C++,C, Dephi 等等)它更类似自然语言。它是半角式化、不标准的语言。可以将整个算法运行过程的结构用接近自然语言的形式(可以使用任何一种你熟悉的文字,关键是把程序的意思表达出来)描述出来。在编程学习到一定程度后,可以开始使用伪代码。具体的伪代码使用,会在后期讲到。

本期就到这里结束了,欢迎各位继续关注。QQ1641501004.百度ID“德拉伯爵”(引号内内容,无引号)

Did you find apk for android? You can find new Free Android Games and apps.

关于作者

3366RT

前54df论坛最后一任游民部落版主

发表评论