(pascal高手进)在pascal语言中 a:=b or c 是什么意思

作者&投稿:庾郑 (若有异议请与网页底部的电邮联系)
计算(a+b)*c用pascal语言怎么写~

var a,b,c,x:longint;
begin
readln(a,b,c);
x:=(a+b)*c;
writeln(x);
end.

∧相当于 and
∨相当于 or

参考资料:
在现实生活中,我们每天都要进行根据实际情况进行选择。例如,原打算明天去公园,但如果明天天气不好,将留在家里看电视。所以人也会根据条件进行行为的选择。计算机也会根据不同情况作出各种逻辑判断,进行一定的选择。在这课与下一课中,我们将会发现,我们是通过选择结构语句来实现程序的逻辑判断功能。

一、PASCAL中的布尔(逻辑)类型

在前面,我们学习了整型(integer)与实型(real)。其中integer型数据取值范围为-32768到32767之间所有整数。而real型数据取值范围为其绝对值在10-38到1038之间的所有实数。它们都是数值型的(即值都为数)。布尔型(Boolean)是一种数据的类型,这种类型只有两种值,即"真"与"假"。

1、 布尔常量

在Pascal语言中"真"用ture表示,"假"用False表示。所以布尔类型只有TRUE与FALSE两个常量。

2、 布尔变量(BOOLEAN)

如果我们将某些变量说明成布尔型,那么这些变量就是布尔变量,它们只能用于存放布尔值(ture或false)。
例如,VAR A,B:BOOLEAN;

3、 布尔类型是顺序类型

由于这种类型只有两个常量,Pascal语言中规定ture的序号为1,false的序号为0。若某种类型的常量是有限的,那么这种类型的常量通常都有一个序号,我们称这种类型为顺序类型。如前面我们学过的整型(integer),以及后面要学到的字符型(char)都是顺序类型。

4、 布尔类型的输入与输出

a)输出
VAR A,B:BOOLEAN;
BEGIN
A:=TRUE;B:=FALSE;
WRITELN(A,B);
END.
TRUEFALSE

b)布尔类型变量不能直接用读语句输入
布尔类型变量不能通过读语句给它们提供值。事实上,我们可以通过间接方式对布尔变量进行值的输入。

例如,以下程序是错误的:
var a,b,c:Boolean;
begin
readln(a,b,c); {错误语句}
writeln(a,b,c);
end.

二、关系表达式与布尔表达式

1、什么是关系表达式
用小括号、>、=、将两个算术表达式连接起来的式子就称为关系表达式(比较式)。
如:3+7>8,x+y<10,2*7<=13等都是关系表达式。

2、关系表达式的值

很显然,这几个关系表达式中第一个是正确的,第三个是错误的,而第二个表达式可能是对的,也可能是错的。所以我们很容易发现,这些表达式的值是"对"的或"不对"的(或者说,是"真"的或"假"的),即关系表达式的值为布尔值。表示该比较式两端式子的大小关系是否成立。如3+2>6是错的,故它的值为FALSE。同样,45>=32是对的,故该表达式的值为true。

关系表达式用于表示一个命题。如:"m为偶数"可表示为:m mod 2=0。"n为正数"可表示为:n>0。

3.布尔运算及布尔表达式

为了表示更复杂的命题,Pascal还引入三种逻辑运算符:not、and、or。它们分别相当于数学上的"非"、"且"和"或"的意义。

这三个运算符的运算对象为布尔量,其中not为单目运算,只有一个运算对象,and与or为双目运算,有两个运算对象。它们的运算真值表如下:


a b Not a a and b a or b a xor b
false false true false false false
false true true false ture true
true false false false true true
true true false true true false

于是,对于一个关系表达式,或多个关系表达式用布尔运算符连接起来的式子就称为布尔表达式。布尔表达式的值也为布尔值。

如果一个表达式里出现两个或两个以上的运算符, 则必须规定它们的运算次序。pascal规定:
①表达式中相同优先级的运算符,按从左到右顺序计算;
②表达式中不同优先级的运算符,按从高到低顺序计算;
③括号优先级最高,从内到外逐层降低;

