2009-03-15 4 views
3

月の初めに1つの顧客の口座残高、その月のすべての引き出しの合計、およびその月に行われたすべての預金の合計を読み取るアルゴリズムが必要です。この月に行われたすべての取引には1%の連邦税が適用されます。このプログラムは、(1)月の初めに口座残高から引き出し金額を引く、(2)新しい預金に預金を加算する、(3)連邦税を計算する、 (総取引額の1%、つまり、総引き出し額+総預金額)、(4)この連邦税を新しい残高から差し引く。これらの計算の後、最終的な月末残高を印刷します。次の宿題のためのアルゴリズム

+0

私に宿題の質問のように見える – oefe

+0

あなたは実際の質問を忘れました。あなたが課題を理解していなければ、あなたが理解していないことを特定する必要があります。 – Guffa

+0

タイトルではアルゴリズムを尋ねますが、あなたの質問には既にアルゴリズムが含まれているので、Guffaと同じように私は質問します。質問は何ですか? –

答えて

0

これは、2008年4月17日の質問#3に掲載されているwww.palinfonet.com/hw_java2008.pdfの宿題の問題です。

1

これは、擬似コードへの簡単な変換になります。これは宿題であるため、あなた自身で足取りをする必要があります。ただ、順番に各ステップを評価:

accountBalanceEnd <-- accountBalanceStart - totalWithdrawals 

今秒:

input: accountBalanceStart, totalDeposits, totalWithdrawals 
output: accountBalanceEnd 

はのは最初の一歩を見てみましょう

accountBalanceEnd <-- accountBalanceEnd + totalDeposits 

次に、税を計算し、それを引く:

accountBalanceEnd <-- accountBalanceEnd - (totalWithdrawals + totalDeposits) * 0.01 

最後に、結果を表示してください:

print accountBalanceEnd 
+0

(amount、account_id、date)のテーブルに保存したり、預金と引き出しを別々に保存したりするのではなく、SUM(金額)を行うことができます。 – Hamid

+0

これは、問題への入力がどのように定義されたかではありません。単一の顧客の口座残高、合計引き出し額、および合計預金額を得ることは明らかです。その後、(この情報を元に)最終残高を計算するよう求められます。 –

0

私は他のポスターに同意しますが、これは質問でもなく、人々があなたの宿題を行う予定の場所でもありません。しかし、あなたが実際に全く手がかりがない場合に備えて、私はより具体的な例を挙げます。あなたが最も可能性の高い読み取りに必要なもの

:私はおそらくこのような何かをしようとするだろう

PL/SQL

SQL Quickref

。私は意図的にそれをテストしたりコメントしたりしていないし、構文もmssqlにとって間違っているかもしれない。

CREATE OR REPLACE FUNCTION Calculate_Balance(account_id long, account_balance float, date datetime) RETURNS float AS 
    DECLARE 
    transactions_sum float; 
    fed_tax float; 
    new_account_balance float;    
BEGIN 
    transactions_sum = SELECT SUM(amount) from transactions 
     WHERE transactions.account_id = account_id 
     AND month(transactions.date) = month(date) 
     AND year(transactions.date) = year(date); 

    fed_tax = transactions_sum * 0,01; 
    transactions_sum = transactions_sum - fed_tax; 
    new_account_balance = transactions_sum + account_balance; 

    RETURN new_account_balance; 
END;    
+0

あなたのfed_tax行に論理エラーがあると思います。 1か月に100件の取引があった場合、あなたは総額に等しい連邦税を請求するでしょう!トランザクションの*番号*は関連性がなく、合計サイズのみです。 –

+0

私はそれについても疑問に思いました。 「1%の連邦税率は、その月に行われたすべての取引に適用されます」と誤解されています。それはもう一つの "変な税"だと思った;)編集。 – Hamid

関連する問題