teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

回答のコード修正

2016/11/05 09:44

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -5,6 +5,13 @@
5
5
  ```javascript
6
6
  keisan.addEventListener('click', function () {
7
7
  var dis = parseFloat(kyori.value);
8
+
9
+ // dis がNaNもしくは0以下なら料金を0として終了
10
+ if ( isNaN(dis) || dis <= 0 ) {
11
+ ryoukin.innerHTML = '0';
12
+ return;
13
+ }
14
+
8
15
  var ryoukin1= 900;
9
16
  var ryoukin2 = 300;
10
17
 

2

誤字修正

2016/11/05 09:44

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -30,10 +30,8 @@
30
30
  > 最後に、これもできればですが、自分が書いたプログラムをどのように直せばできるのかが知りたいです。
31
31
 
32
32
  と書いてありました。これは言い換えると、
33
-
34
- どうしたら、
35
- (1) 与えられた問題を解くアルゴリズムを作り出して、
33
+ (1) どうしたら、与えられた問題を解くアルゴリズムを作り出せるのか?
36
- (2) それをコード過不足なく書けるのか?
34
+ (2) どうしたら、(1)をコードとして過不足なく書けるのか?
37
35
  が知りたい。
38
36
 
39
37
  ということだと思いました。それで、貴殿の質問にある、```dis>1000```の場合のコード:

1

テキスト追記

2016/11/05 09:29

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -22,4 +22,32 @@
22
22
  });
23
23
  ```
24
24
 
25
- 参考になれば幸いです。
25
+ 参考になれば幸いです。
26
+
27
+ ---
28
+ 以下、追記です。
29
+
30
+ > 最後に、これもできればですが、自分が書いたプログラムをどのように直せばできるのかが知りたいです。
31
+
32
+ と書いてありました。これは言い換えると、
33
+
34
+ どうしたら、
35
+ (1) 与えられた問題を解くアルゴリズムを作り出して、
36
+ (2) それをコードを過不足なく書けるのか?
37
+ が知りたい。
38
+
39
+ ということだと思いました。それで、貴殿の質問にある、```dis>1000```の場合のコード:
40
+ > if(dis>1000){
41
+ > ryoukin.innerHTML = Math.ceil(ryoukin1+ryoukin2);
42
+ > }
43
+
44
+ を見ると、(少なくともこの問題に関して、)上記の(1)が出来てないと推察しています。
45
+
46
+ この問題の場合は、まず、**紙に手計算をしてみる**ことです。
47
+ 距離が、1000mの場合はいくらか? 1001m場合はいくらか? 2000mの場合は? ・・・
48
+ と手で計算をします。
49
+ その後、手計算の手順から
50
+ 「 距離が任意の X メートルの場合も、こうすれば算出できる**だろう**」
51
+ という推測やイメージを、式なり図なりで書きます。
52
+
53
+ それで、「これでいけそう」となったら上記の(2)の段階に入ればよいということになります。