第一章 简单程序
无论做任何事情,都要有一定的方式方法与处理步骤。计算机程序设计比日常生活中的事务处理更具有严谨性、规范性、可行性。为了使计算机有效地解决某些问题,须将处理步骤编排好,用计算机语言组成“序列”,让计算机自动识别并执行这个用计算机语言组成的“序列”,完成预定的任务。将处理问题的步骤编排好,用计算机语言组成序列,也就是常说的编写程序。在Pascal语言中,执行每条语句都是由计算机完成相应的操作。编写Pascal程序,是利用Pascal语句的功能来实现和达到预定的处理要求。“千里之行,始于足下”,我们从简单程序学起,逐步了解和掌握怎样编写程序。
第一节 Pascal 程序结构和基本语句
在未系统学习Pascal语言之前,暂且绕过那些繁琐的语法规则细节,通过下面的简单例题,可以速成掌握Pascal程序的基本组成和基本语句的用法,让初学者直接模仿学习编简单程序。
[例1.1]编程在屏幕上显示“Hello World!”。
Pascal程序:
Program ex11;
Begin
Writeln(‘Hello World!’);
ReadLn;
End.
这个简单样例程序,希望大家的程序设计学习能有一个良好的开端。程序中的Writeln是一个输出语句,它能命令计算机在屏幕上输出相应的内容,而紧跟Writeln语句后是一对圆括号,其中用单引号引起的部分将被原原本本地显示出来。
[例1.2]已知一辆自行车的售价是300元,请编程计算a辆自行车的总价是多少?
解:若总售价用m来表示,则这个问题可分为以下几步处理:
= 1 \* GB3 ①从键盘输入自行车的数目a;
= 2 \* GB3 ②用公式 m=300*a 计算总售价;
= 3 \* GB3 ③输出计算结果。
Pascal程序:
Program Ex12; {程序首部}
Var a,m : integer; {说明部分}
Begin {语句部分}
Write(‘a=’);
ReadLn(a); {输入自行车数目}
M := 300*a; {计算总售价}
Writeln(‘M=’,m); {输出总售价}
ReadLn; {等待输入回车键}
End.
此题程序结构完整,从中可看出一个Pascal 程序由三部分组成:
(1)程序首部
由保留字Program开头,后面跟一个程序名(如:Exl1);其格式为:
Program 程序名;
程序名由用户自己取,它的第一个字符必须是英文字母,其后的字符只能是字母或数字和下划线组成,程序名中不能出现运算符、标点符和空格。
(2)说明部分
程序中所用的常量、变量,或类型、及过程与自定义函数,需在使用之前预先说明,定义数据的属性(类型)。[例1.2] 程序中 Var S,R,C: Real; 是变量说明,此处说明S,R,C三个变量均为实数类型变量。只有被说明为某一类型的变量,在程序中才能将与该变量同类型的数值赋给该变量。变量说明的格式为:
Var 变量表:类型;
(3)语句部分
指由保留字 Begin (开始)至 End. (结尾)之间的语句系列,是解决问题的具体处理步骤,也是程序的执行部分。
Pascal程序不管是哪部分,每句末尾都必须有分号(;),但允许最接近 End 的那个语句末尾的分号省略;程序结束的End末尾必须有圆点(. ),是整个程序的结束标志。
程序中花括号“{ }”之间的部分为注释部分。
Pascal程序结构可归纳用如下来表示:
Program 程序名; 程序首部
标号说明; (Label)
常量说明; (Const) 说明部分
类型说明; (Type)
变量说明; (Var)
过程或函数说明;
Begin 程序体 (主程序)
语句系列; 语句部分
End.
把处理问题的步骤编成能从上到下顺序执行的程序,是简单程序的基本特征。再来分析下面两道例题的Pascal程序结构和继续学习基本语句。
[例1.3]编程计算半径为R的圆的面积和周长。
解:这是一个简单问题,按数学方法可分以下几步进行处理:
① 从键盘输入半径的值R; { 要求告诉圆的半径R }
② 用公式 S=πR2 计算圆面积;
③ 用公式 C=2πR 计算圆周长;
④ 输出计算结果。
Pascal程序:
Program Ex13; {程序首部 pascal语言难学吗}
Var R,S,C: Real; {说明部分 }
Begin {语句部分 }
Write ('R=?');
Readln(R); {输入半径 }
S:=Pi*R*R; {圆面积公式S=πR2}
C:=2*Pi*R; {圆周长公式C=2πR}
Writeln('S=',S); {输出结果 }
Writeln('C=',C);
Readln {等待输入回车键}
End.
程序中Pi是Pascal提供的标准函数,它返回圆周率的近似值:3.1415926…。
(:=)是赋值符号,赋值语句的格式为:
变量:=表达式;
赋值语句的作用是将:=右边表达式的值记录到左边的变量中。
Writeln是输出语句,输出语句有三种格式:
① Write (输出项1,输出项2) ; {执行输出后光标不换行}
② Writeln (输出项1,输出项2) ; {执行输出后光标换到下一行}
③ Writeln {仅输出空白且光标换到下一行}
Writeln语句后面的圆括号以内部分均为输出项,可以是多项,各项间用逗号分隔; 对单引号里的内容按照引号内的原样(字符)输出显示。如果输出项是表达式,则只输出表达式的值,
而不是表达式本身。
[例1.4] 输出两个自然数相除的商和余数。
解:设被除数、除数、商和余数,分别为A,B,C,D,均为变量,且都是整数类型。题中未给出具体的自然数A、B,可采用键盘输入方式。
① 给出提示,从键盘输入a, b;
② 显示两数相除的数学形式;
③ 求出a除以b的商c;
④ 求出a除以b的余数d;
⑤ 紧接等式后面输出显示商和余数。
Pascal程序:
Program Ex14;
Var a,b,c,d : integer;
Begin
Write('INPUT A,B:'); {给出提示信息}
Readln(a,b); {输入a,b}
Writeln; {输出一空行}
Write(a,'/',b,'='); {输出等式之后不换行}
c:=a div b; {整除运算,取商的整数部分}
d:=a mod b; {相除求余运算,取商的余数部分}
Writeln(C,'…',d); {输出后自动换行 }
Readln {等待输入回车键 }
End.
执行本程序中第一个Write语句,输出其引号以内的一串提示信息,是给紧接着的输入语句提供明确的提示(要求),有“一目了然,人机对话”之效果。
Readln是一个特殊的输入语句,要求输入一个回车(换行)才能往下执行。
Readln是输入语句,它的一般格式为:
① Read (变量1,变量2);
② Readln (变量1,变量2);
③ Readln
前两种格式均要从键盘给变量输入数据,输入时,所键入的数据之间以空格为分隔,以回车为输入结束。若多输入了数据(即数据个数超过变量个数),Read语句读完数据之后,能让后续的读语句接着读取多下来的数据;而Readln 语句对本行多输入的数据不能让后续语句接着读取多下来的数据。为了防止多输入的数据影响下一个输入语句读取数据,建议尽量使用
Readln语句输入数据。第三种格式不需输入数据,只需按入一个回车键。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论