对于一个复杂的表达式可能同时包含算术运算、关系运算和逻辑运算以及函数运算。运算的优先顺序为:括号à函数ànotà*、/、div、mod、andà+、-、or、xorà关系运算。
对于复杂的命题,我们可以用布尔表达式来表示。例如,命题:"m,n都是偶数或都是奇数"可表示为"(m mod 2=0)and(n mod 2=0) or (m mod 2=1)and(n mod 2=1)"。

三、简单的IF语句

1、格式

Ⅰ、IF <布尔表达式>THEN 语句;
Ⅱ、IF <布尔表达式>THEN 语句1 ELSE 语句2;
(注意Ⅱ型IF语句中语句1后无";"号)

2、功能

Ⅰ、执行IF语句时,先计算<布尔表达式>的值,若为TRUE则执行语句,否则不执行任何操作。
Ⅱ、执行IF语句时,先计算<布尔表达式>的值,若为TRUE则执行语句1,否则执行语句2;

3、示例

1)例4.2输入一个整数a,判断是否为偶数。(是输出"yes"否则输出"no")。

Program ex4_2;
Var a:integer;
Begin
Write('a=');readln(a);
If (a mod 2 =0)then writeln('yes')
Else writeln('no');
Readln;
End.

2)华榕超市里卖电池,每个电池8角钱,若数量超过10个,则可打75折。

Program ex4_3;
Var Num:integer;Price,Total:real;
Begin
Write('Num=');readln(Num);
Price=0.8;
If Num>10 then Price:=Price*0.75;
Total:=Num*Price;
Writeln('Total=',Total:0:2);
Readln;
End.

3)编写一与电脑猜"红"或"黑"的游戏。

分析:用1代表红,0代表黑。先由计算机先出答案,然后再由人猜,猜对输出"YOU WIN"否则输出"YOU LOST"。为了模拟猜"红"或"黑"的随意性,程序中需要用到随机函数random(n)。

函数是什么呢,例如大家都知道|-2|=2,|58|=58,那么|x|=?。

如果我们用y表示|x|,那么 .这里y=|x|就是一个函数,也就是说函数是一个关于一个或多个自变量(未知量,如上例中的x)的运算结果。

在pascal语言中,系统提供了许多内部函数,其中包括|x|函数,当然它用abs(x)表示。我们如果要求x2-y的绝对值,可以调用内部函数abs(x*x-y)即可求得。Random(n)也是一个内部函数,调用它能得到0~n-1之间的整数(但它不确定的,或说是随机的)。同时由于函数是一个运算结果,所以函数的调用只能出现在表达式中。

Program ex4_3;
Uses crt;
Var Computer,People:integer;
Begin
Randomize;
Computer:=random(2);
Write('You guess(0-Red 1-Black):');readln(People);
If People=Computer then writeln('YOU WIN')
Else writeln('YOU LOST');
Readln;
End.

作业:.某车站行李托运收费标准是:10公斤或10公斤以下,收费2.5元,超过10公斤的行李,按每超过1公斤增加1.5元进行收费。 试编一程序,输入行李的重量,算出托运费。

a,b,c 不可能是数值型变量 ;a不能既表示b又表示c这是错误的,不能这样赋值。
a,b,c只能是布尔类型,
例:
var
i:integer;
a,b,c:boolean;
begin
b:=true;c:=false;
a:=b or c;
if a then i:=10
else i:=50 ;
writeln(i);
end.
输出:10
也就是说a 为真,
我们有下面这几种情况:
b真 c真 则a真
b真 c假 则a真
b假 c真 则a真
b假 c假 则a假
(有真则真,全假为假)

应该是转化为2进制码,后在or一下然后存在a吧

a:=b or c;
相当于
a:=b+c;
是加法运算。
不信,用pascal去打以下程序:
var
a,b,c:longint;
begin
b:=1;
c:=2;
a:=b or c;
writeln(a);
end.
打出来的是3。

数值型变量?这还真没有听过呢,a b应该是boolean啊!
在C语言里数值变量布尔或还是没有问题的,难道这里也是看看a b是不是0?

能不能把整个程序都写出来?

(pascal高手进)在pascal语言中 a:=b or c 是什么意思
答:a,b,c 不可能是数值型变量 ;a不能既表示b又表示c这是错误的,不能这样赋值。a,b,c只能是布尔类型,例:var i:integer;a,b,c:boolean;begin b:=true;c:=false;a:=b or c;if a then i:=10 else i:=50 ;writeln(i);end.输出:10 也就是说a 为真,我们有下面这几种情况:b真...

