プログラミング入門II 実習課題 2019.07.22

Back to text page


実習課題

  1. 野菜選別機のシミュレーション

    以前にもお話ししましたが,スーパーなどで袋詰で売られている野菜などは設定した重さになるように機械が自動で選別しています.例えば,ピーマンの袋詰ならば4個でおよそ160gにするには,12個から4個を選択すると必ずいい感じの重量になるという統計的な裏付けがあるそうです. (H29年のお正月の「大人のピタゴラスイッチ」による) そこで,その動作をシミュレートしてみましょう.

    20gから60gまでの重さのピーマン12個を乱数により発生させ,4個で160gに近い値になるものを選ぶ,というプログラムを作成してみましょう.

    40 55 30 52 32 42 26 21 28 29 32 22 
    
    Green peppers: 40 52 42 26  --> 160g
    

    12個から4個を選ぶという組み合わせの問題ですので,12C4ですね.全部で495通りの組み合わせを試す反復処理が必要です.
  2. カレンダー

    以下の配列を利用して,1から12までの整数を1個乱数により発生させて,それを今年の月とするとき,その月のカレンダーを表示するプログラムを作成しましょう.なお,月の名前の英語名は大体中央揃えにします.

    	int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    	char week[7][4] = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
    	char month[12][10] = {"January", "February", "March", "April",
    				"May", "June", "July", "August",
    				"September", "October", "November", "December"};
    

    m = 7
    
               July
    
    SUN MON TUE WED THU FRI SAT 
          1   2   3   4   5   6 
      7   8   9  10  11  12  13 
     14  15  16  17  18  19  20 
     21  22  23  24  25  26  27 
     28  29  30  31 
    

  3. ランダム化

    自分の名前(姓か名の文字数の多い方)のアルファベット大文字表記をランダムに並べ替えるプログラムを作成しましょう.

    NAME: MASAHIKO
    RAND: KOAISAHM
    


Back to text page