情報処理試験問題

平成 9 年度 II 学期(文 I・II 17, 24 組、文 III 6, 9, 15 組
1998 年 2 月 18 日(15:00〜16:30) 担当: 永野
教科書・参考書・プリント・ノート等の参照不可
解答はすべて解答用紙(両面 1 枚)に問題番号を明記して行うこと

問 1

次の下線部を埋めよ。

問 2

次の下線部を埋めよ。 ただし、___(8)___〜___(10)___ は文章(複数可)で埋めるのが望ましい。

問 3

右のプログラムI(編注: ここでは下のプログラム)は、 薔薇状図形を描くためのものである。 下線部を埋めてプログラムを完成させよ。
(参考)円を描くときは、半径 r を一定に保ち、 角度 θ を 0 から 2π ラジアンまで変えて x = x0+r cosθy = y0+r sinθ なる点 (x, y) の軌跡を描くのに対し、 薔薇状図形では半径も角度もともに変化させて r = rm sin(/q) とし (ここに rm は最大半径、p, q は任意の正整数パラメータ)、 x = x0+r cosθy = y0+r sinθ なる点 (x, y) の軌跡を描くものである。
	program rosycurve(input,output);
	___(1)___ <xgraph.h>
	const ndiv = 200;

	var n,j,p,q,xo,yo,gd,gm : integer;
	    a,r,rm : ___(2)___;

	begin
		gd := detect; initgraph(gd,gm,'');
		write('Center(xo,yo)? '); readln(xo,yo);
		write('Max Radius(rm)? '); readln(rm);
		write('Parameters(p,q)? '); readln(p,q);
		n := ndiv*q;
		a := 2*pi / ndiv;
		moveto(xo,yo);
		for j:=1 to n do
		begin
			r := rm * sin( ___(3)___ );
			lineto( ___(4)___ (xo + r*cos( ___(5)___ )),
			        ___(4)___ (yo + r*sin( ___(5)___ )))
		end;
		outtextxy(0,0,'770001 Nanno Tarebei');
		readln;
		closegraph
	end.
	

問 4

下のプログラム II (編注: ここでは下のプログラム)は、 入力した正の整数値データを小さいものから大きいものへの順に整列する。 下線部を埋めてプログラムを完成させ、さらに以下の関連設問に答えよ。
(設問)このプログラムを、数値ではなく、半角ローマ字の名簿 (最大長 20 文字までの文字列データとする) をアルファベット順に整列するプログラムに作り変えたい。 施すべき最小限の変更点を変更内容をも含めてすべて列挙せよ。
	program sorting(input,output);
	var i,j,n,min,temp : integer;
	    a: array[1..100] of integer;

	begin
		n := 0;
		repeat
			n := n+1;
			write('Data No.',n:3,' ? ');
			readln(a[n])
		until a[n] < 0;

		n := n-1;

		for i:=1 to n-1 do
		begin
			min := i;
			for ___(2)___
				if a[j] < a[min] then min:=j;
			temp   := ___(3)___;
			a[i]   := ___(4)___;
			a[min] := ___(5)___
		end;

		for i:=1 to n do writeln(a[i])
	end.
	

問 5

コンピュータのネットワークは今後ますます普及するものと思われるが、 その社会的影響をどのように予想するか、 メリット、デメリットを含めて考えるところを 20 行以内で述べよ。
Presented by KHK.