コンピュータネットワーク基礎
Aクラス 宿題 2004.6.18

Back


解答はいつものように解答用紙に記入して, メールに添付して提出すること.解答用紙に学生番号と氏名を必ず記入し,ファ イル名を適切なものに修正しておくことに注意!

書類の添付されたメールにおいて,コード化や添付手続きの問題でファイルが分 割されて,複数のメールとなって送られて来る場合がまれにある.ここでは,そ のような問題を抱えた添付書類の復元について考える.以下の各設問に答えよ.

  1. 本来は一つであるはずの添付書類が次の3つに分割されている.

    data-a1

    data-a2

    data-a3

    ターミナルでコマンドを利用してこれを復元する手段を説明せよ.データの順序 は上に示した通りとする.また,手順はコマンドやオプションなども正確に記述 して,解答すること.jman コマンドにより,必要なコマンドのオプションや動作 を調べる必要がある.

  2. 実際に復元したデータを添付すること.その際のファイル名は,本来のもの を使うこと.

  3. 復元したデータは簡単な問題となっている.その解答をせよ.


解答例
  1. $ cat data-a? | uudecode -o data-a.png

    $ cat data-a1 data-a2 data-a3 | uudecode -o data-a.png

    $ cat data-a1 data-a2 data-a3 > data-a.txt
    $ uudecode data-a.txt

    など,やりかたはいろいろ.

  2. ファイル名が data-a.png になっていること.

  3. 人によって違うので,解答例は出せないが,各自で確認すること.なお,10 進数を16進数に変換するには次のようなスクリプトが利用できる.

    #!/usr/bin/ruby
    
    dec = ARGV[0].to_i
    hex = []
    i = 0
    
    while dec >= 1
      hex[i] = dec % 16
      dec /= 16
      i += 1
    end
    
    for j in 0..hex.size
      case hex[j]
      when 10
        hex[j] = "A"
      when 11
        hex[j] = "B"
      when 12
        hex[j] = "C"
      when 13
        hex[j] = "D"
      when 14
        hex[j] = "E"
      when 15
        hex[j] = "F"
      end
    end
    
    print hex.reverse, "\n"
    


コンピュータネットワーク基礎
Bクラス 宿題 2004.6.18

Back


解答はいつものように解答用紙に記入して, メールに添付して提出すること.解答用紙に学生番号と氏名を必ず記入し,ファ イル名を適切なものに修正しておくことに注意!

書類の添付されたメールにおいて,コード化や添付手続きの問題でファイルが分 割されて,複数のメールとなって送られて来る場合がまれにある.ここでは,そ のような問題を抱えた添付書類の復元について考える.以下の各設問に答えよ.

  1. 本来は一つであるはずの添付書類が次の3つに分割されている.

    data-b1

    data-b2

    data-b3

    ターミナルでコマンドを利用してこれを復元する手段を説明せよ.データの順序 は上に示した通りとする.また,手順はコマンドやオプションなども正確に記述 して,解答すること.jman コマンドにより,必要なコマンドのオプションや動作 を調べる必要がある.

  2. 実際に復元したデータを添付すること.その際のファイル名は,本来のもの を使うこと.

  3. 復元したデータは簡単な問題となっている.その解答をせよ.


解答例
  1. $ cat data-b? | uudecode -o data-b.png

    $ cat data-b1 data-b2 data-b3 | uudecode -o data-b.png

    $ cat data-b1 data-b2 data-b3 > data-b.txt
    $ uudecode data-b.txt

    など,やりかたはいろいろ.

  2. ファイル名が data-b.png になっていること.

  3. 人によって違うので,解答例は出せないが,各自で確認すること.なお,10 進数を16進数に変換するには次のようなスクリプトが利用できる.

    #!/usr/bin/ruby
    
    dec = ARGV[0].to_i
    hex = []
    i = 0
    
    while dec >= 1
      hex[i] = dec % 16
      dec /= 16
      i += 1
    end
    
    for j in 0..hex.size
      case hex[j]
      when 10
        hex[j] = "A"
      when 11
        hex[j] = "B"
      when 12
        hex[j] = "C"
      when 13
        hex[j] = "D"
      when 14
        hex[j] = "E"
      when 15
        hex[j] = "F"
      end
    end
    
    print hex.reverse, "\n"
    


Back