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