第二课:pascal 赋值语句、输出语句
pascal语言教程
pascal语言教程Pascal是一种结构化的编程语言,最早由Niklaus Wirth 于1968年设计。
它是一种简单易学的语言,旨在帮助人们学习编程的基本概念和技巧。
以下是一份简单的Pascal语言教程,介绍了基本的语法和概念:1. 输出语句Pascal使用`Write`和`WriteLn`语句输出信息到终端。
`WriteLn`会在输出完信息后换行,而`Write`则不会。
示例:```pascalWriteLn('Hello, world!'); // 输出Hello, world!Write('This '); // 输出ThisWrite('is '); // 输出isWriteLn('Pascal.'); // 输出Pascal.```2. 变量和数据类型在Pascal中,你需要先声明一个变量,然后再使用它。
变量的声明需要指定其名称和数据类型。
Pascal支持多种基本数据类型,如整数(integer)、浮点数(real)、字符(char)、字符串(string)等。
示例:```pascal// 整数varage: integer;// 浮点数vartemperature: real;// 字符vargrade: char;// 字符串varname: string;```3. 输入语句Pascal使用`ReadLn`语句从终端读取输入信息。
示例:```pascalvarname: string;Write('Please enter your name: ');ReadLn(name); // 从终端读取输入的内容,并将其赋值给变量nameWriteLn('Hello, ', name, '!'); // 输出Hello, 后跟输入的名字```4. 条件语句Pascal使用`if-then-else`语句来根据条件执行不同的代码块。
1.2.1输入、输出语句和赋值语句
1.2.1输入、输出语句和赋值语句 1.2.1输入、输出语句和赋值语句
赋值语句
格式说明:“:=”是赋值号。它与比较符“ 格式说明:“:=”是赋值号。它与比较符“=”是两 个不同 的符号。A:=5表明将整数5赋给变量A 的符号。A:=5表明将整数5赋给变量A,完成一个动作。 而A=5表明变量A与5相比较判断等与不等,结果是一个 A=5表明变量A 布尔值。 赋值语句执行过程:计算赋值号右边的表达式,求出其结 果,并将结果赋给赋值号左边的变量名。 注意:赋值语句在使用时,要注意赋值号两边的数据类型必 须赋值兼容,即类型相一致或相容。
实数的输出
输入下面的程序,观察输出结果。 Program ex_5; var a:real; begin a:=13.56; writeln(a); end.
双场宽
双场宽是用来控制实型数的输出格式的。 双场宽输出格式为e:n1:n2。其中n1、 双场宽输出格式为e:n1:n2。其中n1、n2 是两个正整数,并且n1大于n2。n1表示输 是两个正整数,并且n1大于n2。n1表示输 出的总列数,包括符号位、整数部分、小 数点、小数部分;n2表示小数部分占的列 数点、小数部分;n2表示小数部分占的列 数。 通过双场宽可以将实数不按科学记数法的 形式输出。
自定义输出格式
单场宽 设e为输出项,单场宽的书写形式为e:n1。 为输出项,单场宽的书写形式为e:n1。 n1是正整数,用来表示输出的列数。 n1是正整数,用来表示输出的列数。
输入以下程序,改变场宽,观察变化
Program ex_4; 如果场宽小于标准场宽, Var 将会如何? a:integer; ch:char; flag:boolean; Begin a:=1234; ch:=‘a’ flag:=true; writeln(a,ch,flag); writeln(a:8,ch:8,flag:8); End.
【高中数学】高中数学知识点:输入语句输出语句和赋值语句
【高中数学】高中数学知识点:输入语句输出语句和赋值语句【高中数学】高中数学知识点:输入语句、输出语句和赋值语句输入语句:在该程序中的第1行中的input语句就是输入语句。
这个语句的一般格式是:其中,“提示内容”一般提示用户输入什么样的信息。
如果每次运行上述程序时输入-5、-4、-3、-2、-1、0、1、2、3、4、5,计算机将新输入的值分配给变量“X”,并根据新获得的“X”值执行以下语句。
输出语句:在这个程序中,第3行和第4行的print语句是输出语句。
其一般格式为:同输入语句一样,表达式前也可以有“提示内容”。
转让声明:用来表明赋给某一个变量一个具体的确定值的语句。
除了输入语句外,程序第2行的赋值语句还可以为变量提供初始值。
其一般格式为:赋值语句中的“=”叫做赋值号。
算法语句的功能:输入语句的作用:输入信息。
输出语句的功能:输出信息。
赋值语句的作用:先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变量,使该变量的值等于表达式的值。
相关的高中数学知识点:条件语句和循环语句条件语句:算法中的条件结构由条件语句表示。
循环语句:在一些算法中,从no开始,根据特定条件重复执行特定的处理步骤,这就是循环结构。
反复执行的处理步骤称为循环体。
条件语句的一般格式:(if-then-else格式)当计算机执行上述语句时,首先判断条件是否正确。
如果条件满足,则在之后执行语句1,否则在之后执行语句2。
循环结构的形式:在左图中,先判断然后执行。
首先判断指定的条件是否正确。
如果条件为true,则执行循环条件。
如果条件为false,则退出循环。
右图,先执行后判断,先执行循环体,然后再检查条件是否成立,如果不成立就重复执行循环体,直到条件成立退出循环。
pascal三个基本语句
例:
s:=3*7+6; b:=4.3; a:=2*b+5; x:=1; j:=‘a’; j:=3; x:=x+1;
输入两个数,将它们交换后输出。
program exam2; var a,b,t:integer; begin read(a,b); t:=a; 交 换 a:=b; 器 b:=t; write(a,b); end.
累加器: s:=0;
a:=5; s:=s+a;
累乘器: s:=1;
a:=5;ห้องสมุดไป่ตู้s:=s*a;
计数器: count:=0;
count:=count+1;
有三个小朋友甲乙丙。甲有50粒糖果,乙有43粒糖果, 丙有13粒糖果。现在他们做一个游戏。从甲开始,将自己 的糖果分三份,自己留一份,其余两份分给乙与丙,多余 的糖果自己吃掉,然后乙与丙也依次这样做。问最后甲、 乙、丙三人各有多少粒糖果?
Readln; Read; 错误
b、当输入的数据个数多于变量个数时 执行readln后,多于的数据将被忽略。 执行read后,多于的数据要么被忽略,要么被下 一个read 或 readln语句读入。 read(a,b,c); 例: readln(a,b,c);
输入数据:1 a i
readln(i,k,j,l); readln(m,n);
输入梯形的上底、下底和高,输出梯形的面积。要求保 留到小数点后6位。
输入一个三位整数,将它的百位、十位、个位分离后输 出,并输出其和。 如:输入文件为: 374 输出文件为: 3 7 4 14 提示:可使用div和函数mod
输入语句: read (输入项); readln(输入项); readln; 功能:执行该语句时,从文件中读入数据,将其值依次 赋给输入项中的变量。 说明: 1、输入项的括号内应是一组变量,变量之间用,分隔。 read(a,b,c,d); readln (m,n,l);
输入语句、输出语句和赋值语句
一、知识概述算法是解决问题的一种方法,我们把问题看成函数,那么可以把算法看成将输入转化为输出的一个过程.输入语句在一些算法中,变量的初始值要根据情况经常改变.一般我们把程序和初始数据分开,每次进行运算时,即使初始数据改变,也不必改变程序部分,只要每次运行程序时,输入相应的数据就可以了.这个过程在程序语言中要用“输入语句”来控制,我们以BASIC 语言为例.输入语句的意义是:在编写程序时可以把程序和初始数据分开,达到用程序解决一类问题的目的.换种说法,就是在程序中用字母(变量)代替数参与运算和执行.1、输入语句的格式INPUT“提示内容”;变量例如:INPUT“x=”;x注:程序语言中的变量与函数在设计算法的过程中,解决问题的基本思想常常很简单、很清楚,但表述参与运算的数值的频频变换却很麻烦.为了解决这个问题,需要在程序中引入变量.前面通过对函数概念的学习,我们已经了解了变量的含义:在研究问题的过程中可以取不同数值的量称为变量.程序中一些重要的函数也很有用处,如取平方根函数,取绝对值函数.变量与函数是中学数学里最重要的和最基本的概念,在算法的设计里面仍然发挥着重要的和基本的作用,它们会使算法的表达变得非常简捷、清楚.2、作用和要求功能:实现算法的输入变量信息(数值或字符).要求:(1)输入语句要求输入的值是具体的常量;(2)提示内容提示用户输入的是什么信息,必须加双引号,提示内容“原原本本”的在计算机屏幕上显示,提示内容与变量之间要用分号隔开;(3)一个输入语句可以给多个变量赋值,中间用“,”分隔;输入语句还可以是“提示内容1”;变量1,“提示内容2”;变量2,“提示内容3”;变量3,……的形式.例如:INPUT“a=,b=,c=,”;a,b,c.输出语句任何求解问题的算法,都要把求解的结果“输出”.由此可知,任何程序语言也必须有“输出语句”来控制输出,不同的程序语言都有自己的输出语句和表现形式.但功能都是一样的,也就是以某种形式把求解结果“输出”出来.下面我们还是以BASIC语言为例.1、输出语句的一般格式PRINT“提示内容”;表达式例如:PRINT“S=”;S2、作用和要求功能:实现算法的输出信息(表达式).要求:(1)表达式是指算法和程序要求输出的信息;(2)提示内容提示用户要输出的是什么信息,提示内容必须加双引号,提示内容要用分号和表达式分开;(3)如同输入语句一样,输出语句可以一次完成输出多个表达式的功能,不同的表达式之间可用“,”分隔;输出语句还可以是“提示内容1”;表达式1,“提示内容2”;表达式2,“提示内容3”;表达式3,……的形式;例如:PRINT“a,b,c:”;a,b,c.思考1:输出语句中的表达式和输入语句中的变量有什么区别与联系?输入语句提示内容后面跟的是变量,这是一个字母,它的作用是将用户输入的数值代入程序中,而输出语句后面跟的是表达式,如3x+2中含有变量,变量参与了运算后形成了表达式.单纯的变量也是一个表达式,也就是说变量是表达式的一种特殊情况,表达式可以是常量、变量或含有变量的运算式.如“PRINT 3”输出的结果为实数3,“PRINT x”是将变量“x”的值输出.【拓展·归纳】(1)输出语句又称“打印语句”,将表达式的值在屏幕上显示出来;(2)表达式可以是变量、计算公式或系统信息;(3)输出语句有计算功能,能直接输出计算公式的值.赋值语句在表述一个算法时,经常引入变量,并赋给该变量一个值.用来表明赋给某一个变量一个具体的确定值的语句叫做赋值语句.1、赋值语句的一般格式变量=表达式赋值语句中的“=”称做赋值号例如:a=3b=4c=5s=(a+b+c)/3A=SQR(s*(s-a)*(s-b)*(s-c))都是赋值语句.2、作用和要求作用:赋值语句的作用是将表达式所代表的值赋给变量.要求:(1)赋值语句左边只能是变量名字,而不能是表达式,右边表达式可以是一个常量、变量或含变量的运算式.如:2=x是错误的;(2)赋值号的左右两边不能对换.赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量.如“A=B”与“B=A”的含义、运行结果是不同的,如x=5是对的,5=x 是错的,A+B=C是错的,C=A+B是对的;(3)不能利用赋值语句进行代数式的演算(如化简、因式分解、解方程等),如y=x2-1=(x-1)(x+1)是实现不了的.在赋值号右边表达式中的每一个变量必须事先赋给确定的值.在一个赋值语句中只能给一个变量赋值.不能出现两个或两个以上的“=”.但对于同一个变量可以多次赋值.【拓展·归纳】赋值语句的特征:(1)在程序运行时给变量赋值;(2)“=”的右侧必须是表达式,左侧必须是变量;(3)一个语句只能给一个变量赋值;(4)赋值语句有计算功能;(5)将一个变量的值赋给另一个变量时,前一个变量的值保持不变;可先后给一个变量赋多个不同的值,但变量的取值只与最后一次赋值有关.程序语句中符号的变化在程序语句中变量和常量要参与算术运算、比较大小以及逻辑判断,加法、减法运算符以及大于、小于符号仍然保持不变.但有些算术符号发生了改变,详细情况见下表:数学符号程序符号×(代数运算中的乘法运算符)*(程序里面表示乘法的运算符)÷(代数运算中的除法运算符)/(程序里面表示除法的运算符)[]代数中取整运算(如[5÷3]=1)\(如5\3=1)a b(代数运算中的指数运算符)a^b(程序里面表示指数的运算符)≤(代数中小于等于符号)<=(程序里面表示小于等于的符号)≥(代数中大于等于符号)>=(程序里面表示大于等于的符号)≠(代数中不等号)<>(程序里面表示不等于的符号)∣x∣(代数运算中的取绝对值)ABS(x)(程序里面取绝对值的函数)SQR(x)(程序里面取算术平方根的函数)(代数运算中求算术平方根)且(逻辑中的“且”运算)AND(程序里面表示逻辑中的“且”运算)或(逻辑中的“或”运算)OR(程序里面表示逻辑中的“或”运算)程序运算也规定了运算符的优先级和结合性,在表达式求值时,按运算符的优先级级别的高低次序执行,例如先乘除后加减.如表达式a-b*c的左侧为减号,右侧为乘号,而乘号的优先级高于减号,因此相当于a-(b*c).如果在一个运算对象的两侧的运算符的优先级级别相同,如a+b-c,则按照规定的“结合方向”处理.BASIC语言中规定各种运算符的结合方向(结合性),还按算术运算的结合顺序“自左到右”即先左后右.二、例题讲解例1、请写出下面的运算输出的结果解析:(1)16;语句c=(a+b)/2是将a、b和的一半赋给变量c,语句d=c*c是将c 的平方赋给d,最后输出d的值.(2)1,2,3;语句c=a+b是将a、b的和赋给c,语句b=a+c-b是将a+c-b 的值赋给了b.(3)20,30,20;经过语句a=b后a,b,c的值是20,20,30.经过语句b=c后a,b,c的值是20,30,30.经过语句c=a后a,b,c的值是20,30,20.例2、根据下面伪代码编写的程序,画出程序框图.INPUT “输入边长A,B的值”;A,BINPUT “输入夹角C的角度值”;CC=C*3.1416/180P=A*A+B*B-2*A*B*cos(C)Y=SQR(P)PRINT “第三边”;YEND在basic语言中,求一个数的算术平方根要用SQR(X)函数.解:程序框图如下图所示:例3、编写一个程序,要求输入两个正数a和b的值,输出a b和b a的值.解:INPUT “正数a,b”;a,bA=a^bB=b^aPRINT “A=,B=”;A,BEND例4、编写一个程序,要求鸡兔同笼,已知鸡兔总头数为h,总脚数为f,求鸡兔各有多少只?解:INPUT “总头数h=”;hINPUT “总脚数f=”;fx=(4*h-f)/2y=(f-2*h)/2PRINT “鸡=”;x,“兔=”;y。
pascal语言编程之赋值语句
第二节赋值语句
2016年11月
Pascal语言中,通常使用赋值语句来给变量提供数据,它具有计算和赋值的功 能,程序中所进行的各种运算,大多数是在赋值语句中实现的。 (1)格式 变量标识符:=表达式 (2)语义
赋值语句的执行是“先计算,后赋值”。即先计算表达式的值,然后将值
赋给变量标识符,具有计算和赋值的双重功能。 例如:pi1:=3.1415*6是计算3.1415*6的值,然后将其值赋值给变量pi1.
[例1]下面的程序执行后,变量b、c、d的值是多少? program p2_1(input,output); Const a=256;
Var b,d:integer;
c:real; Begin
b:=a div 16;{计算表达式a div16的值为16,赋值给变量b}
c:=a/b;{计算表达式a/b的值,也就是将a的值256除以b的值,结果 为16,但是因变量c的类型是实型,所以赋予给变量c的值应为16.0}
3.一个赋值语句只能给一个变量赋值。变量可以进行多次赋值,赋值后的
变量将在程序中一直保持不变,直到该变量重新赋值成其他的值。 4.被赋值的变量本身可以作为因子参与运算,如n:=n-1,i:=i+1,s:=s+x.
为了深入理解赋值语句,请看下面的例子: [例2] 写出执行下面的程序后,变量a、b的值。 program p4_2 ; var a,b:integer; begin a:=3; b:=a; b:=a+1;
aห้องสมุดไป่ตู้=a+1;
b:=b+1; Readln; {暂停} writeln(„a=‟,a); writeln(„b=„,b); end.
Pascal语言 第2课(2) 赋值语句、输出语句
中每 个小朋友的糖果个数, 个小朋友的糖果个数,且他们所拥有的的糖果数 是在变化的。因此可用a,b,c a,b,c三个变量分别存放 是在变化的。因此可用a,b,c三个变量分别存放 甲乙丙三个小朋友在某一时刻所拥有的糖果数。 甲乙丙三个小朋友在某一时刻所拥有的糖果数。 对于每人,分糖后, 对于每人,分糖后,他的糖果数一定为原来的糖 3( 果数 div 3(因为分糖过程糖果的数目不一定都 刚好分完, 刚好分完,用整除恰恰可以表示多余的糖自己吃 )。而其他两人则增加与这个小朋友现在拥有 掉)。而其他两人则增加与这个小朋友现在拥有 的一样的糖果。 的一样的糖果。
例如:以下两个程序段的输出: 例如:以下两个程序段的输出: (1)write(1,2,3,4); write(5,6); 输出为: 输出为: 123456 (2)writeln(1,2,3,4);write(5,6); 输出为: 输出为: 1234 56
三、应用例析 某仓库5 例1:某仓库5月1 日有粮食100 100吨 日有粮食100吨,5月 2日又调进20吨,5月 日又调进20吨 20 日卖出库存的3 3日卖出库存的3分之 二,5月4日又调进库 存的3倍粮食, 存的3倍粮食,问该 仓库从5 日到5 仓库从5月1日到5月4 日期间每天的粮食分 别是多少吨? 别是多少吨?(输出 每天的库存量) 每天的库存量)
二、输出语句 (一)输出语句的两种格式 1、 write语句 、 语句 格式: 表达式1,表达式2, 格式:Write(表达式 ,表达式 ,……); 表达式 ; 功能: 功能: Write语句将其后括号中的表达式一 语句将其后括号中的表达式一 个接一个输出后, 个接一个输出后,没有换行 ; 2、 writeln语句 、 语句 格式: 表达式1,表达式2, 格式:Writeln(表达式 ,表达式 ,……); 表达式 或Writeln 功能: 功能: writeln语句则在输出本语句中各个 语句则在输出本语句中各个 表达式的值后换行。 表达式的值后换行。
第02讲 PASCAL语言介绍及顺序结构
read语句举例
read(hours,rate)
输入30 45
Program example(input,output); Var hours,rate:integer; ch1,ch2,ch3:char; Begin read(hours,rate); writeln(hours,’,’,rate); End.
可以看作有特殊功能的赋值语句
累加 count:=count+num 记数 count:=count+1 累乘 a:=a*x
输出语句
用于将计算结果通过屏幕或打印机输出 给人看 一般形式: write(<输出表>) 或 writeln(<输出表>) 输出表是一些由逗号分开的输出项 输出项可以是变量或表达式
中文名称 类型标识符 数据表示范围
实型 双精度 Real double 2.9e-39..1.7e38 5.0e-324..1.7e308
扩展类型 Extended 3.4e-4932.. 1.1e4932 -9.2e18..9.2e18 压缩扩展 Comp
返回
字符型(char)
是指在两个单引号中的一个字符; 字符型的数据有128个; ord:求某字符的序数(ASCII码) 例如:ord('A')=65(01000001)2
练习:
program Ex(input,output); var a,b:integer; begin a:=3;b:=5; a:=a+b; b:= a-b; a:=a-b; end. 执行上面程序后,变量a,b的最终值各 是多少?
注意事项:
赋值、输入和输出语句课件
输出语句的语法
输出语句的语法因编程语言而异,但通常包括一个关键字或函数,用于指示要执行输出操作, 以及要输出的数据或变量。 例如,在Python中,输出语句的语法如下
输出语句的语法
01 ```python
02 print("Hello, World!")
输出语句的语法
``` 在Java中,输出语句的语法如下
01
02
03
04
05
以下是一些不同编程语 言中输入语句的示例
Python: `name =
Java: `Scanner input =
input("请输入您的姓名: new
")`
Scanner(System.in);
String name =
input.nextLine();`
C: `#include <iostream> std:string name; std:cin >> name;`
常见的输入语句语法包括使用关键字 (如“input”或“read”),后跟变
量名,用于存储用户输入的值。
例如,在Python中,输入语句的语法 为 `variable = input("prompt")`,其 中“variable”是用于存储输入值的变 量名,“prompt”是提示用户输入的
消息。
输入语句的示例
输出语句的语法
```java
```
System.out.println("Hell o, World!");
输出语句的示例
以下是一些示例,演示了不同编程语言中的输出语句 Python示例
```python
1.2.1 输入、输出语句和赋值语句
END
2、编写一个程序,计算两个非零 实数的加、减、乘、除运算结果.
INPUT a INPUT b t = a+b PRINT “这两个数的和为”;t t = a-b PRINT “这两个数的差为”;t t = a*b PRINT “这两个数的积为”;t t = a/b PRINT “这两个数的商为”;t END
比较下列语句:
(1) INPUT x
(2) INPUT (3) INPUT
“请输入一个正整数:” ;x “Math=” ;x
判断下列语句是否正确?
(1) (2) (3) (4) INPUT INPUT PRINT PRINT x ;y;z x=3 x=4 4+5
(5) PRINT (x+y)/2
PRINT x PRINT y
END
例2、编写程序,计算一个学 生数学、语文、英文三门课的 平均成绩。
INPUT
“Math= ” ; a
“Chinese= ” ; b INPUT “English= ” ; c
INPUT
PRINT END
“The average= ” ; (a+b+c)/3
例3、给一个变量重复赋值。
(6) (7) (8) (9)
3=x x+y=8 x=x*x x=y=9
例1、用描点法作函数 y=x3+3x2-24x+30的图象时, 需要求出自变量与函数的一组对 应值。编写程序,分别计算当 x=-5,-4,-3,-2,-1,0,1,2,3,4,5 时的函数值。
INPUT “x=” ; x
y=x^3+3*x^2-24*x+30
说明: 赋值语句中的 “=” 叫做赋值 号,它不同于数学中的等号,计算 机在执行赋值语句时,先计算“=” 右边表达式的值,然后把这个值赋 给“=”左边的变量。
第二课PASCAL程序的基本知识
第二课PASCAL程序的基本知识【教学目标】知识目标:了解PASCAL语言的产生和特点;初步了解PASCAL程序的结构;能力目标:掌握PASCAL的简单编程。
情感目标:激发学生对PASCAL语言的兴趣;培养学生树立不怕困难、不屈不挠的意志。
【教学重点】PASCAL程序的结构。
【教学难点】学生学习程序设计有畏难情绪,如何通过起始教学,引起学生学习PASCAL 语言的兴趣。
【教学方法】讲授法【课程类型】授新课【教学过程】:一、导入计算机语言通常分为三类:机器语言、汇编语言和高级语言。
机器语言是用二进制代码0和1的不同组合来表示不同的计算机指令;汇编语言用一些“助记符”来代替难懂难记的二进制代码,也称符号语言;与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。
目前被广泛使用的高级语言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO 以及VC、VB等。
二、PASCAL语言概述1、如何学好PASCAL语言?①注意Pascal程序的规范语法;②注意掌握算法,做到举一反三,一通百通;③认真完成作业,理论与上机并重;④上课注意记笔记,因为书本写得不符合我们的实际,所以上课内容与课本差别大。
三、从PASCAL程序实例看PASCAL程序的结构用PASCAL语言编写的程序成为PASCAL程序,在学习PASCAL语言编写程序之前让我们先来看一个简单的PASCAL程序:[例1]program (output);beginwrite (‘hello ,pascal!’)end.这个程序的作用是打印出“hello ,pascal!”这个英文句子。
一个PASCAL程序必须以“program”开头,其后跟一个用户自己设定的“程序名”,本程序的程序名是“welcome”,括号内的部分表示程序有输出(输出显示在终端显示屏上),执行部分必须是以“begin”开头,以“end.”结束的。
本例中的执行部分只有一个语句,输出语句,它是将后面括号内的字符串(用引号括起来的字符)按照原样打印出来。
PASCAL语言基础教程_2
Pascal基础教程第一课初识PASCAL语言 (1)第二课赋值语句与简单的输出语句 (5)第三课带格式的输出语句输入语句 (12)第四课简单的分支结构程序设计 (19)第五课if嵌套与case语句 (23)第六课for循环 (29)第七课while循环与repeat-until循环 (30)第八课一维数组 (35)第九课多维数组 (39)第十课字符数组与字符串 (45)第十一课枚举、子界、集合及记录类型 (51)第十二课过程与函数 (66)第十三课动态数据类型(指针类型) (76)第十四课文件 (89)附录一Pascal中的字符串函数和数学函数 (110)附录二关于fillchar的使用和讨论 (115)附录三程序的调试技巧 (116)附录四Pascal的多种退出语句用法 (122)第一课初识Pascal语言信息学奥林匹克竞赛是一项益智性的竞赛活动,核心是考查选手的智力和使用计算机解题的能力。
选手首先应针对竞赛中题目的要求构建数学模型,进而构造出计算机可以接受的算法,之后要写出高级语言程序,上机调试通过。
程序设计是信息学奥林匹克竞赛的基本功,在青少年朋友参与竞赛活动的第一步必须掌握一门高级语言及其程序设计方法。
一、Pascal语言概述PASCAL语言也是一种算法语言,它是瑞士苏黎世联邦工业大学的N.沃思(Niklaus Wirth)教授于1968年设计完成的,1971年正式发表。
1975年,对PASCAL语言进行了修改,作为"标准PASCAL语言"。
PASCAL语言是在ALGOL60的基础上发展而成的。
它是一种结构化的程序设计语言,可以用来编写应用程序。
它又是一种系统程序设计语言,可以用来编写顺序型的系统软件(如编译程序)。
它的功能强、编译程序简单,是70年代影响最大一种算法语言。
二、Pascal语言的特点从使用者的角度来看,PASCAL语言有以下几个主要的特点:⒈它是结构化的语言。
1.2.1 输入语句、输出语句和赋值语句
1.2基本算法语句1.2.1输入语句、输出语句和赋值语句考点学习目标核心素养输入语句、输出语句和赋值语句掌握三种语句的定义,了解它们的一般格式和作用,借助三种语句完成算法到程序语句的转化数学抽象、逻辑推理、直观想象问题导学(1)输入语句的格式是怎样的?其功能是什么?(2)输出语句的格式是怎样的?其功能是什么?(3)赋值语句的格式及功能各是什么?(4)三种语句:输入语句、输出语句、赋值语句与框图有什么对应关系?1.输入语句(1)格式:INPUT“提示内容”;变量.(2)功能:输入提示内容要求的相应信息或值.■名师点拨输入语句要求(1)输入语句要求输入的值是具体的常量.(2)“提示内容”提示用户输入的是什么信息,必须加双引号,提示内容“原原本本”地在计算机屏幕上显示,“提示内容”与“变量”之间要用分号隔开.(3)一个输入语句可以给多个变量赋值,中间用“,”分隔.形式如:INPUT “a,b,c =”;a,b,c.2.输出语句(1)格式:PRINT“提示内容”;表达式.(2)功能:①输出常量、变量的值和系统信息;②进行数值计算并输出结果.■名师点拨输出语句要求(1)表达式是指算法和程序要求输出的信息.(2)提示内容提示用户要输出的是什么信息,提示内容必须加双引号,提示内容要用分号和表达式分开.(3)如同输入语句一样,输出语句可以一次完成输出多个表达式的功能,不同的表达式之间可用“,”分隔.形式如:PRINT “a,b,c=”;a,b,c.3.赋值语句(1)格式:变量=表达式.(2)功能:将表达式所代表的值赋给变量.■名师点拨赋值语句要求(1)赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个常量、变量或含变量的运算式.如:2=x是错误的.(2)赋值号的左右两边不能对换.赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量.如“A=B”“B=A”的含义运行结果是不同的,如x=5是对的,5=x是错的,A+B=C是错的,C=A+B是对的.(3)不能利用赋值语句进行代数式的演算(如化简、因式分解、解方程等),如y=x2-1=(x-1)(x+1),这是实现不了的.在赋值号右边表达式中每一个变量的值必须事先赋给确定的值.在一个赋值语句中只能给一个变量赋值,不能出现两个或以上的“=”.但对于同一个变量可以多次赋值,且给一个变量重复赋值,变量只保存最后一次赋值.判断正误(对的打“√”,错的打“×”)(1)“i+1=i”是正确的赋值语句.()(2)INPUT语句每次只能输入一个变量的值.()(3)PRINT语句有计算功能.()(4)PRINT语句每次可以输出多个表达式,不同表达式之间用“;”隔开.()答案:(1)×(2)×(3)√(4)×下列关于赋值语句的说法错误的是()A.赋值语句先计算出赋值号右边的表达式的值B.赋值语句是把左边变量的值赋给赋值号右边的表达式C.赋值语句是把右边表达式的值赋给赋值号左边的变量D.赋值语句中的“=”和数学中的“=”不一样解析:选B.赋值语句的作用是把右边表达式的值赋给赋值号左边的变量.判断下列输出语句,不正确的序号为________.①输出语句:PRINT“A=”;A②输出语句:PRINT20,3*2③输出语句:“你的姓名”XM解析:①正确,是输出语句的一般格式;②正确,PRINT语句可以输出常量、表达式的值;③不正确,提示内容和表达式之间应该用“;”隔开,且缺少“PRINT”.答案:③下面一段程序执行后的结果是________.A=2A=A*2A=A+6PRINT AEND解析:先把2赋给A,然后把A*2=4赋给A,即A的值为4,再把4+6=10赋给A,所以输出的结果为10.答案:10三种语句的格式与功能下列语句中正确的有________(填序号).①输入语句INPUT a,b,c.②输入语句INPUT x=3.③输出语句PRINT A=4.④输出语句PRINT30,4*3.⑤赋值语句x=x/2.⑥赋值语句2=a.【解析】①正确;②不正确,INPUT语句中只能是变量;③不正确,PRINT语句中只能输出变量或表达式,不能赋值;④正确;⑤正确;⑥不正确,不能给常量赋值.【答案】①④⑤各种语句必须按其格式编写,并充分注意各自的注意事项,否则,所编写的语句是错误的,计算机将无法执行.下面的程序输出的结果是()a=2b=5c=a+ba=c+4PRINT a,bENDA.2,5 B.4,5C.11,5 D.7,5解析:选C.第三句给c赋值后c=7,第四句给a赋值后a=11,故最后输出11,5.利用三种语句编写程序已知A(x1,y1),B(x2,y2)是平面上两点,设计一个程序输出线段AB的中点M的横、纵坐标.【解】程序如下:INPUT x1,y1,x2,y2x=(x1+x2)/2y=(y1+y2)/2PRINT“点M的横坐标为”;xPRINT“点M的纵坐标为”;yEND(1)编写程序的关键在于弄清问题的算法,特别是算法的结构,然后确定采用哪一种算法语句,分清算法的步骤,写出程序.(2)输入语句、输出语句、赋值语句基本上对应于算法中的顺序结构,编写程序时“INPUT语句”是输入框中的信息,赋值语句是处理框中的信息,“PRINT语句”是输出框中的信息.(3)编写程序的步骤:①首先根据问题要求构思算法分析.②然后把算法分析转化为程序框图,即画出程序框图.③再把程序框图转化为程序.编写程序,计算甲、乙、丙三人的平均年龄.解:算法步骤如下:第一步:输入甲、乙、丙三人的年龄a ,b ,c . 第二步:计算y =a +b +c3.第三步:输出y . 程序如下所示: INPUT “jia =”;a INPUT “yi =”;b INPUT “bing =”;cPRINT “The average =”;(a +b +c)/3 END算法语句与程序框图的转换如图是一个用基本算法语句编写的程序,根据程序画出其相应的程序框图.INPUT “x ,y =”;x ,y x =x/3 y =2*y ∧2 PRINT x ,y x =2*x -y y =y -1 PRINT x ,y END【解】 程序框图如图.算法语句与程序框图的关系(1)顺序结构的程序框图利用输入语句、输出语句和赋值语句即可完成.其中输入、输出框对应输入语句和输出语句,执行框对应赋值语句.(2)由程序画程序框图是上述过程的逆过程,只需把输入语句、输出语句与输入、输出框对应转化,将赋值语句与执行框对应转化即可.1.如图是一个用基本算法语句编写的程序,根据程序画出其相应的程序框图.INPUT“x,y=”;x,yPRINT“x=”;x∧2-x/2+yPRINT“y=”;3*y+2*xx=x*2+1y=y∧3+SQR(x)PRINT xPRINT yEND解:程序框图如图.2.根据如图所示的程序框图,写出相应的算法语句.解:算法语句如下:INPUT“a=”;aINPUT“h=”;hS=SQR(3)*a∧2/4V=S*hC=3*aT=C*hP=T+2*SPRINT VPRINT PEND1.下列关于输入语句的说法不正确的是()A.格式是INPUT“提示内容”;变量B.提示内容一般是提示用户输入什么样的信息C.输入语句可以给多个变量赋值D.格式是INPUT提示内容;变量解析:选D.显然A正确,D不正确.对于B、C两项,都是理解输入语句时需要注意的,“提示内容”可以是中文也可以是英文;输入语句可以给多个变量赋值.2.下列程序执行后输出的结果为3,则输入的x值为()INPUT“x=”;xy=x*x+2*xPRINT yENDA.1 B.-3C.-1 D.1或-3解析:选D.由题意得,x2+2x=3,解方程得x=1或x=-3.3.阅读下列两个程序,回答问题.①x=3y=4x=yPRINT x,yEND②x=3y=4y=xPRINT x,yEND(1)上述两个程序的运行结果是①________;②______________________________.(2)上述两个程序中的第三行有什么区别:________.解析:(1)①中运行x=3,y=4,x=4,故运行结果是4,4;同理,②中的运行结果是3,3;(2)程序①中的“x=y”是将y的值4赋给x,赋值后x的值变为4;程序②中的“y=x”是将x的值3赋给y,赋值后y的值变为3.答案:(1)①4,4②3,3(2)程序①中的“x=y”是将y的值4赋给x,赋值后x的值变为4;程序②中的“y=x”是将x的值3赋给y,赋值后y的值变为3[A基础达标]1.下列所给的式子,前一个是算术式子,后一个是BASIC语言中的对应式子,正确的有()①e5:e∧5;②334:3∧3/4;③2-[5-(7+9)]:2-(5-(7+9));④3:SQR(3);⑤|x-3|:ABS(x-3).A.1个B.2个C.3个D.4个解析:选C.e在程序中不能识别,应为EXP(5),①错;当幂指数为分式等代数式时,应加括号,乘方优先于乘、除法,所以334应为3∧(3/4),②错;在BASIC语言中所有的括号不分大括号、中括号,一律用小括号,③正确;程序中注意换为相应的函数,故④⑤正确.2.(2020·北京市人大附中月考)若将两个数a=8,b=17交换,使a=17,b=8,下面语句正确的一组是()解析:选C.利用程序语句变换两个数的算法为c=b,b=a,a=c或c=a,a=b,b=c,结合所给的选项,只有C选项符合题意.故选C.3.(2020·河北省武邑中学月考)计算机执行下面的程序段后,输出的结果是()a=1b=3a=a+bPRINT aA.4B.1C.2D.3解析:选A.把1赋给变量a,把3赋给变量b,把1+3的值赋给变量a最后输出a,此时a=4.故选A.4.给出下面一个程序:A=5B=8X=AA=BB=X+APRINT A,BEND此程序运行的结果是()A.5,8 B.8,5 C.8,13 D.5,13解析:选C.此程序先将A的值赋给X,再将B的值赋给A,再将X+A的值赋给B,即将原来的A与B的和赋给B,最后A的值是原来B的值8,而B的值是两数之和13.5.运行下面的程序,输出的结果A是__________.解析:该程序输出的结果为A=1×2×3×4×5=120.答案:1206.运行下面的程序,输出的结果是________.x=6y=3x=x/3y=4*x+1PRINT x+yEND解析:该程序的运行过程是x=6,y=3,x=6÷3=2,y=4×2+1=9,x+y=2+9=11.所以输出11.答案:117.读如下两个程序,完成下列题目.程序①:x=1x=x*2x=x*3PRINT xEND程序②:INPUT xy=x*x+6PRINT yEND(1)程序①的运行结果为________.(2)若程序①,②运行结果相同,则程序②输入的x的值为________.解析:赋值语句给变量赋值时,变量的值总是最后一次所赋的值,故程序①中x的值最后为6.要使程序②中y的值为6,即x2+6=6,故x=0.即输入的x的值为0.答案:(1)6(2)08.编写一个程序,要求输入两个正数a,b的值,输出a b和b a的值.解:程序如下:INPUT“a,b=”;a,bPRINT“a b=”;a∧bPRINT“b a=”;b∧aEND9(元),从总工资中扣除10%作公积金,剩余的为应发工资,试编写程序表示输入劳动时间和每小时工资,输出应发工资.解:算法如下:第一步,输入每月劳动时间t和每小时工资a.第二步,求每月总工资y=a×t.第三步,求应发工资z=0.9×y.第四步,输出应发工资z.程序框图如图所示.程序如下:INPUT t,ay=a*tz=0.9*yPRINT zEND[B能力提升]10.给出下列程序:A.求点到直线的距离B.求两点之间的距离C.求一个多项式函数的值D.求输入的值的平方和解析:选B.输入的四个实数可作为两个点的坐标,程序中的a,b分别表示两个点的横、纵坐标之差,而m,n分别表示两点横、纵坐标之差的平方;s是横、纵坐标之差的平方和,d是平方和的算术平方根,即两点之间的距离,最后输出此距离.x除以整数y的余数)为()11.执行下列算法语句后的结果(x MOD y表示整数A.A=80,B=1,C=401 B.A=80,B=3,C=403C.A=80,B=3.2,C=403.2 D.A=80,B=3.2,C=404解析:选A.第一句输入x=16,y=5,第二句A=xy=80,第三句B取x除以y的余数,即B =1,第四句C =80×5+1=401,故选A.12.给出如图所示的程序框图,写出相应的程序.解:程序如下: INPUT “x ,y =”;x ,yx =x/2y =3*yPRINT x ,yx =x -yy =y -1PRINT x ,y END13.(选做题)围成的正方形和圆的面积.要求输入L 的值,输出正方形和圆的面积,并画出程序框图.(π取3.14)解:由题意知,正方形的边长为L 4,面积S 1=L 216;圆的半径为r =L 2π,面积S 2=π⎝ ⎛⎭⎪⎫L 2π2=L 24π. 因此程序如下:INPUT “L =”;LS1=(L*L)/16S2=(L*L)/(4*3.14)PRINT S1PRINT S2END程序框图如图.。
输入语句、输出语句和赋值语句 课件
(5)循环语句的两种形式
当型WHILE 语句来自满足条件循环体 是
否
WHILE 循环体 WEND
条件
例1.分别用UNTIL语句 和WHILE语句编写程序, 1+2+3+4+……+100的值.
开始
i = 1,S= 0
s=s+i
i =i + 1
否 i>100?
是 输出S
结束
例1.分别用UNTIL语句 和WHILE语句编写程序, 1+2+3+4+……+100的值.
A=(a+b+c)/3
END
输出A
结束
例2.交换两个变量A和B的值,并输出交换 前后的值.
(4) If条件语句的基本类型(一)
满足条件? 否
是 语句
IF 条件 THEN 语句体
END IF
满足条件? 是
语句1
否 语句2
IF 条件 then 语句体1
Else 语句体2
End if
If条件语句的基本类型(二)
基本算法语句
(1)输入语句 INPUT 变量名
表示输入的数据依次送给变量
(2)输出语句 PRINT 变量名
表示输出变量的值
(3)赋值语句 变量 = 表达式
表示将表达式所代表的值赋给变量
例1:求一个学生语数英三门功课的平均
成绩的算法.
框图: 开始
语句:
INPUT a,b,c
输入a,b,c
A=(a+b+c)/3 Print A
流程图
If复合条件语句
是
否
条件1
语句1
第02节 Pascal语言基本结构和输出语句
第二节 Pascal语言基本结构和输出语句教学目标:掌握Pascal语言的基本结构,学习使用标准过程write的用法教学内容:一.Pascal语言基本结构program 程序名; .......程序首部,可有可无;typeconst .......说明部分,可选;var自定义过程或函数begin .......执行部分,必须有;语句1;语句2;...end .注意标点符号的使用。
注意:(1)要求学生在写程序时,写出程序的完整结构。
(2)采用缩格形式。
(3)注意标点符号的使用。
二.简单的输出语句(写过程)1.一般形式:write(输出项1,输出项2,...,输出项n); {输出所有项目后不换行} writeln(输出项1,输出项2,..., 输出项n); {输出所有项目后换行}writeln; {输出一个回车符,换行作用}说明:(1)输出项可以是常量、变量、表达式或字符串。
变量:输出变量的值。
输出多个变量时,变量间用“,”分隔。
表达式:输出的是表达式的值。
常量:直接输出常量值。
字符串:原样输出用引号括起来的字符串的内容.2.区别a. write语句是一项接一项输出括号内的项目,输出完最后一项后不换行;writeln语句是一项接一项输出输出括号内的项目,输出完最后一项后自动换行.b. write必须有一个输出项;writeln可以没有输出项,只起换行作用.3.输出格式:(1)整型数据的输出 (I:表示一整型数据)write(I);write(I:n);(2)实型数据的输出 (R:表示一实型数据)write(R);write(R:n:m);(3)字符型数据的输出 (C:表示一字符型数据)write(C);write(C:n);备注:当场宽值小于实际数值的长度时,场宽不起作用。
例1.显示字符串'Pascal Language program'后换行.(方框内为屏幕输出结果) program l1;beginwriteln('Pascal Language program')例2.将'aaa','bbb','ccc'分三行显示. program l2;beginwriteln('aaa');writeln('bbb');writeln('ccc');end.例3. 计算10*45program l3;beginwrtieln('10*45=',10*45);end.例4. 计算 67/5program l4;beginwriteln('67/5=',67/5:5:2);end.四.编写下面几个简单的程序(程序命名***zy1_题号)1.编程序显示' Let's study Turbo Pascal.'2.编写程序将字符串 'C Language' 和' Pascal Language'分2行显示.3.编写程序在显示'C Language' 后隔行显示' Pascal Language '.4.编写程序显示数值12345.编写程序显示数值12.34(以小数形式输出)五.利用场宽,在屏幕中间输出下列图形:(每行显示80个字符)6. *7. A8. 88888** AAA 888*** AAAAA 8。
第二课:pascal 赋值语句、输出语句
第二课:赋值语句、输出语句上节课,我们学习了Pascal语言的程序基本结构,在一个程序中,所有的操作都由执行部分来完成,而执行部分又都是由一个个语句组成的。
因此,下面开始我们要学习pascal语言的基本语句,并且在学习过程中逐步学会程序设计的基本方法。
这节课我们要学习两种语句,即赋值语句与输出语句。
在语句学习之前我们要先了解一些pascal语言的基础知识。
一、常量、变量与算术表达式(一)常量:在程序运行过程中,其值不能被改变的量称为常量。
如123,145.88,’abc’,true等。
1、整型常量:整型常量采用我们平常使用的十进制整数表示,包括正整数、负整数和零。
如:138,0,-512等都是整型常量,而1.8或18.0都不是整型常量。
注:计算机系统能表示的整型数的范围取决于其字长,如:现在大部分机器的字长字长为16,它们所能支持的整型数的范围为+215至-215-1,即-32768至+32767,这里涉及到有符号数和补码方面的知识2、实型常量:包括正实数、负实数和实数零,其实就是常说的小数,pascal 中表示实型常量的形式有两种。
⑴十进制表示法:这是人们日常使用的带小数点的表示方法,如0.0、-0.0、+5.61、-8.0、-6.050等都是实型常量。
⑵科学记数法:采用指数形式的表示方法,如1.25×105可表示成1.25E+05。
在科学记数法中,字母"E"表示10这个"底数",而E之前为一个十进制表示的小数,称为尾数,E之后必须为一个整数,称为"指数"。
如-1234.56E+26、+0.268E-5 、1E5是合法形式,而E5、E、1.2E+0.5都不是合法形式的实数。
无论实数是用十进制表示法还是科学表示法,它们在计算机内的表示形式是一样的,总是用浮点方式存储。
和整数相比,实数能表示的范围大得多,但值得注意的是实数的运算比整数的运算速度慢且无法像整数那样精确表示,只能近似表示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二课:赋值语句、输出语句上节课,我们学习了Pascal语言的程序基本结构,在一个程序中,所有的操作都由执行部分来完成,而执行部分又都是由一个个语句组成的。
因此,下面开始我们要学习pascal语言的基本语句,并且在学习过程中逐步学会程序设计的基本方法。
这节课我们要学习两种语句,即赋值语句与输出语句。
在语句学习之前我们要先了解一些pascal语言的基础知识。
一、常量、变量与算术表达式(一)常量:在程序运行过程中,其值不能被改变的量称为常量。
如123,145.88,’abc’,true等。
1、整型常量:整型常量采用我们平常使用的十进制整数表示,包括正整数、负整数和零。
如:138,0,-512等都是整型常量,而1.8或18.0都不是整型常量。
注:计算机系统能表示的整型数的范围取决于其字长,如:现在大部分机器的字长字长为16,它们所能支持的整型数的范围为+215至-215-1,即-32768至+32767,这里涉及到有符号数和补码方面的知识2、实型常量:包括正实数、负实数和实数零,其实就是常说的小数,pascal 中表示实型常量的形式有两种。
⑴十进制表示法:这是人们日常使用的带小数点的表示方法,如0.0、-0.0、+5.61、-8.0、-6.050等都是实型常量。
⑵科学记数法:采用指数形式的表示方法,如1.25×105可表示成1.25E+05。
在科学记数法中,字母"E"表示10这个"底数",而E之前为一个十进制表示的小数,称为尾数,E之后必须为一个整数,称为"指数"。
如-1234.56E+26、+0.268E-5 、1E5是合法形式,而E5、E、1.2E+0.5都不是合法形式的实数。
无论实数是用十进制表示法还是科学表示法,它们在计算机内的表示形式是一样的,总是用浮点方式存储。
和整数相比,实数能表示的范围大得多,但值得注意的是实数的运算比整数的运算速度慢且无法像整数那样精确表示,只能近似表示。
3、字符常量:在Pascal语言中,字符常量是由单个字符组成,所有字符来自ASCII字符集,共有256个字符。
在程序中,通常用一对单引号将单个字符括起来表示一个字符常量,如:’a’,’A’,’0’等;特殊地,对于单引号字符,则要表示成’’’’。
对于ASCII字符集中,按每个字符在字符集中的位置,将每个字符编号为0-255,编号称为对应字符的序号,因此字符也存在大小,如:’A’<’a’、’b’>’a’4、布尔常量:布尔型常量仅有两个值,真和假,分别用标准常量名true 和false表示,它们的序号分别为1和0。
5、符号常量:它是由程序员自己定义的,一个常量即可以直接用字面形式表示(称为直接常量,如124,156.8),也可以用一个标识符来代表一个常量,称为"符号常量"。
但符号常量必须在程序中的说明部分定义,也就是说先定义,后使用。
定义符号常量的一般格式:CONST <常量标识符>=<常量>; 如:CONST PI=3.1415926;E=2.71828;说明:常量说明部分以关键字const开头, 后面的标识符为常量标识符,其中"="号后的常量为整数、实数、字符、字符串(字符串常量在后面章节中将作介绍)关于符号常量,应注意下列几点:⑴、符号常量一经定义,在程序的执行部分就只能使用该常量标识符,而不能修改其值⑵、使用符号常量比直接用数值更能体现"见名知义"的原则,也便于修改参数,故一个较好的程序中,应尽量使用符号常量,在执行部分基本上不出现直接常量。
(二)变量:变量代表了一个存储单元,其中的值是可变的,故称为变量。
如游戏"魂斗罗"中玩者命的个数最初为3,当你死了一次命减少一,这里命的个数就是一个变量(或者说命的个数存储在一个存储单元中)。
即在程序运行过程中,其值可以改变的量,称为变量。
变量有三个要素是:变量名、变量类型、变量值一个程序中可能要使用到若干个变量,为了区别不同的变量,必须给每个变量(存贮单元)取一个名(称为变量名),该变量(存贮单元)存放的值称为变量的值,变量中能够存放值的类型为变量的类型。
例如"魂斗罗"游戏中用于存放"命"的变量,在游戏程序中的名字可取为N,它的类型为整型,游戏初始时这个变量的值为31.变量名:用一个合法的标识符代表一个变量。
如n,m,rot,total 等都是合法变量名。
在程序中用到的变量必须在说明部分加以说明,变量名应遵循自定义标识符的命名规则,并注意“见名知义”的原则,即用一些有意义的单词作为变量名“自定义标识符”的命名规则为:自定义标识符必须以字母(包含下划线"_")开头,后面的字符可以是字母或数字,标识符长度不超过63个字符2.变量的类型:常量是有类型的数据,变量在某一固定时刻用来存放一个常量,因此也应有相应的类型;如整型变量用来存放整数,实型变量用来存放实数;也就是说,变量的类型取决于将要存放的数据的类型,并且其类型一旦定义了,就不能再改变,也不能把其他类型的数据赋给它3.变量说明:在程序中若要使用变量,变量的名称及类型在程序的变量说明部分加以定义,变量的值则在程序的执行部分中才能赋给,变量说明的一般格式:VAR <变量标识符>[,<变量标识符>]:<类型>;(中括号内部分表示可省,下同)其中VAR是pascal保留字,表示开始一个变量说明段, 每个变量标识符或由逗号隔开的多个变量标识, 必须在它的冒号后面说明成同一类型。
一个程序中,可以说明许多不同类型的变量,每种类型变量之间用分号隔开,共用一个VAR 符号。
例如:varage,day:integer;amount,average:real;其中:Integer(整型)、Real(实型)、Boolean(布尔型)、Char(字符型)是标准标识符,它们是"类型标识符",代表了确定的类型,如age和day 被定义为整型变量,amount和average被定义为实型变量。
一旦定义了变量,就确定了它的类型,也就是说,就确定了该变量的取值范围和对该变量所能进行的运算。
(三)算术表达式⑴算术表达式的定义:pascal语言中的算术表达式是由符合pascal语法规定的运算对象(包括常量、变量、函数)、算术运算符、圆括号组成的有意义的式子。
如:A+3.14159*5/8.4-Abs(-1123)⑵算术运算符,常用的有以下6个算术运算符:①+(加)②-(减)③*(乘)④/(实数除)得到结果为实型.如5.0/2.0=2.5,5/2= 2. 5,4/2=2.0而不等于2。
⑤DIV (整除) DIV它要求除数和被除数均为整型, 结果也为整型。
如10 DIV 2=5,10 DIV 3=3, 5 DIV 10=0. -15 DIV 4= -3,DIV运算只取商的整数部分,参与DIV运算的两个对象不能为实型⑥mod (求余),也只能用于整数运算,结果为整数。
例如:10 mod 4=2 , -17 mod 4= -1 , 4 mod (-3)=1, - 4 mod 3= -1,即a mod b=a-(a div b)*b(3)运算优先顺序,如果一个表达式里出现两个或两个以上的运算符,则必须规定它们的运算次序,pascal规定①表达式中相同优先级的运算符,按从左到右顺序计算②表达式中不同优先级的运算符,按从高到低顺序计算③括号优先级最高,从内到外逐层降低在算术运算中运算符的优先顺序与数学上的四则运算一致,即“先乘除后加减”(注:MOD、DIV运算的优先级与*、/相同)二、赋值语句变量既然代表一个存储单元,其值是可变的,那么其中的值是怎么提供的,又是怎么改变的呢?可以通过赋值语句来进行1、赋值语句的格式变量名:=表达式;其中“:=”称为赋值号,是赋值语句的标志2、执行过程:计算机先计算赋值号右边表达式的值,然后将表达式的值赋给变量名代表的变量,如:A:=(9*8)-(2-1);A:=A+1;最后A的值为72三、输出语句输出语句的作用是将程序运算的结果输出到屏幕或打印机等输出设备,这里通常是指输出到屏幕。
(一)输出语句的两种格式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语句格式上都相似,但它们在功能上有所不同,两个语句的区别在于,write语句将其后括号中的表达式一个接一个输出后,没有换行;而writeln语句则在输出各个表达式的值后换行,例如以下两个程序段的输出分别为:write(1,2,3,4);write(5,6);输出为:123456writeln(1,2,3,4);write(5,6);输出为:123456四、应用例析例1:某仓库5月1日有粮食100吨,5月2日又调进20吨,5月3日卖出库存的3分之二,5月4日又调进库存的3倍粮食,问该仓库从5月1日到5月4日期间每天的粮食分别是多少吨?(输出每天的库存量)分析:在这个问题中,主要要描述从5月1日到5月4日期间仓库的粮食库存量,且易知它是不断变化的。
因此我们可以用一个变量A来描述仓库的粮食库存量程序可写如下:Program ex1;VarA : integer;BeginA:=100;Writeln(’5/1:’,A);A:=A+20;Writeln(’5/2:’,A);A:=A div 3;writeln(’5/3:’,A);A:=A *4;writeln(’5/4:’,A);Readln;End.例2:有三个小朋友甲乙丙。
甲有50粒糖果,乙有43粒糖果,丙有13粒糖果。
现在他们做一个游戏。
从甲开始,将自己的糖分三份,自己留一份,其余两份分别给乙与丙,多余的糖果自己吃掉,然后乙与丙也依次这样做。
问最后甲、乙、丙三人各有书多少粒糖果?分析:这个问题中我们关心的是在游戏过程中每个小朋友的糖果个数,且他们所拥有的的糖果数是在变化的。
因此可用a,b,c三个变量分别存放甲乙丙三个小朋友在某一时刻所拥有的糖果数。
对于每人,分糖后,他的糖果数一定为原来的糖果数div 3(因为分糖过程糖果的数目不一定都刚好分完,用整除恰恰可以表示多余的糖自己吃掉)。