pascal基础编程_pascal编程及答案

2020-02-28 其他范文 下载本文

pascal基础编程由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“pascal编程及答案”。

1.结构化程序设计的基本概念

请不要用GOTO。一个死循环的例子是: while true do;

2.输入/输出 几点提示:

1.输入如果很复杂,可以考虑作为字符串输入,再处理这个字符串 2.文件大的时候注意一次尽量读较多的字节,这样会比较快的。请建立一个1M的文件自己比较: var f:text;c:char;s:string;

(以下文件均已打开)while not eof(f)do read(f,c);和

while not eof(f)do read(f,s);

3.变量,数据类型

记住,使用全局变量要小心!因为作用域宽,任何地方都有可能改变它们。在使用数组的时候要尤其小心。建议打开范围检查来检测是否有下标超界。

变量的类型是一个难点。应该记住重要的类型(如integer,longint,string,real)占用的字节数和表示的数的范围。前者用来计算空间是否足够,后者考虑范围是否可能超过。注意常见的数据类型表示的范围和占用字节数。

下面介绍extended类型。是一种实型,但有效位数比较多(19-20位有效数字),可以作为大整数存储(1.1e4932范围内),可以避免一些高精度运算。如: var e:extended;begin e:=***789.0 writeln(e:0:0);end.e:=xxx.0的“.0”是必须的,因为e是实数。writeln(e:0:0)是输出e的整数部分 一个extended占用10个字节。

下面介绍Int6类型。是一种整形,占用8个字节。

范围:-***5808 ~ ***5807=263-1,4.运算:算术运算,逻辑运算,表达式 注意优先级,如果拿不准,请加括号。

还有一点,是逻辑运算的计算问题,默认方式是从左往右计算,到可以确定值时停止。如: if a and b and c then...则一旦发现b=false立刻停止计算,所以如果c的计算可能导致错误,将不会被发现。

5.选择结构:IF和CASE IF有一个需要注意的地方,是与ELSE的匹配问题。如果拿不准,请在每一个IF,ELSE处用begin...end

6.循环结构:FOR,WHILE和UNTIL 有一个地方,有关FOR的,不同的编译器可能产生不同的代码!例如: i:=0;for i:=a to b do halt;writeln(i);

如果a=3, b=2 那么有的编译器输出3,有的输出0。请大家不要写这样的程序。

7.字符及字符串:+, 函数和存储方式

注意string的长度默认是255,不要超出了。长度储存在s[0]。看下面的代码: s:='';s[1]:='a';s[2]:='b';writeln(s);程序输出空串。知道为什么吗?原因刚刚已经说了。长度在s[0]。所以...8.数组,多维数组

数组定义时下标可以多样,如: array[char] of integer;array['A'..'Z'] of integer;array[-5..5] of integer;注意下标不要越界,否则变量无辜改变,或者死机。

9.文件操作

注意要关闭文件。

10.子程序,过程和函数,参数和返回值,变量的作用域

子程序的使用是很重要的,注意一个子程序尽量做一个独立的工作,尽量少用 全局变量。测试的时候也便于充分的测试每一个子程序。注意变量的作用域,尽量避免用全局变量。

11.PASCAL特殊类型:子界,枚举和集合类型

要多用子界类型,因为可以利用它来检查是否越界,更快的查出错误。

12.指针 慎用!

一般在以下情况用得多:

特定的数据结构:树,图的邻接表,链表 大数组等占空间较多的数据结构 如: type ptype=^arrtype;arrtype=array[1..400] of byte;var a:array[1..400] of ptype;定义了一个400*400的数组。但必须先:

for i:=1 to 400 do new(a);这样引用:a[i]^[j];记得把指针初始化为nil,使用之前要先new

13. 常用数据类型

名称 大小 范围 最大数常量 Shortint 1b-128~127 Integer 2b-32768~32767 MaxInt Longint 4b-2147483648~2147483647 MaxLongint Byte 1b 0~255 Word 2b 0~65535 总结:一般根据变量的取值范围确定最合适的类型。例一:

整数N满足N

B:longint;则:A*B div A有可能溢出。A div A * B不可能溢出。

实数

Real(11-12)6b Single(7-8)4b Double(15-16)8b *Extended(19-20)10b 需要在协处理器($N+)Comp(19-20)8b 注:一般用Real,当要求特别精度时可以用Double,用Extended和Comp可以作高精度“整数” 例一:

N是整数,N

输出时:writeln(n:0:0);

*boolean: 单字节,最低位为0时false,为1是TRUE 集合:一个字节8个元素。

14.控制流语句 Break 退出循环 Continue 继续循环 Exit 退出当前过程 Halt 退出整个程序;

《pascal基础编程.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
pascal基础编程
点击下载文档
相关专题 pascal编程及答案 基础 pascal pascal编程及答案 基础 pascal
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文