情報科学概論(1年生)
Aクラス 小テスト 2004.11.15

Back


以下の設問の解答は所定の解答用紙に記入 して添付書類として提出して下さい.その際に,ファイル名 を必ず自分にあったものに変更することと学生番号と氏名を記入すること を忘れないようにして下さい.

整数xの値を指定したときに,次の式を計算して結果を表示するスクリプ トを作成せよ.

x2 - |x| - 1
-------
  |x|

なお,変数xの与え方は,

x = rand(20) - 10

のように実行のたびに変わるものとし,表示結果は例えば次のようになるものとする.

x = 3 
(x^2 - |x| - 1) / |x| = 1.67

また,0による除算は実行不可能なので,

x = 0 
Impossible to calculate.

と表示する.


解答例

x = rand(20) - 10
printf "x = %d\n", x

if x != 0
  if x > 0
    y = (x*x - x - 1.0) / x
  else
    y = (x*x + x - 1.0) / -x
  end
  printf "(x^2 - |x| - 1) / |x| = %1.2f\n", y
else
  printf "Impossible to calculate.\n"
end

別解

x = rand(20) - 10
printf "x = %d\n", x

if x != 0
  if x < 0
    y = -x
  else
    y = x
  end
  z = ( x * x - y - 1.00 ) / y 
  printf "(x^2 - |x| - 1) / |x| = %1.2f\n", z
else
  printf "Impossible to calculate.\n"
end


情報科学概論(1年生)
Bクラス 小テスト 2004.11.15

Back


以下の設問の解答は所定の解答用紙に記入 して添付書類として提出して下さい.その際に,ファイル名 を必ず自分にあったものに変更することと学生番号と氏名を記入すること を忘れないようにして下さい.

整数xの値を指定したときに,次の式を計算して結果を表示するスクリプ トを作成せよ.

x2 + |x| + 1
-------
  |x|

なお,変数xの与え方は,

x = rand(20) - 10

のように実行のたびに変わるものとし,表示結果は例えば次のようになるものとする.

x = 3 
(x^2 + |x| + 1) / |x| = 4.33

また,0による除算は実行不可能なので,

x = 0 
Impossible to calculate.

と表示する.


解答例

x = rand(20) - 10
printf "x = %d\n", x

if x != 0
  if x > 0
    y = (x*x + x + 1.0) / x
  else
    y = (x*x - x + 1.0) / -x
  end
  printf "(x^2 + |x| + 1) / |x| = %1.2f\n", y
else
  printf "Mission impossible.\n"
end

別解

x = rand(20) - 10
printf "x = %d\n", x

if x != 0
  if x < 0
    y = -x
  else
    y = x
  end
  z = ( x * x + y + 1.00 ) / y 
  printf "(x^2 + |x| + 1) / |x| = %1.2f\n", z
else
  printf "Mission impossible.\n"
end


Back