发布网友 发布时间:2022-04-20 08:51
共2个回答
热心网友 时间:2022-05-23 15:54
给你pascal编程吧..第一章 PASCAL程序设计介绍1.1 PASCAL介绍1.1.1 PASCAL语言介绍PASCAL语言是由瑞士的沃斯(N.Wirth)教授于1971年提出来的。它的命名是为了纪念法国数学家Pascal。它是世界上第一个结构化的高级程序设计语言。结构化程序设计主要由三种基本结构(顺序结构、选择结构、循环结构)组成。后来有人把函数和过程作为第四种基本结构。这四种结构对外看都有一个入口,一个出口,结构清晰,避免了由GOTO语句所引起的混乱。另外在程序设计方法方面,主张采用自顶向下,逐步求精的方法。即将一个大的复杂问题,划分成若干少的易解决的问题。每个小问题,又可划分成一些更小的更易解决的问题。这样,每个小问题解决了,整个大问题也就解决了。这种方法也为多个人合作编程提供方便。由于PASCAL语言具有良好的结构程序设计特性,适合于教学,特别是适合于培养学生掌握自顶向下逐步求精的结构化程序设计思想和方法,并养成良好的程序设计风格和习惯,因此,国内外许多大学都将PASCAL作为一门程序设计教学语言。1.1.2 PASCAL程序设计的编辑、保存、调试例1-1:输入半径求园的周长和面积?program circle; const Pi=3.14; var r,L,s:real;begin write('r='); readln(r); L:=2*pi*r; s:=pi*r*r; writeln('R=',r:8:2,' L=',L:8:2,' S=',s:8:2);end .1.2 PASCAL基本组成1.2.1 PASCAL中使用的常量与变量程序中数据分为两类:一类是在程序执行过程中其值保持不变的量,称为常量;另一类是在程序执行过程中,其值可以改变的,这类数据称为变量。1.常量说明在程序中,如果一个常数反复多次出现在程序中,用户可以通过说明语句来定义一个标识符来代表这个常量。如: const pi=3.14; country='China'; success=true;2.变量说明PASCAL程序中数值可以改变的量称为变量,由于变量可以取不同的值,因此变量必须通过标识符来代表。程序中出现的每个变量都必须在程序的变量说明部分进行类型说明.变量说明语法图如下:如: var x,y,z:real; i,j,k:integer; ch:char; t,f:boolean; name:string;1.2.2 Turbo Pascal中标准数据类型介绍数据的类型确定了该类数据的表示形式和取值范围,而且确定了其所能参加的各种运算。1.整型名称类型标识符数据表示范围占用存储空间整型integer-32768 ~ +327671byte短整型shortint-128 ~ +1272byte长整型longint-21474838 ~ +214748374byte字节型byte0 ~ 2551byte字型word0 ~ 655352byte2.实型:实型有4种类型,如下表示实型名称类型标识符数据表示范围有效位占用存储空间实型real-2.9*10^39~+1.7*10^3811~126byte单精度型single-1.5*10^45~+3.4*10^387~84byte双精度型double-5.0*10^-324~+1.7*10^30815~168byte扩展型extended-1.9*10^-4932~+1.1*10^493219~2010byte装配十进制型comp-2^63+1 ~ +2^63 –1 19~208byte例:var x:real;当x的数学值为2时,在计算机中的值为:2.0000000000E+00当x的数学值为-25时,在计算机中的值为:-2.5000000000E+01当x的数学值为0.05时,在计算机中的值为:5.0000000000E-023. 字符型和字符串型名称类型标识符说明字符型char单个字符用一对单引号括起的数据。字符串型string一个或一串字符用一对单引号括起来的数据。例: var ox:char; note:string; name:string[5];4.布尔型名称类型标识符说明布尔型boolean值只有true和false,分别表示真和假或对与错。1.2.3 运算符、标准函数及标准过程1.运算符2.标准函数和过程PASCAL中提供了很多标准函数和过程给用户直接使用,方便了我们编程,下面介绍一些常用的标准函数和标准过程,其它函数和过程可以在Trurbo Pascal的帮助文件中查阅。(1) 算术标准函数函数名称X类型结果类型说明abs(x)绝对值整型,实型整型,实型Abs(-25)=25sqr(x)平方值整型,实型整型,实型Sqr(5)=25sqrt(x)平方根整型,实型实型sqrt(25)=5.0000000000E+00trunc(x)取整整型,实型整型截取整数部分。trunc(-2.3)=-2round(x)取整整型,实型整型四舍五入取整。trunc(-2.6)=-3trunc(-2.3)=-2int(x)取整整型,实型实型截取整数部分int(2.5)=2.0000000000E+00int(-2.5)=-2.000000000E+00frac(x)取小数整型,实型实型frac(2.5)=5.0000000000E-01exp(x)指数整型,实型实型例:求e3 即,e为2.718exp(3)=2.0085536923E+01ln(x)对数整型,实型实型例:求log10(2)ln(2)=6.9314718056E-01random随机数无实型随机产生(0,1)间的随机数random(x)随机数整型整型随机产生[0,x-1]间的随机数其它函数还有正弦函数sin(x),余弦函数cos(x),反正切函数arctan(x),自然对数函等等,请需要时从Turbo Pascal中的帮助文件查阅。注:在PASCAL中没有定义幂运算函数xn 。但可采用下面式子计算:exp(n*ln(x)) 。(2) 算术标准过程[1] dec(x) 相当于 x:=x-1[2] dec(x,n) 相当于 x:=x-n[3] inc(x) 相当于 x:=x+1[4] inc(x,n) 相当于 x:=x+n(3) 字符处理标准函数为了说明方便,设s,str,str1,str2为字符串型(string),ch为字符型(char)变量。[1] concat(str1,str2)作用:把两字符串连接成新字符中串。例:concat('abc','def') 结果:'abcdef'[2] copy(str,a,b)作用:从字符串str的左边第a(整数)位开始截取b(整数)位字符串。例:copy('abcdef',2,4) 结果:'bcde'[3] length(str)作用:求字符串str的长度。例: length('abcdef') 结果:6 ;length('') 结果:0 ;length(' ') 结果:1[4] chr(x)作用:求x(x为整数1--255)表示的ASCII代码对应的字符例:chr(65) 结果:'A' ;chr(66) 结果:'B'[5] ord(x)作用:求x的序号,其中x必须为有序类型。有序类型如:字符型、布尔型、整型、枚举型、子界型等。例:ord('A') 即'A'的ASCII码值为:65 ;ord('B') 即'B'的ASCII码值为:66 ord(true) 结果:1; ord(false)结果:0 ord(13) 结果:13;ord(0)结果:0[6] pos(str1,str2)作用:求字符串str1在字符串str2中的开始位置,结果为整数。例:pos('abc','efabcdg') 结果:3 ;pos('abc','efabfgh') 结果:0[7] upcase(ch)作用:把ch对应的字符转为大写字母。例:upcase('a') 结果:'A' (4) 字符串处理标准过程[1] delete(str,a,b)作用:从字符串str的左边第a(整数)个字符开始向右连续删除b(整数)位字符,并把剩余字符串赋给str例:str:='abcdefgh';delete(str,4,3); 最后str结果为:'abcgh' str:='abcdef';delete(str,8,3); 最后str结果为:'abcdef'[2] insert(str1,str,a)作用:把字符串str1插入字符串str中由第a(整数)位字符之前,并把新字符串赋给字符串变量str。例:str:='efghy';insert('abc',str,3);最后str结果为:'efabcghy' str:='efghy';insert('abc',str,8);最后str结果为:'efghyabc'[3] str(x,s)作用:将x(x为整数或实数)转化为数字字符串,结果存入S。例:str(12.4,s) s的结果为:'1.2400000000E+01' str(124,s) s的结果为:'124'[4] val(str,a,code)作用:将数字字符串转换成数字,并将该数字存入实型或整型变量a中,code为返回的错误代码,code=0 表示转换成功,无错误。 例:val('12',a,code) 若a为实型,a的结果为:1.2000000000E+01;若a为整型,a的结果为:12(5) 布尔型标准函数[1] odd(x)作用:判断自变量x的奇偶特性,其中x为整型。奇数为true,偶数为false。例:odd(13) 结果:true ;odd(10)结果:false 。[2] eof(x)作用:判断文件x是否处于结束状态。其中x为文件型变量。文件结束为true,否则为false 。[3] eoln(x)作用:判断文件x是否处于行结束状态。其中x为文件型变量。行结束为true,否则为false 。(6) 顺序类型函数[1] pred(x)作用:求x的前一个量值,其中x为字符型、布尔型、整型、枚举型、子界型等有序类型。例:pred(6)=5 ;pred('b')='a' ;pred(true)=false ; pred(false)=true[2] succ(x)作用:作用:求x的后一个量值,其中x为字符型、布尔型、整型、枚举型、子界型等有序类型。 例:succ(5)=6 ;pred('a')='b' ;pred(true)=false; pred(false)=true(7) 标准单元中常用标准过程Turbo Pascal中系统提供了八个标准单元,分别是:system(系统单元)、printer(打印单元)、dos(dos单元)、crt(显示单元)、overlay(覆盖单元)、graph(图形单元)、turbo3(与3.0版兼容单元)、graph3(3.0海龟图形单元)。这些单元中分别定义了大量的函数和过程供用户使用。但注意在使用标准单元的函数和过程前,除system单元可省略说明外,其它要在程序开头说明。说明格式如下:use 标准单元; 或 use 标准单元1,...,标准单元n;另外,前面介绍过的标准函数和过程都在system单元中。下面补充一些常用标准函数和过程。[1] clrscr 过程 在crt单元 格式:clrscr 作用:清文本屏幕,并将光标移到屏幕左上角。[2] delay 过程 在crt单元 格式:delay(ms) 作用:延迟ms毫秒数,其中ms为word型。[2] gotoxy 过程 在crt单元 格式:gotoxy(x,y) 作用:称光标到y行x列上,其中x,y为byte型。[3] sound 过程 在crt单元 格式:sound(hz) 作用:按hz(word型)指定的频率发音,调用该过程后会一直响,直到调用nosound过程将其关闭。[4] nosound 过程 在crt单元 格式:nosound 作用:关闭扬声器。[5] readkey 函数 在crt单元 格式:readkey 作用:从键盘读入一个字符,函数类型结果为char。[6] exit 过程 在system单元 格式:exit 作用:退出当前过程或模块。[7] halt 过程 在system单元 格式:halt 作用:停止程序执行。[8] getdate 过程 在dos单元 格式:getdate(y,m,d,dw) 作用:返回当前日期(年,月,日,星期),其中y,m,d,dw为word型。1980<=y<=2099,1<=m<=12,1<=d<=31,0<=dw<=6(星期日为0)。[9] gettime 过程 在dos单元 格式:gettime(h,m,s,se) 作用:返回当前时间(时,分,秒,毫秒),其中h,m,s,se为word型。0<=h<=24,0<=m<=59,0<=s<=59,0<=se<=99秒。还有setdate(y,m,d,dw),settime(h,m,s,se),请读者查阅Turbo Pascal的帮助文件。[10] read或readln过程 在system单元格式:read(f,v1,v2,...,vn)或readln(f,v1,v2,..vn) 其中f为文件型变量,标准输入文件input(如键盘输入)时可省,v1,v2,...,vn为变量名表。作用:从标准输入文件(如键盘输入)或磁盘文件中读入数据到变量中,多个变量时,要用逗号分隔。 read与readln的区别是:readln会掉丢当前输入行中多余的数据。而read不会,多余的数据可留待下一个read或readln使用。[11] write或writeln过程 在system单元 格式:write(f,v1,v2,...,vn)或writeln(f,v1,v2,...,vn) 其中f为文件型变量,标准输出文件OUTPUT(如显示器)可省,v1,v2,...,vn为表达式,且每个表达式的必须有唯一确定值,类型为标准类型。write与writeln区别是:writeln输完所有数据项后,光标自动移动到下一行,即自动换行。1.2.4 一个较完全的PASCAL程序结构一个较完整和PASC程序结构如下:program 程序名(程序参数表)label 标号说明;const 常量说明;type 类型说明;var 变量说明;function 函数说明;procere 过程说明;begin 语句; ... 语句;end .本 章 练 习练习1:指出下面PASCAL表达式的错误,并改正。 (1) 7>2 AND (8<>6) (2) NOT 3>2 (3) 3+3/2+1 要求结果为4 (4) sqr 4 / 2 (5) sqrt(4-6)/2 (6) 1/(3-6/2) (7) 3.0 div 2 (8) a(b+c)/d练习2:补充完成程序,实现计算下面两条数学表达式的运算结果,存盘文件用lx1_2.pas 。(1) (2)(5>2) and not (3<>1) program rzy1;begin writeln( ); writeln( );end .正确运行结果:练习3:补充完成程序,实现输入长方形两边,求周长及面积。存盘文件用lx1_3.pasprogram rzy2;var a,b,L,s:real;begin write('a='); readln(a); write('b='); readln(b); L:=( )*2; s:= ; writeln('L=',L); writeln('S=',s);end .运行输入数据 a= 4 ←┘ b= 5 ←┘正确运行结果:试把writeln('L=',L);改为writeln('L=',L:5:2);输出结果有什么不同?试输入不同数据,结果如何?
热心网友 时间:2022-05-23 15:55
C或C++的话,只要阁下的电脑装了windows 98或以上的系统,然后再安装上VC++6.0或VS系列,然后就打开软件写代码就行了......如果是网页编程的话,用记事本的行了......