pascal语言教程ppt
3、输出(write 、writeln)语句
输出语句的格式: 格式1 write <输出项表>; 格式2 writeln (<输出项表>); 功能:按指定的格式将输出项的内容输出到屏幕上。 说明:(1)输出项如果是多项时,各项间用逗号分隔。 (2)输出项可以是常量、变量、函数、表达式。常量直接输出,变量时 输出变量的存储单元内容,遇到函数与表达式时,先计算、再输出。 (3)write 语句输完最后一项时,不换行,等待下一条 write语句继续 输出。Writeln语句输完最后一项时换行,该语句允许没有输出项,起 到换行作用。 • writeln(x); 等价于执行了write(x); writeln();
表达式和运算符
• • • 算术运算符: + , - , * , /, div(整除), mod(取余) 关系运算符:=, >, <, <=, >=, <>, 逻辑运算符:AND,OR,NOT
• 表达式就是将数据和运算符结合使用,组成一组有意义的运算式。 • 在PASCAL语言中规定,表达式按下列运算优先规则计算: 1、所有括起来的子表达式必须先计算,且子表达式必须从里到外计算; 2、在同一子表达式中的运算符按下列次序计算: ①函数;②NOT;③AND,*,/,DIV,MOD; ④OR,+,-; ⑤<,<=,=,>,>=,<> 3、在同一个子表达式中,同一优先级的运算按从左到右的次序进行。 4、MOD运算结果的符号总是和被除数相同,而与模无关。 -15 mod 6 = -3 -15 mod (-6) = -3 15 mod (-6) =3
1、常用的进位计数制有:十进制、二进制、 八进制、十六进制。
2、常用进制对照表
十进制D 0 1 2 二进制B 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 八进制Q 0 1 2 3 4 5 6 7 10 11 十六进制H 0 1 2 3 4 5 6 7 8 9
程序的书写格式:
1、PROGRAM写在最左边顶格; 2、注释的大括号{、和CONST、VAR、BEGIN、END等语句上下对 齐,且它们比PROGRAM向右移两个字符; 3、各个语句和程序语句也是上下对齐,它们比第2点中的各语 句又向右移两个字符; 4、语句间多余空格与空行,编译时会忽略。
数制的转换
PASCAL语言培训讲习
信息学奥林匹克竞赛内容
1. 程序设计知识。熟练使用一门程序设计语言编写程序; 熟悉常用的基本算法:如穷举法、排序(冒泡)法、搜 索法、回溯法、递归算法,排列组合等。 数据结构知识。简单变量、数组、队列、栈、串、记录、 指针、链表、树、图和文件。 调试程序技能。
2. 3.
Pascal 程序的输入与调试
变量一经说明,系统就为其分配内存。程序 中使用该变量时,就要在相应的内存单 元读写数据,称为对变量的访问。
要求如下: 1、要放在程序说明部分。 2、必须遵循先定义后使用的原则。 3、不允许重复定义,或一次定义多个 常量。
例如: const a =1; a,b = 10; c = 1 or 2; d := 3;
合在一起得: 倒 序 取 余
× 0.5 2 1.0 1
(20.6875)10 =(10100.1011)2
正序取整
例2:将(11001.0101)2转换成十进制数。 (11001.1101)2 = 1×24+1×23+0×22+0×21+1×20+1×2-1+1×2-2 +0×2-3+1×2-4 =16+8+1+0.5+0.25+0.0625 =(25.8125)10
例T0_1:用数字打印三角形。 Program T0_1; var j,h:integer; Begin for j:=1 to 5 do begin write (‘ ‘:16-j); for h:=1 to 2*j-1 do write(h); writeln; end; End.
• 用主菜单的Compile中的菜单项 Compile,或Alt+F9组合键,即可对 程序进行编译。若文件没取名,则 先建立文件名。 • 如果编译有错误,会显示相关出 错信息。注意free Pascal安装时, 有时会碰到与杀毒软件冲突的事情, 编译也会不成功,需先将杀毒软件 屏蔽。 • 运行程序:选择主菜单Run中的 菜单项Run,或按ctrl+F9键。 • 查看结果。选择主菜单Debug中 的菜单项Output可以查看结果。 • 保存文件。用主菜单file中的 save或按F2键保存文件。
• 整数的类型:
名称
短整型
长整型 字节型 字型 整数类型 无符号整数
类型标识符
Shortint
Longint Byte Word Int64 Qword int64
数据范围
-128~127
-2147483648~2147483647 0~255 0~65535 -9223372036854775808~9223372036854775807 0~18446744073709551615
十进制数和二进制数的转换可以推广 到十进制与八进制、十进制与十六进制数的转 换。如十进制数转换在八进制数的方法是:‚除以8倒取余法‛;十进制小数转换成八 进制小数的方法是:‚乘8取整法‛。
课堂作业:(1)(1101101.101)2 =( (2) (45.625)10 =(
)10 )2
第 2课
PASCAL的数据类型、标识符、表达式、语句
12 13
14 15 16 17 20
A B
C D E F 10
3、十进制与二进制的相互转换
例1:将十进制数20.6875转换成二进制数。 (1)整数部分的转换:‚除以2倒序取余法‛。 2 20 0 2 10 0 2 5 1 2 2 0 2 1 1 0 (2)小数部分的转换:‚乘2取整法‛。 0.6875 0.3750 0.75 × 2 × 2 × 2 1.3750 1 0.75 0 1.5 1
常用函数 与表达式
顺序结构程序设计
1、赋值语句
赋值语句的格式: 变量标识符 : = 表达式; 功能: 赋值语句是先执行计算表达式的值,然后赋值给变量标识符。 说明: (1)‛ := ‚ 称为赋值号,不要与 ‛ = ‚ 混淆。赋值有方向性,左边只能是变量, 不能是表达式,如 –x := 1是非法的。 (2)赋值号两边的类型必须相同,但是整型表达式可以赋值给实型,反之不成立。 (3)一个赋值语句只能给一个变量赋值,变量可以赋值多次,但只保留最后一次的值。 (4)被赋值的变量可以作为表达式因子参与运算,如: i:=i+1;是合法的。 (5)对变量的赋值是对变量的存入访问。如d:=a;语句执行后,d的变量内容就已经 是a变量的内容,但是a变量的值并没有消失与改变。 在实际编程中,我们经常使用a:=a+1;作为计数器,用s:=s+x;作为累 加器,用t:=t*n;作为累乘器。
名称
基数
标志 符
3 4 5 6 7
十进 制
二进 制 八进 制 十六 进制
0,1,2,3,4, 5,6,7,8,9,
0,1 0,1,2,3,4, 5,6,7 0,1,2,3,4, 5,6,7,8,9, A,B,C,D,E, F
D
B Q H8 9101112 13 14 15 16
1010 1011
1100 1101 1110 1111 10000
第1课 认识PASCAL语言
让我们先来看一个PASCAL程序,通 过这个程序了解PASCAL的规则。 例L1_1 已知半径,求圆周长和 面积的程序。
程序说明:
PROGRAM circle(input,output); (* 第1行:程序 首部 *) CONST(*第2行:常量说明*) PI=3.14159; VAR(*第4行:变量说明*) r,l,s:real; BEGIN(*第6行:语句部分*) read(r); (*第7行:输入语句*) l:=2*PI*r; (*第8行:赋值语句*,计算周长) s:=PI*r*r; (*第9行:赋值语句*,计算面积) write(r,l,s); (*第10行:输出语句*) END. (*第11行:语句部分以END.结束*)
2、输入(read、readln)语句
输入语句格式: 格式1: read <变量名表>; 格式2: readln (<变量名表>); 功能:执行该语句时,程序进入等待状态,等待用户从键盘输入数据,输入的数据将依次赋 给变量表中的变量,而后程序继续执行其他语句。 说明:(1)变量表中变量超过一个时,中间用逗号隔开。从键盘输入数据时,数据的个数 不能少于变量个数,否则电脑一直处于等待状态。当数据多于变量个数时,对于readln 语句将其忽略,对于read语句时,会补下一句read语句读入,如果没有输入语句,也将 其忽略。 (2)输入数值型数据时,必须用空格或回车键分隔,最后一定要用回车键。输入字符型数 据时,不能有空格与回车键,必须连续输入,因为空格与回车键也会当作字符。 (3)输入的数据必须是常量,且必须与对应的变量类型相一致。 (4)readln();可以没有变量名表,此时该语句等待从键盘输入回车键。 • Readln (x) ; 等价于执行了二条语句:read(x); readln();
PASCAL程序中的运算优先规则
常量与变量
• 常量定义格式: const <常量标识符> = <常量>;
• 变量定义格式: var <变量名表> :类型标识符; 例如: var a,b :integer; x,y :real; ch :char; t: boolran; 但下列说明是非法的: 例如: var a,b =integer; ch :char; ch :boolean; a,b后面不能用=,ch不能重复定义。