平成 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.