关于Free pascal的编程问题。

2025-02-26 13:59:47
推荐回答(3个)
回答1:

X,Y分别等于-1,-84或0,83(X,Y值可以互换)
用下面这个程序可以找出4种X,Y的值
var
x,y,z:longint;
begin
readln(z);
for x:=0 to 1000 do
begin
for y:=0 to 1000 do
begin
if 2*x*y+x+y=83
then
begin
writeln(x,' ',y);
end
else
begin
if 2*(-1)*x*y -x+y=83
then
begin
writeln('-',x,' ',y);
end
else
begin
if 2*(-1)*x*y+x-y=83
then
begin
writeln(x,' ','-',y);
end
else
begin
if 2*x*y-x-y=83
then
begin
writeln('-',x,' ','-',y);
end
else;
end;
end;
end;

end;
end;
end.

回答2:

告诉你吧 无解
var x,y:integer;
begin
for x:=1 to 83 do
for y:=1 to 83 do
if 2*x*y+x+y=83 then writeln(x+y);
end.

回答3:

定义函数:
program
max;
var
a,b,c,m:real;
function
max(a,b,c:real):real;

begin

max:=a;

if
b>a
then
max:=b;

if
c>b
then
max:=c;
将三个数用“打擂台”方法比较,选出最大数赋值;

end;
begin

readln(a);

readln(b);

readln(c);
读入数字;

m:=max(a,b,c)/(max(a+b,b,c)*max(a,b,b+c));
公式计算m值;

writeln(m);
输出m;

readln;
等待用户键入回车结束程序;
end.
定义过程:
program
max;
var
a,b,c,d,i,m:real;
e:array[1..3]
of
real;
procedure
max(a,b,c:real);

begin

e[i]:=a;
if
b>a
then
e[i]:=b;

if
c>b
then
e[i]:=c;
end;
begin

readln(a);

readln(b);

readln(c);

i:=1;
max(a,b,c);

i:=2;
max(a+b,b,c);

i:=3;
max(a,b,b+c);

m:=e[1]/(e[2]*e[3]);

writeln(m);

readln;
end.
用过程书写没有用函数简单。