• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プログラミングの課題が出たのですが、全く分からなくて手のつけようがあり)

プログラミングの課題について分からない

このQ&Aのポイント
  • プログラミングの課題に手をつけることができない状況です。
  • 以下の問題に対応するJavascriptのプログラムを作成し、アップロードする必要があります。
  • 問題は円の面積、繰り返し、乱数、数当てゲームの4つです。

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.4

「情けは人のためならず」ですね、もうすぐ夏休み、 Web宿題請負や始めれば儲かるかな、目先の聞く人はもうやってるだろうな。 (サービス:そのままHTML内に張れば回等ページの出来上がり) <body> <p><h2>1.円の面積 (1) </h2> prompt を用いて数値を入力し、alert を用いてその数値を半径とする 円の面積を表示するプログラムを作成せよ。 <div><h3>回答</h3> <pre> var e;r=0; do{  r=window.prompt('半径を入力してください。','0');  if (!isNaN(r)){   alert('円の面積は'+Math.PI*r*r+"です。");  }   else  alert('数値ではありません');  e=window.confirm('もう一度入力しますか?')?true:false; }while(e) </pre> </div> </p> <p><h2>2.繰り返し </h2> promptを用いて100以下の数値を入力し、1から順に整数をdocument.writelnなどで表示せよ。ただし、3の倍数と3のつく整数の場合に、文字が大きく表示(サイズ7など)されるように工夫せよ。 <div><h3>回答</h3> <pre> var e;x=0; do{  x=window.prompt('100以下の数値を入力ししてください。','0');  if (!isNaN(x)){   document.open();   x=parseInt(x);   document.writeln('&lt;pre&gt;');   for(var i=1;i&lt;=x;i++){    if(i%3==0 || i.toString().match(/3/g) )    document.writeln('&lt;span style=\'font-size:xx-large\'>'+i+'&lt;/span&gt;');    else document.writeln('&lt;span&gt;'+i+'&lt;span&gt;');   }   document.writeln('&lt;/pre&gt;');   document.close();  }   else  alert('数値ではありません');  e=window.confirm('もう一度入力しますか?')?true:false; }while(e) </pre> </div> </p> <p><h2>3.乱数 </h2> 1 から 100 までの値(整数)を乱数で決定し、その値を document.write を用いて表示するプログラムを作成せよ。<br> なお、0以上、1未満の乱数は Math.random()、ある数 n の小数点を切り上げた整数は Math.ceil(n) で得られる。 <div><h3>回答</h3> <pre> var rnd=Math.ceil(Math.random()*101)-1; document.open(); document.write('&lt;span&gt;'+rnd+'&lt;/span&gt;'); document.close(); </pre> </div> </p> <p><h2>4.数当てゲーム </h2> 1 から 100 までの値(整数)を乱数で決定し、その値を正解するまで prompt による数値の入力を繰り返すゲームを作成せよ。<br> 入力した値が正解より大きい場合は「もっと小さい」、 正解より小さい場合は「もっと大きい」、 正解した場合は「正解です」と、それぞれ alert を用いて表示せよ。<br> 当然、正解は表示してはいけない。 <div><h3>回答</h3> <pre> var rnd=Math.ceil(Math.random()*101)-1; var e; alert(rnd); do{  r=window.prompt('数値を入力して下さい','0');  if (rnd==r){   alert('正解です。');   e=false;  }else{   if(rnd>r) alert('もっと大きい数です。');    else alert('もっと小さい数です。');    e=window.confirm('もう一度挑戦しますか?')?true:false;  } }while(e) </pre> </div> </p> </body>

s---a
質問者

お礼

ありがとうございます! お礼が遅くなってしまいすみませんでした! こういう課題はものすごく苦手なので、とても助かります! 参考にさせて頂きますね! 本当にありがとうございました!

その他の回答 (6)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.7

ついでに、戯言をひとこと。 学校で学生の間に学ぶべき事は、プログラミングのノウハウとか智識ではない。  例えば、いかに早く、楽に課題を片付けるノウハウとか、教授の嗜好やくせ を見抜き、どんな解答が、もっとも喜ばれて、高得点が得られるかを分析する ノウハウとか、困った時、他人に助けてもらえるような人間関係やチームワーク を作るノウハウ、要領よく生き抜くノウハウ、挫折を克服するノウハウ、 批難やさげすみに堪える根性を学ぶのです。  結局、それが実社会にでて役立ちます。

s---a
質問者

お礼

いろいろなノウハウ…どれもとても大切ですね! チームワークを作るノウハウは、この課題等をやるに当たってかなり得られていると思います! しかし今回はみんなかなり苦戦していて、ここで質問しようと思いました。 学生の間にここにあげてくださったノウハウを得て行きたいと思います! ありがとうございました!

回答No.6

まず、おれいのしかたを、おそわるべきだったな。

s---a
質問者

お礼

お礼が遅くなってしまってすみませんでした。 回答ありがとうございました!

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.5

おっと 「100以下の数値を入力し」 の条件を見落としてしまった。 「試験の時は、問題をよく読み、最後にもう一度回答を見直して、見落としが ないか確認しましょう」 って、小学生の時、教わりました。

s---a
質問者

お礼

私も見落としには気を付けたいと思います! 回答ありがとうございました!

回答No.3

2以外は答えが問題文に書いてあるようなもんなのでなにも書かない 2は剰余(%)を使うか 剰余と文字列search()のあわせ技か まだちゃんと小学校の算数覚えてるゼと自慢するか 3の倍数は3で割ったときの余りが… 1の位が3ってのは 10で割ったときの余りが… 十の位が3ってのは 先の10で割ったときの 余りを引いた答えが… あるいは単純に3のつく整数ってのを 文字列にした時に"3"がsearch()で ひっかかるかで判断 あと小学校の算数知識の応用編 3の倍数って1の位と十の位を足しても 3の倍数になるって特性があるので 剰余を使わないやり方ってのも実は可能 1の位と十の位に分解して足す 答えが10以上ならまた 1の位と十の位に分解して足す 最終的に答えが3,6,9いずれかなら3の倍数 反復一回目にはどちらかが3でないかを判断しておく 1の位と十の位に分解するときに 文字列にしてからstr[0],str[2]とか 実は文字列って実質文字の配列なんだって事 オレちゃんとわかってるゼなんて 自慢することもできる PGじゃないからどういうやり方が模範的なのかは知らないです でも多分最後のやつはないと思いますがね 個人的には2番目のが使い回しやすく、他の人がみても 何やってるのかわかりやすくていいのではないかなと思います (3の剰余が0になるか、文字列にして3がひっかかるかを調べるやり方)

s---a
質問者

お礼

丁寧にありがとうございます! 2番目のやつが使いやすいんですよね? 参考にさせて頂きます! ありがとうございました!

  • 0909union
  • ベストアンサー率39% (325/818)
回答No.2

まさか、どこかの教授みたいに、自分で出して、自分で回答して、真似してレポート出したやつは、首とか。

s---a
質問者

お礼

そんなことがあるのですか!? それはかなり怖いですね…。 私は全然教授ではありませんが。 回答ありがとうございました!

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

課題なら自分で解決するのが当たり前でしょう。 ま、百歩譲るなら、ここまでできで、ここがわからないとかならね。

s---a
質問者

お礼

課題を丸投げしてしまってすみません。 そうですよね、自分でも駄目だと思います。 これからはもっと自分で出来るところまでやろうと思います。 回答ありがとうございました!

関連するQ&A

専門家に質問してみよう