当前位置:首页 > 01第一届绍兴市少儿信息学奥林匹克竞赛试题
第一届绍兴市少儿信息学奥林匹克竞赛试卷 (PASCAL版)
红 红 红 红 红 红 黄 黄 黄 红 红 黄 红 黄 红 红 黄 黄 黄 红 红 红 红 红 红 图 3
下列程序用来统计红花和黄花的数量,并输出红花和黄花的数量。请完善程序。
program test7; const n=29; var
red_s,yellow_s,i,j:integer; red:boolean; begin i:=n;
red_s:= ① ;yellow_s:=0; red:=true; repeat
if red=true then begin
red_s:=red_s+(i-1)*4; red:= ② ; end else begin
yellow_s:=yellow_s+(i-1)*4; red:=not(red); end; i:=i-2; until i=1;
if red=true then red_s:= ③ else yellow_s:=yellow_s+1 ; writeln('red flower=',red_s,' yellow flower=', ④ ); end.
主办:绍兴市科协、绍兴市教育局 承办:绍兴科技馆、绍兴市电教馆 - 5 -
第一届绍兴市少儿信息学奥林匹克竞赛试卷 (PASCAL版)
2.【一元一次方程求解】(3+3+3+4=13分)
数学中在求解形如ax+b=c的一元一次方程时,首先会移项(把b移到等号右边),然后利用算式x=(c-b)/a来计算出未知数x的值。
下列程序就是用来对形如ax+b=c的一元一次方程进行求解,其中,b、c可以是任意整数,而a则为不等于零的整数。而且规定,从键盘输入的一元一次方程的形式都为ax+b=c这样的格式(也可为ax-b=c的形式),方程输入时以字符形式保存到字符数组exp[ ]中(输入时,无论a,b为何值,它们的值都必须原样写在对应的位置上。如,a=1,b=0时,则方程应以“1x+0=c”的形式输入,而不能以“x=c”的形式输入),并且以“.”作为输入结束标志。请完善程序。
program test8; var
str_a,str_b,str_c:string; x,a,b,c,i,j,k,code:integer; op,ch:char;
exp:array[1..20] of char; begin
write('input expression:'); read(ch);i:=0; repeat
i:=i+1;exp[i]:=ch; read(ch);
until ① ; j:=1;
while exp[j]<>'x' do begin
str_a:= ② ;j:=j+1; end; j:=j+1; op:=exp[j]; j:=j+1;
while exp[j]<>'=' do begin
str_b:=str_b+exp[j];j:=j+1; end;
主办:绍兴市科协、绍兴市教育局 承办:绍兴科技馆、绍兴市电教馆 - 6 -
第一届绍兴市少儿信息学奥林匹克竞赛试卷 (PASCAL版)
j:=j+1;
for k:=j to ③ do str_c:=str_c+exp[k]; val(str_a,a,code);val(str_b,b,code);val(str_c,c,code); if op='-' then b:=-b; x:= ④ ; writeln('x=',x); end.
主办:绍兴市科协、绍兴市教育局承办:绍兴科技馆、绍兴市电教馆 - 7 -
共分享92篇相关文档