シミュレーション問題です

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kairo

シミュレーション問題です

#1

投稿記事 by kairo » 13年前

窓口にできる行列の問題です.
【条件】
1.窓口の数は1つとする
2.来客は一定の時間内にランダムに来る
ただし,1分間に窓口に到着する来客の平均人数は1,2,…5人とする
3.窓口における来客1人あたりの対応にかかる時間は15から25秒の範囲内でランダムとする(平均処理時間は20秒)
4.最初の来客が来たときを0秒とする
5.5分0秒目の来客は含まない

このとき,横軸に時間,縦軸に列の長さをとり,列の長さの時間的変化を求めよ.
横軸は単位を秒とし,0秒から600秒(10分)までとし,来客は0~5分の間のみ来るとする.

乱数には一様乱数を用いる

アバター
h2so5
副管理人
記事: 2212
登録日時: 13年前
住所: 東京
連絡を取る:

Re: シミュレーション問題です

#2

投稿記事 by h2so5 » 13年前

ここは問題投稿板ではなく質問掲示板ですので、質問を書いてください。

たいちう
記事: 418
登録日時: 13年前

Re: シミュレーション問題です

#3

投稿記事 by たいちう » 13年前

質問を書いたとしても、多分このままでは条件2が曖昧です。
授業で何らかの前提の説明があった、とか、
この範囲では前提を自由にして良い、とかありませんでしたか?

kairoさんの言葉で必要十分な説明をして下さい。

kairo

Re: シミュレーション問題です

#4

投稿記事 by kairo » 13年前

条件に不備があったので追加です.

5分で25人来る場合,0~300秒の間に25個の乱数を発生させる.
この乱数は○秒に来たかを表す.
この時間を配列でソートする.

naohiro19
記事: 256
登録日時: 13年前
住所: 愛知県

Re: シミュレーション問題です

#5

投稿記事 by naohiro19 » 13年前

利用規約をお読みください

kairo

Re: シミュレーション問題です

#6

投稿記事 by kairo » 13年前

すみません.ここのサイトの規約を読みました.
確かに質問しないといけないですね.
ただ、今回は少し時間がないです.
その上,何からするかもさっぱりわかりません.
本当はソースコードを書いていただけると参考にできていいのですが
やり方や考え方だけでもいいのでお答えください.
よろしくお願いしますm(__)m

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: シミュレーション問題です

#7

投稿記事 by softya(ソフト屋) » 13年前

時間がないなら尚更フォーラムルールのテンプレートをお使いください。
締切りもお願いします。
http://dixq.net/board/board.html

今のままだと使用言語やら利用可能ライブラリなど何も分かりませんので。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

kairo

Re: シミュレーション問題です

#8

投稿記事 by kairo » 13年前

[1] 質問文
 [1.1]  上記の問題を解きたいです.

 [1.2]  「来客は定期的に来る」,「窓口における来客1人あたりの対応にかかる時間は一定」
      としてエクセルで解きましたが,C言語ではうまくできません.
  ※ちなみに,窓口における来客1人あたりの対応にかかる時間を20秒として,
      1分あたりに来る人数が5人の場合,5分で10人くらいの列ができるそうです.

 [1.3] [1.2]の状態でできないため,ランダム関数にしたら余計にできません.

 [1.4]  上記の問題の解き方及びソースコードが知りたいです.

[2] 環境  
 [2.1] OS : Windows
 [2.2] コンパイラ名 : VC++ 2008Express Edition
[3] その他
 C言語は一通りはやりましたが,あまり身に付いていません.

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: シミュレーション問題です

#9

投稿記事 by softya(ソフト屋) » 13年前

締切りが書かれていないのですが、週明けということでよろしいですか?

それと部分的にでも書けるソースコードを出来れば書いて頂けますか。

[追記]
>このとき,横軸に時間,縦軸に列の長さをとり,列の長さの時間的変化を求めよ.
>横軸は単位を秒とし,0秒から600秒(10分)までとし,来客は0~5分の間のみ来るとする.

これは、どんな表示でしょうか?
テキストならイメージを書いて頂けますか。
それともグラフィックでしょうか?

[追記の追記]
問題を読み直して疑問をもちました。

結局、5分間にどの人数が来るシミュレートをすれば良いのでしょうか?
守るべき絶對条件がわかりません。
・5分で25人を超えて良いのか?
・1分で5人を超えて良いのか?
・1分で最低1人は必要か?

