预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共70页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PASCAL基础教程PASCAL基础教程1、Pascal语言概述与预备知识 2、Pascal语言基础知识 3、顺序结构程序设计 4、选择结构程序设计 5、循环结构程序设计 6、常用算法设计题集 7、文件操作 8、指针Pascal是一种计算机通用的高级程序设计语言。它由瑞士NiklausWirth教授于六十年代末设计并创立。 以法国数学家命名的Pascal语言现已成为使用最广泛的基于DOS的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。 正因为上述特点,Pascal语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一,NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。 在Pascal问世以来的三十余年间,先后产生了适合于不同机型的各种各样版本。现在NOI和NOIP提倡使用FreePascal(简称FP),现在最新的版本是2.0.4,官方网站:http://www.freepascal.org。 FP是编译型程序语言,它提供了一个集成环境的工作系统(IDE),集编辑、编译、运行、调试等多功能于一体。FreePascal的启动FreePascal主界面Pascal程序基本组成Pascal程序基本组成保留字(关键字)保留符号标识符Pascal数据类型Pascal数据类型Pascal数据类型Pascal数据类型常量变量自定义变量标准函数标准函数标准函数标准函数运算符和表达式运算符和表达式运算符和表达式赋值语句输入语句输入语句输出语句输出语句输出语句复合语句复合语句If语句If语句If语句Case语句Case语句条件语句练习题For语句For语句FOR循环练习题While语句While语句WHILE循环练习题Repeat语句Goto语句程序设计与算法程序设计与算法程序设计与算法程序设计与算法程序设计与算法程序设计与算法程序设计与算法程序设计与算法编程入门题例编程入门题例编程入门题例[程序] PROGRAMOper; Varx,y,n:real; operator:char; Begin write('Inputx,y:');readln(x,y); write('Inputoperator:');readln(operator); Caseoperatorof '+':n:=x+y;{加法运算} '-':n:=x-y;{减法运算} '*':n:=x*y;{乘法运算} '/':Ify=0then{除法运算} beginwriteln('Divideiszero!');halt;end Elsen:=x/y; elsebeginwriteln('Inputoperatorerror!');halt;end; End; writeln(x:6:2,operator,y:6:2,'=',n:6:2); End. 编程入门题例[程序] {$I-} ProgramNinShu; Varx,a,b:Integer; ProcedureReadDigit(n:Integer);{念数过程:n=0~9} Begin Casenof 0:write('LING'); ……{略} 9:write('JIU'); End; End;{ReadDigit} Begin{main} Repeatwrite('Inputdata:');readln(x); if(x<0)or(x>99)thenwriteln('CuoLe'); Until(x>=0)and(x<=99); If(x>=0)and(x<=9)thenReadDigit(x){调用念数过程} ElseBegina:=xDIV10;b:=xmod10;{位数拆分} Ifa<>1thenReadDigit(b); writeln('Shi'); ifb<>0thenReadDigit(b); End; writeln; End. 编程入门题例解法一:初始时:A数组存放N个互不相等的数;B数组用于存放数组A的下标。 ProgramMax01;{冒泡排序法} vari,j,n,m,x:integer; A,B:ARRAY[1..100]ofinteger; ProcedureInit;{读数初始化过程} ……{附后} Begin{MAIN} Init;{读数过程} fori:=1toN-1do{冒泡排序} forj:=i+1toNdo ifA[i]<A[j]then beginx:=A[i];A[i]:=A[j];A[j]:=x;{交换