カリキュラム3日目総括/アルゴリズムの理解とJava実行プロセスの概念を復習する

2219 ワード

エレベータアルゴリズム



疑似コードを使用した問題の作成

  • の正確な状況(エレベーター数、動作可能、フロア数、乗客数、初期位置)、初期条件表現
  • .
  • が実行する論理(アルゴリズム)
  • を考えてみましょう.
  • のその他のオプション(勤務時間の設定)とその他のアクション(コール優先度)を考慮
  • 試験は
  • と仮定する.
  • は、すべての可能性を考慮する(例えば、乗客が正確に同じ時間にエレベーターに到着した場合、ランダムですか?2人が同じ階にいて、異なる方向の階にいる場合)
  • .
    効率的な運用方法を考える
  • 含蓄のある文で
  • を表現する
    ユーザの観点から考える
  • (ex:uscase)
  • 엘리베이터가 한 개만 설치되었을 때
    
    	1. 엘리베이터에 승객이 없다면 현재층에 대기한다. 대기상태
    	2. 엘리베이터가 대기상태일 때, 탑승을 원하는 승객이 있다면 승객이 있는 층으로 간다.
    	3. 엘리베이터가 움직이기 시작하면 동작상태
    	4. 엘리베이터가 동작상태일 때, 경로상에 있는 층에서 같은 방향으로 이동하고자 하는 승객이 있을 경우 해당 층에서 멈춘다.
    	5. 엘리베이터가 동작상태일 때, 경로상에 있는 중간 목적지에서 멈추고자 한다면 해당 층을 중간 목적지로 설정하고 중간 목적지에서 멈춘다.
    	6. 엘리베이터가 동작상태일 때, 현재 목적지와 같은 방향이지만 더 먼 목적지로 이동하고자 할 경우, 목적지를 갱신하고, 기존의 목적지는 중간 목적지가 된다.
    	7. 엘리베이터가 목적지에 도착한다면 대기상태가 된다.
    	8. 엘리베이터가 동작상태일 때, 경로상에 있지 않다면 엘리베이터가 대기상태가 되거나, 같은 경로로 이동하게 될 때까지 기다린다.
    
    ex) 현재 엘리베이터는 3층에서 대기상태, 승객은 1층에서 탑승하여 5층으로 이동 희망
    엘리베이터는 동작상태가 되고, 1층으로 이동한다.
    엘리베이터는 5층에서 승객을 내려주고, 대기상태가 된다.
    
    ex) 현재 엘리베이터는 1층에서 5층으로 동작상태, 승객은 2층에서 탑승하여 4층으로 이동 희망
    엘리베이터는 같은 경로상에 있는 2층에서 멈추고, 승객을 태운다.
    엘리베이터는 경로상에 있는 4층에서 멈추고, 승객을 내린다.
    엘리베이터는 목적지인 5층에서 멈추고, 승객을 내린다.
    
    ex) 현재 엘리베이터는 5층에서 7층으로 동작상태, 승객은 3층에서 탑승하여 1층으로 이동 희망
    엘리베이터와 같은 경로가 아니므로, 3층의 승객은 대기하게 되고 엘리베이터는 목적지로 이동한다.
    엘리베이터는 7층에서 멈춰 승객을 내려준 다음 대기상태가 된다.
    3층에서 1층으로 탑승을 희망하는 승객이 있기 때문에 다시 동작상태가 되어 3층으로 이동한다.
    
    엘리베이터가 두 개가 설치되었을 때
    
    	1. 탑승을 원하는 승객이 있다면, 대기상태에 있는 엘리베이터가 움직인다.
    	2. 둘 다 대기상태일 경우, 가장 가까운 거리에 있는 엘리베이터가 움직인다.
    	3. 둘 다 동작상태일 때, 같은 경로상에 있는 엘리베이터가 있다면 해당 엘리베이터가 멈춘다.
    	4. 둘 다 동작상태일 때, 같은 경로상에 있는 엘리베이터가 하나도 없다면 대기상태가 되거나 같은 경로상에 있는 엘리베이터가 있을 때까지 대기한다.

    JAVA運転プロセス


    ソースコード-コンパイラ-Class-JAVA-アーカイブ-要求実行-JVM

    Class

  • 構成
  • package
  • import
  • Class { }
  • 目的
  • オブジェクト性使用:オブジェクトプロトタイプモデル
  • 非オブジェクト使用:Cと同じ役割(グローバル関数およびグローバル変数調査用)
  • 構成メンバーデータ(変数)、関数(メソッド)
  • クラスの共通ルールの作成
  • 名前は大文字で始まり、
  • {}開始および終了
  • 名前はファイル名と同じ
  • 宣言部