几个关于PASCAL的简单问题(可以在线加分)
2题答案:9,分析过程:
全程序为:
var i,j:integer;
begin
j:=5;
for i:=10 to succ(10) do j:=j+1;
writeln(j);
首先,succ是后继值函数,如:succ(10)=11,succ(a)=b.
所以程序中:
succ(10=11),
“for i:=10 to succ(10) do j:=j+1;”一句可改写为:
for i:=10 to 11 do j:=j+1;那么这个循环语句就执行2次。
所以:
j:=5;==>j=5
for i:=10 to succ(10) do j:=j+1;==>j=5+1=6(第一次循环)==>j=6+1=7(第二次循环)
所以“writeln(j);”一句输出7。
问一问题,“A:=[1,3,5,7,9];B:=[2,4,6,8,10];”是什么意思?
我的理解:(最小公倍数)
var i,sA,sB,t,a,A1,A2,A3,A4,A5,B1,B2,B3,B4,B5,A,B:integer;
begin
A1:=1;A2:=3;A3:=5;A4:=7;A5:=9;
B1:=2;B2:=4;B3:=6;B4:=8;B5:=10;
sA:=A1*A2*A3*A4*A5;sB:=B1*B2*B3*B4*B5;
for i:=2 to 10 do begin
t:=0;
for a:=2 to i do begin
if i mod a=0 then t:=t+1;
if t=1 then begin
if A1 mod a=0 then sA:=sA/a;
if A2 mod a=0 then sA:=sA/a;
if A3 mod a=0 then sA:=sA/a;
if A4 mod a=0 then sA:=sA/a;
if A5 mod a=0 then sA:=sA/a;
if B1 mod a=0 then sA:=sA/a;
if B2 mod a=0 then sA:=sA/a;
if B3 mod a=0 then sA:=sA/a;
if B4 mod a=0 then sA:=sA/a;
if B5 mod a=0 then sA:=sA/a;
end;
end;
write(“A+B=”,sA+sB,“A*B=”,sA*sB);
end.
public abstract String GetCampus{get; set;}
public abstract string CampusName { get; set; }
public abstract string City { get; } //这里至少得有get
public override void CampusName
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
public override void City
{
get
{
throw new NotImplementedException();
}
}
program work1;
var
s:string;
c:char;
b:boolean;
l,i:integer;
begin
s:='';
read(c);
while c<>'.' do
begin
s:=s+c;
l:=l+1;
read(c);
end;
b:=true;
for i:=1 to l div 2 do
begin
if s[i]<>s[l-i+1] then b:=false;
break;
end;
if b then write('Yes') else write('No');
end.
第二题
program work2;
var
a:array [1..3]of char;
procedure init;
begin
read(a[1],a[2],a[3]);
end;
procedure chck;
var
i:array[1..3]of byte;
x,y:integer;
begin
i[1]:=ord(a[1]);
i[2]:=ord(a[2]);
i[3]:=ord(a[3]);
for x:=1 to 3 do
for y:=1 to 3 do
if abs(i[x]-i[y])=1 then
begin
writeln('Yes');
halt;
end;
writeln('No');
end;
begin
init;
chck;
end.
第三题
program work3;
var a,b,c,t:real;
begin
readln(a,b,c);
if a>b then
begin
t:=a;
a:=b;
b:=t;
end;
if a>c then
begin
t:=a;
a:=c;
c:=t;
end;
if b>c then
begin
t:=b;
b:=c;
c:=t;
end;
writeln(a,b,c);
end.
第五题
program work5;
var
x,i: integer;
begin
x:=1;
for i:=4 downto 1 do x:=(x+1)*2;
writeln(x);
end;
关于pascal语言
Pascal是一种计算机通用的高级程序设计语言。它由瑞士Niklaus Wirth教授于六十年代末设计并创立。以法国数学家命名的Pascal语言现已成为使用最广泛的基于DOS的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。正因为上述特点,Pascal语言可以被方便地用于描述各种算法与...
pascal是什么?
IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一, NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。在Pascal问世以来的三十余年间,先后产生了适合于不同机型的各种各样版本。其中影响最大的莫过于Turbo...
一些关于pascal的循环结构的小题
1.var i,j:longint;begin for i:=1 to 10 do begin for j:=0 to 9 do write((i shl 3)+(i shl 1)+j,' ');writeln;end;end.3.var i,sum:longint;begin for i:=3 to 99 do inc(sum,i);writeln(sum);end.6.var ch:char;begin for ch:='A'to'Z'do write(ch);writ...
关于PASCAL的经典题目
正向过程共享一个for循环。 3。在正向扩展出一个节点后,需在反向表中查找是否有重合节点。反向扩展时 与之相同。对双向广度搜索算法的改进: 略微修改一下控制结构,每次while循环时只扩展正反两个方向中节点数目较少的一个,可以使两边的发 展速度保持一定的平衡,从而减少总扩展节点的个数,加快搜索速度。二、分支定...
free pascal题目
9、 从键盘上读入小写的"pascal",利用CHR()和ORD()函数,输出大写的"PASCAL"。10、 从键盘上读入一个实数,利用ROUND()和TRUNC()函数,输出该实数本身、整数部分、小数部分、四舍五入后的值。要求:分三行输出 ;输出实数本身时,格式与读入时相同;整数部分、小数部分在同一行输出;其它各占一行。11、 输入一个时...
关于PASCAL程序设计的10几题的答案
第一题:var i,j,k,n:integer;begin for i:=1 to 100 do begin for j:=1 to 50 do begin for k:=1 to 20 do begin if (100 mod i=0)and(100 mod j=0)and(100 mod k=0) then begin writeln(i,j,k);n:=n+1;end end end end writeln(n);end.第二题 var i,j,k,n...
关于PASCAL语言的问题
第一题 {R-} var s,n,m,now,i,j:longint;a:array[0..100,0..100]of integer;begin readln(n,m);for i:=1 to n do begin for j:=1 to m do read(a[n,m]);readln;now:=maxlongint;for j:=1 to m do if a[n,m]>now then now:=a[n,m];s:=s+now;end;writeln(...
关于Pascal语言 的问题
a : array[1..3] of integer;begin readln(a[1], a[2], a[3]);for i := 1 to 3 - 1 do for j := i+1 to 3 do if a[i] > a[j] then begin t := a[i]; a[i] := a[j]; a[j] :=t;end;writeln(a[1], ' ', a[2], ' ', a[3]);end.2、const a...
我有个PASCAL语言编程问题!!急
在PASCAL语言中,一些事先定义好的由字母开头,后跟数字和字母组成的字符串,它们代表了一定的意义,我们把它们称为标识符。例如:PROGRAM就表明一个程序的开始,VAR则表明后面将要进行变量说明。系统事先定义了不少的标识符,我们把它们叫做保留字;另外,我们也可以自己定义标识符,自定义标识符要注意以下几点: 1 自定义的...
关于PASCAL的文件类型
1..bak文件是PASCAL的程序备份文件 .exe是PASCAL编译器(FPC)编译以后的可执行文件。.pas是PASCAL的程序文件 .o是FPC的编译信息 .pas一般是PASCAL程序的保存文件的后缀名,程序会被PASCAL默认保存在这里, 但是也有.pp这样的文件后缀名,一般LAZARUS使用.pp 2."LARZA……什么的"应该是LAZARUS,是NOIP...
贺勤丽智: 1.var a,b:integer; begin readln(a,b); writeln(a+b); end;2.var s:real; begins:=(8+12)*9/2; writeln(s:2:2) end.3.var a:integer; ge,bai,shi:integer; beginreadln(a); ge:=a mod 100; bai:=a div 100; shi:=a-ge-bai*100; weiteln(ge,bai,shi); end.4.var a:array[1.....
盘龙区13822785592: 有关几个关于PASCAL的几个简单的问题??
贺勤丽智: 常量、变量与算术表达式 (一)常量 在程序运行过程中,其值不能被改变的量称为常量.如123,145.88,'abc',true等. ⒈整型常量 整型常量采用我们平常使用的十进制整数表示.如138,0,-512等都是整型常量,而18.或18.0都不是整型常量. ...
盘龙区13822785592: 一道非常简单的pascal问题,求用函数和过程一起来做.自然数a的因子指的是能整除a的所有数,但不含a本身.例如12的因子为1,2,3,4,6.若自然数a的因... - ?
贺勤丽智:[答案] 用function做的求30000以内的所有"亲和数": var n,i,j,k:longint; function yinzihe(n:longint):longint; var s,i,j:longint; begin s:=1; j:=trunc(sqrt(n)); for i:=2 to j-1 do if n mod i=0 then inc(s,i+n div i); if j*j=n then inc(s,j); yinzihe:=s end; begin for i:=2 to 30000 ...
盘龙区13822785592: Pascal 的几条简单问题?
贺勤丽智: 嗯、第一题要是等于2.5怎么办、 我来回答吧: 第一题: PROGEAM x1; var x:real; begin read(x); write('y='); if x<=2.5 then writeln(x*x+1:0:2) else writeln(x*x-1:0:2); write('z='); if x<0 then writeln(-pi/2*x+3:0:2) else if x=0 then writeln(0) else writeln(-pi/...
盘龙区13822785592: 关于pascal的一些问题?
贺勤丽智: var s:string; i,j:integer; t:char; begin readln(s); for i:=1 to 3 do for j:=3 downto i+1 do if s[j] > s[j-1] then begin t:=s[j-1];s[j-1]:=s[j];s[j]:=t end; writeln(s); readln; end.
盘龙区13822785592: PASCAL几道简单题目 - ?
贺勤丽智: 呐,我只有第二道题的哦 从键盘读入一个数,判断它的正负.是正数,则输出“+”,是负数,则输出“-”program isprime; var n,x,y,z:integer; begin read(n); z:=0; if n else begin for x:=2 to n-1 do begin y:=n mod x; if y=0 then z:=z+1; end; if z=0 then writeln('+') else writeln('-'); end; end.直接可以用呐
盘龙区13822785592: Pascal 循环问题 - ?
贺勤丽智: 循环做法:枚举女生人数x,则男生人数为50-x 然后模拟女生进来,如果最后一个女生给9个男生礼物,则x是对的.数学做法:设女生人数为x,则男生人数为50-x 据题意,(50-x)-x=(9-1),所以x=21.所以女生有21个,男生有29个.
盘龙区13822785592: 有关PASCAL的问题?
贺勤丽智: inc(i)等于i:=i+1; dec(i)等于i:=i-1;inc(i)跟C语言中的i++同意. dec(i)跟C语言中的i--同意.
盘龙区13822785592: 问个关于Pascal的问题?
贺勤丽智: 如果按照NOIP的Pascal标准的话, 可以用SetLength函数来重新设定数组维度 比如你定义一个维度为10的数组 var i: array[0..9] of Integer; 然后你发现维度10貌似不够用, 想要扩大, 可以用SetLength函数 比如要扩大到20 SetLength(i, 20); 如果不允许的话, 可以使用楼上的第一种办法, 就是用最大维度的数组 Pascal里面用指针来动态声明数组并不是好办法 我主要就提供这两种办法 SetLength和最大维度
盘龙区13822785592: 关于pascal初级问题 - ?
贺勤丽智: for循环的格式是: for 变量:=初始值 to{或downto} 终止值 do begin <循环体> end; 在pascal中for循环在不加begin--end的情况下,默认将 do 后面的第一行代码作为循环体.