一様乱数とあるが乱数の精度はどの程度を想定しているのか?
C言語の標準関数の乱数で良いのか(あまり、シミュレーションでは使わないと精度ですが)?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

たいちう
記事: 418
登録日時: 13年前

Re: シミュレーション問題です

#10

投稿記事 by たいちう » 13年前

> 「来客は定期的に来る」,「窓口における来客1人あたりの対応にかかる時間は一定」
> としてエクセルで解きましたが,C言語ではうまくできません.

手始めとしては良い条件ですね。まずはこれを解決してみませんか?
複雑なプログラムを一気に作ろうとせず、条件を簡単にして試作し、
徐々に完成に近づけていく方法がお勧めです。

kairo

Re: シミュレーション問題です

#11

投稿記事 by kairo » 13年前

>締切りが書かれていないのですが、週明けということでよろしいですか?
>それと部分的にでも書けるソースコードを出来れば書いて頂けますか。

月曜日の23時59分までにお願いします.

コード:

#include<stdio.h>
#include<math.h>
//#include <time.h>

int main(void){
	
    int i,c=0;
    
/*	for(i=0;i<300;i++){
		if(i%12==0){
			c++;
		}
		if(i%20==0){
			c--;
		}
	}
*/
/*	for(i=0;i<300;i++){
		if(i%12==0){
			c++;
		}
		if(i%10==0){
			c--;
		}
	}
*/
	for(i=0;i<300;i++){
		if(i%6==0){
			c++;
		//	if(i=i+20){
		i=i+20;		
			c--;
		//	}		
		}
	}
	
/*	for(i=0;i<300;i++){
		if(i=i+20){
			c--;
		}		
	
	}*/
	
	
	printf("%d\n",c);
	
	return 0;

}


[追記]
>これは、どんな表示でしょうか?
>テキストならイメージを書いて頂けますか。
>それともグラフィックでしょうか?

出力結果をエクセルに入れなおすか,
ファイル出力にしてやるのがいいと思います.

[追記の追記]
>結局、5分間にどの人数が来るシミュレートをすれば良いのでしょうか?
>守るべき絶對条件がわかりません。
>・5分で25人を超えて良いのか?
超えないようにしてください.

>・1分で5人を超えて良いのか?
平均が5人なので超えていいです.

>・1分で最低1人は必要か?
0人でもいいです.


>一様乱数とあるが乱数の精度はどの程度を想定しているのか?
>C言語の標準関数の乱数で良いのか(あまり、シミュレーションでは使わないと精度ですが)?

C言語のrand関数でいいと思います.

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: シミュレーション問題です

#12

投稿記事 by softya(ソフト屋) » 13年前

これは何を意図して書かれたコードでしょうか?

コード:

    for(i=0;i<300;i++){
        if(i%6==0){
            c++;
        //  if(i=i+20){
        i=i+20;     
            c--;
        //  }       
        }
    }
それと、たいちうさんの言われたことに挑戦してみませんか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: シミュレーション問題です

#13

投稿記事 by softya(ソフト屋) » 13年前

まったく同じ文面なのですが、こちらにマルチポストされていませんか?
ルール違反になりますので、相互リンクをお願いします。

「シミュレーション問題です - C++ Builder / Turbo C++ 質問の木」
http://gimite.net/bcbqtree/qtreemain.cg ... hread=1550
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

たいちう
記事: 418
登録日時: 13年前

Re: シミュレーション問題です

#14

投稿記事 by たいちう » 13年前

> 月曜日の23時59分までにお願いします.

完全に作成依頼になったのでしょうか?
kairoさんが作るのではないのですか?
少なくとも私は作りつもりはありませんよ。
アドバイスをすることはありますが。


> 出力結果をエクセルに入れなおすか,
> ファイル出力にしてやるのがいいと思います.

プログラムからのエクセルの操作は少し敷居が高いので、
ファイル出力が良いでしょう。
フォーマットは考えていますか?

例えば、

> 「来客は定期的に来る」,「窓口における来客1人あたりの対応にかかる時間は一定」

をもう少し具体的にして、以下の条件ではどのようなファイル出力になりますか?

・30秒毎に来客がある
・1人当たりの対応時間は20秒とする

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: シミュレーション問題です

#15

投稿記事 by softya(ソフト屋) » 13年前

少なくとも、こちらで作るのではなくkairoさんが作るのをお手伝いさせていただくのがスタンスになります。
なので、kairoさんにまず行動してもらわないと何も進みませんよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る