您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 一天学会Free-Pascal
一天学会FreePascal制作者:ax_pokl前言•第一章一向是很重要的,无论你是否学过Pascal语言都请看一下。•本教程不是为了NOIP的人写的,本教程不会过多涉及算法。那些脑残学很牛逼的牛群们请立即退散。•本教程是为了使那些学了C语言(或其它编程语言)能够瞬间看懂pascal语言程序的人写的。本教程也适合初学者观看。•本教程是本人写的第一个教程,吐槽是可以的但吐得太多会伤身体。•如果有什么问题,欢迎QQ:395838203。•发现任何错别字或程序bug,也请联系:395838203。目录目录•第一章Pascal语言介绍•第二章编译写好的程序•第三章编写简单的程序•第四章子程序•第五章单元库•第六章编译指令•第七章子界和枚举•第八章数组集合文件记录指针•附录封面第一章Pascal语言介绍•什么是Pascal?好吃么?•Pascal语言是什么语言?•什么又是机器语言呢?•机器语言都是相同的吗?•X86指令集包括哪些指令?•什么是计算机程序?•汇编语言又是什么傻逼东西?•为什么需要Pascal语言?•如何让计算机读懂Pascal语言?•编译器是如何运作的?目录什么是Pascal?好吃么?•Pascal的取名是为了纪念十七世纪法国脑残学家BlaisePascal(不来色·帕斯卡)。所以Pascal并不好吃。programhello_world;beginwriteln('HelloWorld!');end.一个好看的Pascal语言程序很可能长得像这样:第一章Pascal语言是什么语言?•Pascal语言是计算机程序语言(简称程序语言),使用这种语言不仅能让我们编写计算机程序,例如:Windows操作系统、猜数字小游戏、魔兽争霸3,皮卡丘沙滩排球等等,还可以使我们变得更加脑残。•计算机俗称电脑,是一种糟糕物。它通常是一个屏幕,一个鼠标,一个键盘,和一个黑箱子。有时候人们说的计算机仅仅指它的黑箱子。•这个黑箱子过去曾经是为了帮助脑残学家研究脑残学才被发明的,它的效果就是帮那些懒惰的脑残学家在研究脑残学时减少运动量。•事实上八成的计算机并不能够读懂Pascal语言。计算机只能读懂机器语言,对机器语言作出反应。第一章什么又是机器语言呢?•机器语言是一种只有计算机才读得懂的语言,也是计算机唯一能够直接读懂的语言。这种语言只有两个字母:0和1。人类阅读机器语言时会发生眼残:第一章什么又是机器语言呢?•世界上只有个别脑残学家看得懂机器语言,所以我们才需要其它容易看得懂的计算机程序语言来告诉计算机我们要它做什么。•机器语言所有的“单词”的集合,叫做计算机的指令集。指令集也就是计算机黑箱子能做的事。•比如“01011001010010”是一个机器语言单词,它的意思是告诉计算机在屏幕上画一个白点。而计算机所有能做的事,基本上就只是在屏幕上画白点点了。第一章机器语言都是相同的吗?•有些计算机不仅能够在屏幕上画白点,还可以画红点、绿点和蓝点。•不是所有计算机懂得的机器语言都是相同的,它们的能力有高低。•通常的家用计算器和笔记本计算机都懂得X86指令集。这是一个古老的通用的指令集,即使是今天大多数计算机都认得它。第一章X86指令集包括哪些指令?1.数据传送指令——就是把数据传来传去,比如传给屏幕。2.算术运算指令——就是做一些0-255内的简单加减法。3.逻辑运算指令——就是做一些傻逼的逻辑运算。4.串指令——顾名思义,就是一串一串执行指令。5.程序转移指令——就是转移去执行其它的指令。6.伪指令——计算机不认识的假的指令-_-!7.其它指令——比如空指令,高级指令,等等。原来计算机只会做这些傻逼事情。。。。。。虽然计算机只能够做这些事情,计算机已经显得足够伟大了。第一章什么是计算机程序?•计算机程序(ComputerProgram,简称程序)是语句的集合。语句是单词的集合。•为了编写一个机器语言程序,人类发明了汇编语言。•汇编语言的词语是一些英文单词的缩略语和一些数字。每条缩略语和一些数字的组合与机器语言指令相对应。这样,人们就不用书写0和1的机器语言代码了。写完程序后对照书本把英文单词和数字翻译成0、1的代码就能完成机器语言程序了。第一章汇编语言又是什么傻逼东西?•事实上,即使有了汇编语言(ASM语言),能够使用英文表达自己的意思,计算机也只能做些很傻逼的事。•如果要它在屏幕上输出“你好,妈妈”几个汉字,你也许需要让它发送无数个指令给屏幕让屏幕画很多很多点。于是就诞生了更加高级的语言,比如Pascal语言。一个经过反编译的EXE程序至少不再是乱码了第一章为什么需要Pascal语言?•计算机编程语言分三类:机器语言,低级语言,高级语言。•机器语言就是0、1构成的语言。之前我们说的汇编语言就是低级语言,它唯一的好处就是使用了英文作为记注符而不是数字。高级语言就多了,最有名的莫过于C语言了。Pascal语言也算一种,除此之外还有:FORTAN,C++,Java,VB,Delphi,Lisp,prolog,等等。•还有一些脚本语言虽然不是编程语言,但是也是计算机语言如:bat,vbs,HTML,asp。第一章为什么需要Pascal语言?•正因为机器语言、低级语言可读性差,所以我们需要形如Pascal语言的高级语言来编写程序。一个Windows操作系统的程序代码重达1G,它的代码位于%SYSTEMROOT%\System32下包含几亿条指令。即使一个人一秒能够写一条指令,它也一辈子都写不完啊!•使用Pascal语言我们可以快速准确方便地书写程序,但是计算机并不能够直接读懂Pascal语言,所以我们需要一样很重要的东西。第一章如何让计算机读懂Pascal语言?•编译器(Complier)是一个由某个超级脑残编写出来的机器语言程序,它能够让计算机自动将一个Pascal语言程序转换成机器语言程序。programhello_world;beginwriteln('HelloWorld!');end.编译器Complier囧!第一章编译器是如何运作的?•将一个高级语言程序转换成机器语言程序的过程叫做编译。将一个高级语言程序转换成机器语言程序的原理叫做编译原理(感觉像是废话)。•例如编译器获得“writeln('HelloWorld!');”这条语句后就会分析这条语句的语法,然后将得知这条语句其实就是在屏幕上输出一些白点而已,便把需要做的事转换成乱七八糟的东西。•编译原理十分复杂,因为要理解人类的语言并非易事,所以只有一些脑残人士才能写的出编译器来。•有很多人写过编译器,最有名的莫过于TruboPascal编译器,它的Inline-Complie技术曾震惊全世界。第一章在哪里能够得到编译器?•当然是网上下载啦~!•由于TruboPascal编译器已经过时,这里推荐FreePascal编译器:•如果使用的不是Windows32位操作系统,也可以去这里下:•不同的编译器理解Pascal语言略有不同,这造就了略有不同的Pascal语言语法(语言是随着时代变迁的嘛)。以后讲到的的Pascal语言语法都是基于FreePascal编译器的。第一章第二章编译写好的程序•编写你的第一个Pascal程序•如何查看程序运行结果?•程序出错了怎么办?•部分中文计算机用户遇到的问题•常用快捷键(请熟记!)•大致了解你写的第一个程序•编译Pascal程序用到文件的类型•调试目录编写你的第一个Pascal程序第一步:打开fp.exe(请确定你已经正确安装了freepascal)然后你会看到形如右边的界面:第二步:点击File,New然后在蓝色的背景中按照左边的图打字。切记:不可错一字,不可倒一字,不可漏一字,不可多一字!第二章编写你的第一个Pascal程序第三步:按F9开始编译会弹出一个对话框叫你保存。输入hello_world后按Ok。如果正常,此时你会看到如下界面:第四步:按Ctrl+F9运行程序你会发现屏幕闪了一下,这表示你编译并运行成功了。第二章如何查看程序运行结果?•想知道刚才程序做了什么事,你可以按Alt+F5查看,或者点击Debug,UserScreen来查看。•原来傻逼计算机只是在屏幕上输出了一些白点点。第二章程序出错了怎么办?•当你编译了程序后如果有错误,会出现以下提示:这时候你按回车,光标会停在错误出现的后一个字符(没准是下一行)上。你必须修改错误的部分直到程序能够正确编译为止。如图,最常见的错误莫过于分号漏加。图中的“;”exceptbut“BEGIN”found意思就是分号漏加了。第二章程序出错了怎么办?•在编译的时候出的错叫做编译错误,还有种错误是在运行的时候出错的,叫做运行时错误。比如你让计算机去计算3除以0,语法上是没有错误但是不符合逻辑。•不同的错误有不同的出错代码,具体请参见附录里的“Pascal错误码表”。出错提示中的(2,1)是出错的行数和列数。第二章部分中文计算机用户遇到的问题•有时候你家的freepascal看上去像这样:•请别紧张,这只是脑残计算机在和你看玩笑。这表现出你家计算机逻辑混乱的另一面。事实上,出现这种情况是因为你的计算机使用了错误的代码页。你可以建立一个bat脚本输入以下内容后再运行:chcp437nulfp.exe第二章常用快捷键(请熟记!)•Alt+Enter•Alt+X•F2•F3•F9•Alt+F9•Ctrl+F9•Alt+F5•F8•F7•Ctrl+F8•Ctrl+F7•全屏•退出•保存•打开•编译并连接•编译•编译连接并运行•看结果•单步步过运行•单步步入运行•加断点•加跟踪变量第二章大致了解你写的第一个程序programhello_world;{程序总是以program和一串英文字母开始}{单词之间用空格隔开}begin{程序的语句部分开始}writeln('HelloWorld!');{输出一个字符串}end.{程序总是以end和一个英文半角句号结束}{大括号里写的都是注释}{注释会被编译器忽略}(*除此之外,你还可以用一个半圆左括号加一个星号和一个星号加一个半圆右括号表示一段注释*)1+1=3//程序结束以后加什么内容编译器//都懒得鸟你,一行内的两根斜杠后面的//内容也会被认为是注释。{你甚至还可以用//嵌套的方法}//表示这是注释!{原来一个pascal语言程序就是这么写的。}栗子:hello_world.pas第二章编译Pascal程序用到文件的类型.pas程序源代码.bak程序源代码的备份.o目标文件(经过编译的源代码).exe编好的程序(经过连接的目标文件).pp单元库文件.ppu经过编译的单元库文件.inc源代码的一部分(头文件).pas.ppu.o.pp.exe编译连接第二章调试•你可以在学习编写简单的程序以后再来看这一节。•调试是一种检查程序运行时错误的重要手段。•当你学会了一些编程方法并能够熟练书写程序以后,编译错误已经不再是你畏惧的东西了,但运行时错误将永远陪伴你。•世界上最讨厌的事不是程序中有错,而是不知程序的错出在哪里。•一个程序编写完以后进行运行。如果运行的结果和期望的不同,那就需要调试修改。第二章调试•按F8进行一句一句执行。•如果错误出线在某个子程序内,可以按F7进入子程序一句一句执行,F7也会跟进其它文件内的子程序。•按CTRL+F7输入变量名称,随时查看变量的值。•所有的调试功能都在菜单中的debug中。•除了F8和F7以外,你还可以使用F4直接执行到某一条语句后停止。•除此之外,使用CTRL+F8添加程序断点以后再用CTRL+F9也是一种可取的调试方法。第二章第三章编写简单的程序•语句和程序段•最简单的程序•更高级的程序•常量和变量•关键字和标识符•数据类型•定义常量和变量•操作符•运算符•优先级•让计算机进行简单的数学运算•赋值•交换两个变量的值•条件•让计算机求解一元
本文标题:一天学会Free-Pascal
链接地址:https://www.777doc.com/doc-5481153 .html