-3

問題は次のとおりです。

コスト分析はエンジニアリングの重要な部分です。実際に業務を行っていると、さまざまな潜在的な状況に対する最小コストを決定するためのプログラムを作成するよう求められる場合があります。プログラムは、プロジェクトの意思決定ツールとして使用できます。

埋め立て地に滑走路を建設する空港の建設を考えてみましょう。請負業者は 2 台のダンプトラックを所有しており、1 台は容量 8 トン、もう 1 台は容量 12 トンです。請負業者はトラックを使用して、遠隔地から空港の場所まで充填物を運びます。8 トンと 12 トンのトラックのトリップあたりの運用コストは、それぞれ 14.57 ドルと 16.26 ドルです。1 台のトラックが移動全体の 60% を超えることはできません。

与えられたトン数の最小コストを展開するプログラムを書きなさい。ユーザーに総トン数を入力するように求めます。各トラックに必要なトリップ数と総コストを表示します。このプログラムにはモジュール設計を使用してください。

これが私の試みです:

#include <stdio.h>

int main (void)
{
    double mass, sixtyPercentMass;
    int eightCount = 0, twelveCount = 0;

    printf("Enter the number of tons: ");
    scanf("%lf", &mass);
    sixtyPercentMass = 0.6 * mass;

    while((twelveCount*12) < sixtyPercentMass) {
        twelveCount++;
    }
    while((eightCount*8) < (mass - sixtyPercentMass)) {
        eightCount++;
    }

    printf("Total trips required: %d\n", (twelveCount+eightCount));
    printf("Number of 12-ton trucks required: %d\n", twelveCount);
    printf("Number of 8-ton trucks required: %d\n", eightCount);
    printf("Total cost: $%lf", (twelveCount*16.26 + eightCount*14.57));
    return 0;
}

質問:

  1. トラックの空きスペースを無駄にするにはどうすればよいですか?
    現在、1 つ余ると、トラック全体が無駄になります。実際には、必要な質量に正確に一致する数のトラックを使用する方が安価です.

  2. 総乗車数の 60% のしきい値を適切に設定するにはどうすればよいですか?
    現在、質量の 60% しか処理していません。

疑似コードまたは必要なロジックの正しい方向へのステップが役立ちます。

4

1 に答える 1

0

まず、問題をプログラムから分離する必要があります。両方を1つのステップで解決しようとすると、問題をソフトウェアとして実行するために必要なものを処理しているときに、問題に必要なものを見つけることができます。

トラックの最小数を最適化するには、不要なトラックが使用されないようにする方法を考え出す必要があります。1つの方法は、最小数の最小トラックを使用して試してみて、小さいトラックを大きいトラックに交換することでソリューションを「削減」することです。別の方法は、利用可能な最大のトラックを使用してから、小さいトラックに置き換えることができる部分的に満杯のトラックをチェックすることです。

どのように問題に取り組んでも、それを理解するためにコンピューターは必要ありません。コンピューターなしである程度問題を解決できたら(スキームが頭の中にある場合でも)、ソリューションの実装に必要なタスクを実行するプログラムを作成するタスクに取り掛かることができます。

最初のステップとして書くことから始めることは、木を切り、ハンマーで叩き始めて家を建てるのと非常によく似ています。その後、外部ドア、キッチン、壁に送電線などがない状態で、どのように食事をするのか疑問に思います。

于 2013-03-12T21:32:49.853 に答える