pascal中p是什么单位
答:Pa是压强单位,1Pa就是1N/㎡,1Pa=1N/m²。1Pa是一个很小的压强,直接用帕做压强的计量单位也会给实际的计算造成很多不便,所以经常会使用一些较大的计量单位。就比如1MPa,1atm,1mmHg。1MPa是1Pa的100万倍,即1MPa=10^6Pa。1MPa(1兆帕)=1百万帕。帕斯卡(Pascal,简称Pa)是压强的...

pascal高手进
答:Function Replace(str1,str2,str3:string):string;var pos1:integer;begin repeat pos1:=pos(str2,str1);if pos1=0 then break;delete(str1,pos1,length(str2));insert(str3,str1,pos1);until false;Replace:=str1;end;//直接调用replace(字符串1,字符串2,字符串3)就行了 ...

PASCAL 高手进!!
答:一、使用Pascal进行声音操作前的准备 首先需要说明的是我们所说的Pascal声音操作,并不是指实现Pascal对于声卡进行操作,而是利用Pascal对计算机的PC喇叭操作,使它发出声音。在Turbo Pascal中有一个叫做CRT单元的东西,CRT单元实现了一系列强大的可以充分地控制你计算机的功能CRT单元提供了控制显示模式、扩展键...

pa是什么单位?计算压力需要注意什么?
答:pa是压力单位。Pa是帕斯卡(Pascal)的缩写,是国际单位制(SI)中的压力单位,表示每平方米的压力。在国际单位制中,1帕斯卡等于1牛(N)每平方米,即1Pa=1N/m²。1帕斯卡=1牛顿/平方米(1N/㎡),P=F/S(F为压力,S为受力面积)P=ρgh(ρ为液体或气体密度或固体柱体密度,g为...

Pa是什么单位?
答:帕斯卡(符号Pa或Pascal)是国际单位制(SI)的压强单位。在不致混淆的情况下也可简称为“帕”。它等于每平方米一牛顿。以法国学者(数学家、物理学家、化学家、音乐家、宗教家、教育家、气象学家、哲学家)布莱兹·帕斯卡之名而命名。气象上常用的“百帕”(hPa)、“千帕”(kPa)和工程上常用的“...

pascal高手进
答:procedure window(x1,y1,x2,y2:byte); 定义字符窗口:(x1,y1)为左上角坐标,(x2,y2)为右下角坐标;必须在设置模式允许范围内.窗口定义后,所有显示均在窗口进行 procedure gotoxy(x,y:byte); 将光标移至(x,y)处 function wherex:byte; 返回当前窗口中光标所在的列数(相对当前窗口)function ...

1pa是多大压力
答:1Pa是一种非常小的压力单位,它的全称为帕斯卡(Pascal)。帕斯卡是国际单位制中的压力单位,它的定义为单位面积上的力。也就是说,如果一个力作用于一个面积为1平方米的物体上,那么这个物体所受到的压力就是1帕斯卡。通常来说,1Pa的压力对我们日常生活几乎没有影响。例如,大气压力一般在101325 Pa...

pa的单位换算
答:1MPa(兆帕)=1000kPa(千帕)=1000000Pa(帕)。帕斯卡(Pascal)简称:Pa是压强的单位物体所受压力与受力面积之比,其换算公式为:1Pa=1N/m2=1(kgm/s2)/m2=1kg/(ms2)=0.01毫巴(mbar)=0.00001巴(bar)=十万分之一(公斤力/平方厘米),1MPa(兆帕)=1000kPa(千帕)=1000000Pa(帕)。

pascal 一笔画 高手进!
答:共有8个解,答案:1 2 3 4 5 7 8 6 1 2 1 6 8 4 3 5 7 2 3 2 1 6 8 4 5 7 3 4 3 2 1 6 8 5 7 4 5 3 2 1 6 8 4 7 5 6 1 2 3 4 5 7 8 6 7 2 1 6 8 4 3 5 7 8 4 3 2 1 6 3 5 8 下面是代码:program yibihua;const g:array[1..8,...