pascal编程,看看哪里错了
pascal吧
全部回复
仅看楼主
level 3
n超人123 楼主
编程计算半径为R的圆的面积和周长
2015年07月29日 08点07分 1
level 3
n超人123 楼主
没人帮我吗……
好桑心……
2015年07月29日 08点07分 2
level 9
var之前加上const pi=3.1415926;
最后的readln;可以不用括号的
不要问我是谁,我是雷锋
2015年07月29日 11点07分 3
pi是默认的谢谢
2015年08月12日 01点08分
见13楼
2015年08月12日 01点08分
level 3
n超人123 楼主
pi不是Pascal默认的圆周率吗?
而且你人工定义圆周率不全啊……
只有那么几位,不可能把它算全的。
2015年07月29日 13点07分 4
谁告诉你默认的。。还有,浮点数本来就有精度,写个7位差不多了,你再多打运算的也就前7位,7位后面都是无效的随机数。
2015年07月29日 13点07分
如果你真不放心一定要π。那也可以啊,∵sin(π/2)=1,∴2arcsin(1)=π
2015年07月29日 14点07分
是pi,没有大写
2015年08月07日 03点08分
怎么可能。
2015年08月10日 15点08分
level 12
Const pi=3.14;
2015年07月29日 17点07分 5
太年轻,见13楼。 我仔细数一数怎么还没有十五个字?
2015年08月12日 01点08分
level 9
pi 出问题了吧
2015年08月01日 14点08分 6
太年轻,见13楼。 我仔细数一数怎么还没有十五个字?
2015年08月12日 01点08分
level 9
Pi是什么?定义了吗?
           ——Aiden Pierce
2015年08月01日 15点08分 7
你可以先编个程序算Pi再全接下来的[滑稽][滑稽]            ——Warning!
2015年08月01日 15点08分
太年轻,见13楼。 我仔细数一数怎么还没有十五个字?
2015年08月12日 01点08分
pi是Pascal默认的
2015年08月12日 01点08分
回复 紫夜灬轩 :我用Lazarus时,pi可不是默认的           ——Aiden Pierce
2015年08月12日 01点08分
level 1
有readln()这个方法吗?我今天才刚刚看pascal语言,只有read(参数,参数,参数````),
readln(参数,参数,参数````),还有一个是readln.只有这三种吧。还有我今天刚刚学PASCAL然而下载要积分,你可以给我编译器的安装包么?
2015年08月02日 02点08分 8
有的[阴险]
2015年08月06日 13点08分
level 5
你的程序pi没赋值,初值是0,你的结果肯定也是0啦
2015年08月05日 12点08分 10
回复
�Qfree
: 当然不是默认的了
2015年08月07日 01点08分
你必须人工定义
2015年08月07日 01点08分
回复
�Qfree
:我就是直接用的,其实是对的[哈哈]
2015年08月09日 11点08分
太年轻,见13楼。 我仔细数一数怎么还没有十五个字?
2015年08月12日 01点08分
level 7
pi是自定义标示符,pascal标准标示符里没有,需要在前面赋值const pi=3.14;
2015年08月07日 09点08分 12
太年轻,见13楼。 我仔细数一数怎么还没有十五个字?
2015年08月12日 01点08分
level 12
楼上那几位,谁说pi要自定义的?!你当FP是VB呀
2015年08月09日 12点08分 13
没错,是这样,我测试的结果也是。pi是自带常数,像maxlongint一样的
2015年08月10日 04点08分
level 12
extended是拓展实型,和real、double、single之类的相比有区别
实验证明:
1、extended范围很大,用科学记数法表示,指数高达4位数,其他的都是3位
2.extended精度很高,多少位自己看,上图也有。
3.证明0和0.00000000……000001的区别:在几千位小数点以内,0和0.0000000……000001有区别,在几千位以外我不知道有什么意义。用上图中的a或者c除以实型的0,还是不可避免的divide by zero(错误200),这点请注意。所以说“0用实型存不是0,主要是防止除以0”不怎么可靠。
4.在最后一位有误差是对的,应为实型的精度有限,所以存在不相等的两个实数判定大小时相等的情况。如果有强迫症非得比较0和0.000000000000000000000000001的大小请自编高精度,在非比较大小时(例如只是writeln而已),可以忽略这个。
误差是肯定有的,但是有大小之分,很小的误差不纠结。
修正:extended是17-18位,因此实在不想看到误差writeln输出16位比较合适,整数部分很大的话继续减,随便。
2015年08月10日 04点08分 14
高调表示看不懂 [泪]
2015年08月10日 06点08分
。。这个。。打这么多0干什么不嫌累么。。
2015年08月11日 11点08分
程序判断是不是除以0就看你做除法的时候有没有超过范围。如果除以1个极小的数就被判作除以0。不信你试试这段程序:var x:extended; begin x:=1e-5000; write(1/x) end.结果就是报200。
2015年08月11日 11点08分
@139457820 所以你由此可以推断0的存储方式,即无穷小。在高等数学中无穷小是有正负的,这就是为什么有的程序算着算着就输出了-0的原因。。不信你试试这个程序:var x:extended; begin x:=0; writeln(x:0:2); x:=-x; writeln(x:0:2) end.结果就是0.00和-0.00。
2015年08月11日 11点08分
level 10
说不是默认的,太年轻,见13楼。 我仔细数一数怎么还没有十五个字?
2015年08月12日 01点08分 15
level 10
用p1的话要用tp编译器,fp这个版本没有的(只有两个版本有好像)。。
还有事实上可以不加readln;
2015年08月12日 01点08分 16
level 10
计算要用p1那个乘2改成
shr 1
2015年08月12日 02点08分 17
level 10
c:=R*P1 shr 1;(我忘了是shl还是shr了。。
2015年08月12日 02点08分 18
level 9
哥,你那个pi……………………我无语了
2015年08月12日 04点08分 19
level 12
有人说,abs(a-b)<1e-6 (1e-7也行),则a=b,今通过实验完成证明。
这两个数据满足abs(a-b)<1e-7,按照你所说的应该是a=b,但是:
甭说1e-7了,我再加几位:
2015年08月28日 11点08分 20
1