1、小学Pascal教程 2目录第一章 程序设计初步第一节 程序设计基础第二节 Pascal语言简介第三节 Pascal语言程序的基本结构第二章 顺序结构的程序设计第一节 简单输出语句第二节 带格式的输出语句第三节 常量 变量和算术表达式第四节 赋值语句第五节 输入语句第六节 顺序结构的程序设计第三章 分支结构程序设计第一节 分支结构基本概念 第二节 简单条件语句(IF语句) 第二节 复合语句第四章 循环结构程序设计第一节 计数循环(FOR循环)第二节 当型循环(WHILE-DO循环)第三节 直到型循环(REPEAT-UNTIL循环)第四节 综合应用附录一:保留字附录二:标准标识符附录三:标准函数
2、附录四:小学信息学(奥林匹克)辅导纲要附录五:竞赛试题及参考答案第一章 程序设计初步本章重点 Pascal语言的基本结构熟悉Pascal的集成环境掌握编辑、运行一个Pascal程序的过程第一节 程序设计基础一、 什么是程序和程序设计计算机具有运算速度快、计算精度高、超强的记忆存贮能力、可靠性高、高度自动化等特点,应用于科学计算、计算机辅助教学、计算机辅助管理、计算机网络与通信等诸多方面,但不论计算机的功能有多么强大,应用多么广泛,它都是在人工控制下进行的,无法完全自动地进行工作。只有当操作者向计算机输入一定的计算机能接受的信息,它才能按照操作者的要求进行工作,并且得到所需的结果。那么,人怎样让
3、计算机工作呢?一般地,人们将需要计算机完成的任务设计成一条一条的指令,并输入计算机,存放在计算机的内存,计算机再逐条地从内存中取出指令,然后再执行。可见,计算机是通过一条一条的指令来完成一定的工作的。指令的序列叫程序,编制程序的工作就是程序设计。二、 什么是计算机语言设想:要让计算机在屏幕上显示如下图形,该怎么办?* * * * * * 我们不能直接用语言告诉计算机:“请你在屏幕上显示这个图形”,因为它不懂汉语、英语、法语等自然语言。试想,一个完全不懂中文的外国人在中国如何顺利地开展工作?显然可以依靠翻译。同样,计算机与人之间进行通信也可以通过翻译,这个翻译就是计算机语言,它由一些简单的单词符
4、号、数字和严谨的语法组成。计算机语言可以分为机器语言、汇编语言和高级语言,但计算机能直接识别的只有机器语言,而高级语言要再通过翻译软件的翻译,计算机才能识别,Pascal就是一种高级语言。第二节 Pascal语言简介Pascal语言是瑞士苏黎世联邦工业大学的N沃思(Niklaus Wirth)教授于1968年设计完成。它较好地体现了结构化程序设计的思想,结构严谨,概念简捷,数据结构丰富,有利于初学者形成良好的编程习惯和严谨清晰的程序设计风格,是公认的典范的程序设计教学语言。越来越多的学校把Pascal语言作为学习程序设计的第一语言,全国奥林匹克信息学竞赛(NOI)、国际奥林匹克信息学竞赛(IO
5、I)把Pascal语言定位唯一提倡的程序设计语言。一、 Turbo Pascal语言系统的使用目前,常用的Pascal语言系统有Turbo Pascal7.0与Borland Pascal 7.0,本书将学习Turbo Pascal 7.0系统的使用。简单的Pascal系统必须有以下几个文件:TURBO.EXE (Turbo Pascal集成环境)TURBO.TPL (Turbo Pascal标准单元库)TURBO.TP (Turbo Pascal集成环境设置记录)1 系统的启动第一步:启动计算机,进入到DOS操作环境。第二步:进入Turbo Pascal系统程序所在磁盘和目录,执行TURBO
6、.EXE,屏幕上出现如图1所示的集成环境。在这个环境中能完成程序的输入、编辑、运行、调试和编译等全部功能。2 Turbo Pascal系统集成环境简介功能键提示行编辑区操作菜单Pascal的集成环境由操作菜单、编辑区和功能键提示行三部分组成。(1) 操作菜单:完成Pascal系统提供的全部功能。用键盘操作菜单的方法是:第一步:击F10键,激活菜单。第二步:用 键和 键在一级菜单的菜单项之间选择,在选中的菜单项上用 键(或回车键)打开菜单,再用 键和 键选择二级菜单项,回车即可执行所选菜单。(2) 编辑区:进行程序的输入和修改。(3) 功能键提示行:显示键盘上已有定义的部分快捷键。几个常用功能键
7、的作用:F1: 获得帮助系统使用指南F2: 将当前编辑窗口的源程序存盘F3: 打开一个磁盘上的源程序文件Ctrl + F9: 运行当前编辑的程序Alt + F5:查看程序运行结果3 输入、修改、运行一个程序的过程第一步:新建一个程序窗口方法:按F10 键进入主菜单,选择File子菜单,执行其中的New命令(默认文件名为Noname00.pas或Noname01.pas等)。第二步:一行一行的输入程序,发现输入错误,可用光标移动键和Delete键(或退格键)进行修改。第三步:按Ctrl + F9 运行该程序。第四步:按Alt + F5 查看运行结果。4程序的保存与打开按F2键(或执行File菜单
8、中的Save命令)可将编辑窗口中的程序存入磁盘。第一次保存文件时屏幕上会出现一个对话框要求输入文件名(默认扩展名为.pas)。按F3(或执行File菜单中的Open命令)可将磁盘上的PASCAL程序调入进行编辑,此时系统也会弹出一个对话框要求输入要打开的文件名,或直接在文件对话框列表中选择所要的文件,按回车键即可打开文件。5退出Turbo Pascal系统方法1:选择File菜单中的Exit(或按Alt + x),可彻底退出Turbo Pascal系统,此时如果没有保存修改过的程序,系统将提示你在退出前是否保存。方法2:选择File菜单中的Dos,可暂时退出Turbo pascal进入到DOS
9、命令状态,此时Turbo Pascal 系统仍然驻留内存,键入EXIT命令,可返回到Turbo Pascal集成环境,重现退出前的屏幕。二第一个程序下面程序在运行时,会提示输入一个正方形的边长,然后计算机会求出这个正方形的面积并显示在屏幕上。按回车键,程序结束回到程序窗口。Program ex1;var b,s:integer;Begin Write(Input b:); Readln(b); S:=b*b;Writeln(s=,s);Readln; End.请输入上面的程序,并练习将其存盘、打开与运行上面程序。练 习正确输入下面的程序(注意标点符号和空格),运行并写出结果。1. progra
10、m Lx1;uses crt;var a,b,c:integer;begin clrscr; a:=654; b:=78; c:=923; writeln(a:6); writeln(b:6); writeln(+,c:5); writeln(-); writeln(a+b+c:6); readln;end.2. program Lx2;var a,b,s,d,e:integer;begin a:=37; b:=3; s:=a+b; d:=a div b; e:=a mod b; writeln(s=,s); writeln(d=,d);writeln(e=,e);readln;end.3.
11、program Lx3;var a,b:integer;begin a:=92; b:=28; writeln(a,+,b,=,a+b); writeln(a,-,b,=,a-b); writeln(a,*,b,=,a*b); writeln(a, div ,b,=,a div b);writeln(a, mod ,b,=,a mod b);readln;end.4. program Lx4; var i,j:integer;begin for i:=1 to 8 do begin for j:=1 to i do write(*); writeln; end; readln;end.5. p
12、rogram Lx5;var i,j:integer;beginfor i:=1 to 8 do begin write( :40-i); for j:=1 to i do write(*);writeln;end;end.6. program Lx6;var i,j:integer;begin for i:=1 to 8 do begin write( :40-i); for j:=1 to 2*i-1 do write(*); writeln; end;end.7. program Lx7;uses crt;var i,j,k:integer;beginclrscr; k:=20; for
13、 i:=1 to 8 do begin write( :k); for j:=1 to i do write(j); for j:=i-1 downto 1 do write(j); writeln; k:=k-1; end;end.8. program lx8;uses crt;var a:array1.8,1.8 of integer; i,j:integer;begin clrscr; fillchar(a,sizeof(a),0); for i:=1 to 8 do for j:=1 to 8 do begin if (i-j=-6) and (i-j=-1) then if i+j
14、in 3.8 then ai,j:=1 else if i+j9 then ai,j:=4; if i-j in 1.6 then if i+j in 3.8 then ai,j:=2 else if i+j9 then ai,j:=3; end; for i:=1 to 8 do begin for j:=1 to 8 do write(ai,j:2); writeln;end; readln;end.第三节 Pascal语言程序的基本结构任何程序设计语言都有一组自己的记号和规则。PASCAL语言也不例外。尽管不同版本的PASCAL语言所采用的记号的数量、形式不尽相同,但其基本成分一般都符合
15、标准PASCAL的规定,只是某些扩展功能各不相同罢了。下面我们首先来了解Pascal语言程序的基本结构。为了明显起见先举一个最简单的PASCAL程序例子:从这个简单的程序可以看到: 一个PASCAL程序分为两个部分:程序首部和程序体。 程序首部是程序的开头部分,它包括:程序标志。用“program”来标识“这是一个PASCAL 程序”。程序名称。由程序设计者自己定义,如例中的exam1。 在写完程序首部之后,应有一个分号。在turbo pascal语言中,程序首部可省略。 程序体是程序的主体。程序体包括说明部分(也可省略)和执行部分。 说明部分:用来描述程序中用到的变量、常量、类型、过程与函数
16、等。本程序中第二行是变量说明,用来定义变量的名称、类型。PASCAL规定,凡程序中用到所有变量、符号常量、数组、标号、过程与函数、记录、文件等数据都必须在说明部分进行定义(或称说明)。也就是说,不允许未说明先使用。 执行部分的作用是通知计算机执行指定的操作。如果一个程序中不写执行部分,在程序运行时计算机什么工作也不做。因此,执行部分是一个PASCAL程序的核心部分,是比不可少的。执行部分以begin开始,以end结束,其间有若干个语句,语句之间以分号隔开。执行部分之后有一个句点,表示整个程序结束。4PASCAL程序的书写方法比较灵活。当然,书写不应以节省篇幅为目的,而应以程序结构清晰、易读为目
17、的。在编写程序时尽量模仿本书中例题程序格式,即缩格形式。5在程序中,一对大括号间的文字称为注释。注释的内容由人们根据需要书写,可以用英语或汉语表示。注释可以放在任何空格可以出现的位置。执行程序时计算机对注释不予理睬。练 习选择题1 计算机能直接识别的语言是:A.汇编语言 B.高级语言 C.机器语言 D.Pascal语言2.一个完整的PASCAL程序一般是由以下哪几部分组成的? A.程序首部、变量说明部分和执行部分 B.标号说明部分、说明部分和执行部分 C.程序首部、说明部分和类型定义部分 D.程序首部、说明部分和执行部分3.每个程序必须有: a.程序标题 b.变量说明部分 c.执行部分4.PA
18、SCAL程序的执行部分是: a.语句体 b.说明部分和语句体 c.语句 d.整个程序第二章 顺序结构的程序设计本章重点基本概念:整数、实数、场宽、标准场宽、常量、变量、表达式write和writeln语句的用法整数和字符串的标准场宽掌握实数的双场宽输出方法标识符的命名赋值语句的用法read和readln语句的用法会写简单程序的输出结果会编制简单的程序。第一节 简单的输出语句在一个程序中,所有的操作都由执行部分来完成,而执行部分又都是由一个个语句组成的。因此,下面开始我们要学习pascal语言的基本语句,并且在学习过程中逐步学会程序设计的基本方法。一、 输出语句 输出语句的作用是将程序运算的结果
19、输出到屏幕或打印机等输出设备。这里通常是指输出到屏幕。(一)输出语句的两种格式1 write语句格式:Write(输出项1,输出项2,); 如:write(1,2,3,4); write(1.2,3.4,5); write(My name is Liping);2.writeln语句格式: Writeln(输出项1,输出项2,) 或 writeln(二)输出语句的功能计算机执行到write(或writeln)语句时,先计算出语句中的每个输出项的值,再将每一个输出项的值一个接一个地输出到屏幕上。如writeln(3+5)的输出是8。Write语句与writeln语句格式上都相似,但它们在功能上有
20、所不同,两个语句的区别在于:write语句是一项接一项地输出,输出完最后一项后不换行;writeln语句也是一项接一项地输出,但输出完最后一项后自动换行。例如:程序段:write(1,2,3,4);write(5,6);输出为:123456即输出1、2、3、4后紧接着输出5和6。程序段:writeln(1,2,3,4);write(5,6);输出为:123456即输出1、2、3、4后换行输出5和6。write语句至少有一个输出项; writeln语句则允许没有输出项,此时该语句不输出任何内容,只起换行作用。如:程序段 等价于程序段:write(U); writeln(U);writeln; w
21、riteln(F);write(F); writeln(O);writeln;write(O);writeln;输出为:UFO(三)说明:1 当一个write(或writeln)语句中有多个输出项时,各项之间必须用逗号隔开,但最后一个没有逗号。如:writeln(1,3,5,7,9);不能写成: writeln(1,3,5,7,9,);2.当输出项为一串用单引号引起的字符(称为字符串)时,则原样输出单引号中的内容。例如:writeln(Sheng Li you tian di er xiao xue)输出Sheng Li you tian di er xiao xue 3.整数的输出整数的概念
22、:由正(或负)号和一系列数字组成。正整数和零前面的正号可省略。当整数范围在-21474836472147483647时,按实际大小输出;超过此范围,则不能正确输出。 语句writeln(123)和语句writeln(123)表示的意义相同吗 二、 简单的程序设计例1:在屏幕上输出“Zhe shi wo de di yi ge Turbo Pascal cheng xu.”Program exp1;Begin Write(Zhe shi wo de di yi ge Turbo Pascal cheng xu.);End.或Program exp1;Begin Writeln(Zhe shi w
23、o de di yi ge Turbo Pascal cheng xu.);End.例2:在屏幕上输出如下图形: * * * *程序为: program exp2; begin writeln(*); writeln(*); writeln(*); writeln(*); end.例3:输出如下图形:* * * * *程序为:program exp3;begin writeln( *); writeln( * *);writeln( * *);writeln( *); end. 你想让你的程序在每次运行之前屏幕都保持干干净净吗?那就赶快动手吧。 第一步:在程序首部“program ;”之后输入
24、“uses crt;” 第二步:在程序的执行部分,需要屏幕干干净净的地方,就加上“clrscr;”练 习1下面给出的哪些是有效整数? 75 -2.31 28. 3,000,000 45 000 +0026 34.0 -00 11;123;2342写出下列两个程序段的运行结果: a. WRITE(*); b. WRITELN(*); WRITE(*); WRITELN(*); WRITE(*); WRITELN(*); WRITE(*); WRITELN(*);3. 编程在屏幕上分别输出如下图形:* * * * * * * * * * * * *4.编程在屏幕上显示“中国”二字。5.编程在屏幕上
25、输出一个机器人头像。6.写出下列程序的运行结果。(1) program Lx1;begin write(123);write(456);write(789); end.(2) program Lx2;begin writeln(123); writeln(456); writeln(789); end.(3) program Lx3;begin writeln(78+87=,78+87); writeln(87-78=,87-78); writeln(78*87=,78*87);end.(4) program Lx4;begin write(a); writeln;write(a,a); wr
26、iteln;writeln(aaa);write(aaaa); writeln; end.第二节 带格式的输出语句尝试练习:写出下列程序段的输出结果,并上机验证。Writeln(123);Writeln(12.3);Writeln(-12.3);问题:writeln(12.3)的输出不是12.3,而是1.2300000000E+01;writeln(-12.3)的输出不是-12.3,而是-1.2300000000E+01,为什么?一、 实数在Turbo Pascal系统中,带小数点的数称为实数。如12.3,-12.3等。实数包括正实数、负实数和实数零。Pascal中表示实数的形式有两种。十进制
27、表示法即带小数点的表示方法。必须有小数点,且小数点前后必须有数字,正号可省略。如0.0,-0.23,+5.61,-8.0,-6.050等都是合法的实数形式,而0.和.37都不是合法的实数形式。 12和12.0表示的意义相同吗? 为什么? 科学记数法即指数形式的表示方法,如可表示成1.25E+05。在科学记数法中,字母E表示10这个底数,而E之前为一个十进制表示的小数,称为尾数,E之后必须为一个整数,称为指数。如-1234.56E+26 , +0.268E-5 , 1E5是合法形式。不合法的实数表示形式及原因见表2-1。实数形式不合法的原因.34E+122.E5E5E1.2E+0.5小数点前必须有数字小数点后必须有数字E前面的数字1不能省略E前后必须有数字E后面的数字必须为正(或负)整数 表2-1和整数相比,实数能表示的范围大得多,但实数的运算比整数的运算速度慢且无法像整数那样精确表示,只能近似表示。 二、 带格式的输出语句 1场宽和标准场宽在pascal语言中,数据的输出格式是非常重要的。我们将每一种类型的数据在输出时所占据的列数称为场宽。若我们输出数据时不规定场宽,则系统默认为标准场宽。表2-2列出了Turbo Pascal对几种常用数据规定的标准场宽。数据类型标准场宽实例输出结果整数整数的实际宽度Write(1234);1234实数17Write
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1