教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 初中教育 >

Pascal语言程序设计例题

来源:网络收集 时间:2026-09-03
导读: Pascal语言程序设计例题 1、将输入的三个整数按从大到小的顺序输出。 program exam(input,output); var a,b,c:integer; procedure exchange(var x,y:integer); var t:integer; begin t:=x; x:=y; y:=t end; begin write('请输入三个整数:'); readln(a,b,c);

Pascal语言程序设计例题

1、将输入的三个整数按从大到小的顺序输出。

program exam(input,output);

var

a,b,c:integer;

procedure exchange(var x,y:integer);

var

t:integer;

begin

t:=x;

x:=y;

y:=t

end;

begin

write('请输入三个整数:');

readln(a,b,c);

if a<b then exchange(a,b);

if a<c then exchange(a,c);

if b<c then exchange(b,c);

writeln('从大到小排列为:',a:6,b:6,c:6)

end.

2、求出1000以内的所有质数并输出。

program exam(input,putput);

var

flag:boolean;

i,j:integer;

begin

writeln('1000以内的所有质数如下:');

i:=2;

write(i:4);

for i:=3 to 1000 do

begin

flag:=true;

j:=2;

repeat

if i mod j=0 then flag:=false;

j:=j+1

until (i=j) or not flag;

if flag then write(i:4)

end;

writeln

end.

3、已知某月一号为星期三,试根据输入的该月某日期判断当天为星期几。

program exam(input,output);

var

week:(Sun,Mon,Tues,Wed,Thur,Fri,Sat);

day:1..31;

i:integer;

begin

write('已知某月一号为星期三,请输入该月某日期:'); readln(day);

week:=Sun;

for i:=0 to (day+1) mod 7 do week:=succ(week);

write('该日期为星期');

case week of

Sun: writeln('日');

Mon: writeln('一');

Tues:writeln('二');

Wed: writeln('三');

Thur:writeln('四');

Fri: writeln('五');

Sat: writeln('六')

end

end.

4、输入一个0~30之间的整数,用递归法求其阶层并输出。 program exam(input,output);

var

num:0..30;

function fact(n:integer):real;

begin

if n=0 then fact:=1

else fact:=n*fact(n-1)

end;

begin

write('请输入一个0~30的整数以便计算其阶层:'); readln(num);

writeln(num,'!=',fact(num))

end.

5、把一张一百元钞票换成一元、二元和五元的钞票(每种至少一张), 列出各种换法,并统计换法总数

program exam(input,output);

const

num=100;

var

n5,n2,n1,total:integer;

begin

write('把一张一百元钞票换成一元、二元和五元的钞票'); writeln('(每种至少一张),各种换法如下:');

total:=0;

for n5:=(num-2-1) p 5 downto 1 do

for n2:=(num-5*n5-1) p 2 downto 1 do

begin

n1:=num-2*n2-5*n5;

write('一元张数为',n1:2);

write(',二元张为',n2:2);

writeln(',五元张数为。',n5:2);

total:=total+1

end;

writeln('换法总数为',total)

end.

6、输入实数a、b、c(a≠0),求一元二次方程a*x*x+b*x+c=0的实数根。 program exam(input,output);

var

a,b,c,d,e,f:real;

begin

write('请输入方程a*x*x+b*x+c=0的系数a、b、c:'); readln(a,b,c);

d:=b*b-4*a*c;

e:=-b/(2*a);

f:=sqrt(abs(d))/(2*a);

if d>0 then writeln('x1=',e+f,' x2=',e-f)

else if d=0 then writeln('x1,x2=',e)

else writeln('该方程无实数根') end.

7、读入一串字符(以“#”作结束标志),统计其中包含各个大写英文 字母的个数并输出。

program exam(input,output);

var

num:array['A'..'Z'] of integer;

ch:char;

flag:boolean;

begin

write('请输入一串字符(以“#”作结束标志):');

for ch:='A' to 'Z' do num[ch]:=0;

while ch<>'#' do

begin

if (ch>='A') and (ch<='Z') then num[ch]:=num[ch]+1; read(ch)

end;

writeln('统计结果如下:');

flag:=false;

for ch:='A' to 'Z' do

if num[ch]<>0 then writeln(ch,'出现次数为',num[ch]) else flag:=true;

if flag then writeln('其它大写英文字母未出现')

end.

8、某班有40名学生,按学号从1到40顺序输入各个学生的分数, 输出所有分数为最高分的学生的学号。

program exam(input,output);

const

m=40;

var

mark:array[1..m] of 0..100;

maxmark:0..100;

i:integer;

begin

maxmark:=0;

writeln('请按学号从1到40顺序输入各个学生的分数:'); for i:=1 to m do

begin

read(mark[i]);

if mark[i]>maxmark then maxmark:=mark[i] end;

writeln('所有分数为最高分的学生的学号如下');

for i:=1 to m do if mark[i]=maxmark then write(i:4); writeln

end.

9、计算圆周率,使用公式4*(1-1/3+1/5-1/7+1/9-1/11+...),直到 最后一个分式的绝对值小于0.0001为止。

program exam(input,output);

var

n,s:integer;

t,pi:real;

begin

t:=1;

n:=1;

s:=1;

while abs(t)>=0.0001 do

begin

pi:=pi+t;

n:=n+2;

s:=-s;

t:=s/n

end;

pi:=pi*4;

writeln('圆周率的值计算为',pi);

end.

10、计算并输出2的24次方的结果(8位数)。

program exam(input,output);

const

base=2;

var

a:array[0..8] of integer;

i,j,k,t:integer;

begin

for i:=1 to 7 do a[i]:=0;

a[0]:=1;

for i:=1 to 24 do

for j:=7 downto 0 do

begin

a[j]:=a[j]*base;

for k:=j to 6 do

begin

a[j+1]:=a[j+1]+a[j] p 10; a[j]:=a[j] mod 10 end

end;

write('2的24次方的结果为');

for i:=7 downto 0 do write(a[i]);

writeln

end.

…… 此处隐藏:1551字,全部文档内容请下载后查看。喜欢就下载吧 ……
Pascal语言程序设计例题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1564810.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)