平成 9 年度 II 学期(文 I・II 17, 24 組、文 III 6, 9, 15 組 
	1998 年 2 月 18 日(15:00〜16:30) 担当: 永野 
	教科書・参考書・プリント・ノート等の参照不可 
	解答はすべて解答用紙(両面 1 枚)に問題番号を明記して行うこと
myfile.txt
		の内容をディスプレイ画面に表示するために、
		___(1)___ ウィンドーで >___(2)___ と入力した。
	myfile.txt の内容の一部を修正することにした。
		そこで ___(3)___ ウィンドーで CTRL-___(4)___、
		CTRL-___(5)___ と入力して、myfile.txt
		を呼び出し、必要な修正を施した。修正後の文書は、新たに
		ourfile.txt なるファイルとして保存することとした。そこで、CTRL-___(6)___、
		CTRL-___(7)___ と入力し、新しいファイル名
		ourfile.txt を指定した。
	-rw------- 1 g770001 student 234 Feb 16 12:34 myfile.txt -rw------- 1 g770001 student 288 Feb 16 12:34 ourfile.txtこれにより
ourfile.txt のファイルの大きさは
		___(9)___ であることが判った。次に ourfile.txt
		はだれでも読んでいいが書き込みは禁止することとし、
		パーミッションを変更するため、___(1)___ ウィンドーで
		___(10)___ と入力した。
	http://www.komaba.ecc.u-tokyo.ac.jp/
		である。ここに、http は ___(6)___ を、
		www.komaba.ecc.u-tokyo.ac.jp は ___(7)___ を表す。
	(参考)円を描くときは、半径 r を一定に保ち、 角度 θ を 0 から 2π ラジアンまで変えて x = x0+r cosθ、 y = y0+r sinθ なる点 (x, y) の軌跡を描くのに対し、 薔薇状図形では半径も角度もともに変化させて r = rm sin(pθ/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.
	
(設問)このプログラムを、数値ではなく、半角ローマ字の名簿 (最大長 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.