質問です
任意に何個の数字を入力するかを prompt 窓で入力する(10を入力したとすると10回 prompt 窓を出す)。
それらの回数 prompt 窓を出して数字を入力する。入力した数字のうち、最大値を表示するプログラムを作成せよ。
ヒントがあります、
入力した値を繰り返しによって、配列の代入します。a[count]=window.prompt~。
その後、最大値を決めます。
if ( a[count] < a[count+1] )
{
saidai = a[count+1];//大きかったらストックする
No.2ベストアンサー
- 回答日時:
> 講義では使っていない
そういう事を言う人がいるんですが、基本的には「くだらない」んですよね。
何故なら、プログラミングは義務教育ではない(まぁ、今は小学生が頑張ってるみたいですが)。
「講義で教えてないから」減点するような先生っていないでしょう。いたらそいつはバカなだけです。
むしろ、「講義で教えてない」事を自分で進んで調べて活用出来るようじゃないと先が無いですよ。
っつーか、そもそもプログラムって「動けば正解」なんですよ。貴方だけでなく、プログラムのユーザーはプログラムがどんな実装されてるか、なんか気にしません。それよりも「正しく動いた」事が重要視されます。
貴方はエクセルがどんな風に実装されてるのか気にした事ありますか?僕はないし、誰も無いんですよ。
それと「ヒント」はあくまでヒントであって、それ使って実装しろ、って意味じゃないですよね。仕様とヒントは違います。
また、JavaScriptは大勢の人(JavaScriptを使ってる人でさえ)勘違いしてますが、名前にJavaがついてるんで、Javaの仲間だとか、あるいは良くてC系言語の一種と思われてますが、真実は違います。実際は関数型言語(HaskellとかOCaml等のマイナーな言語)の仲間です。
この「ヒント」は、敢えていうと、C系言語的にJavaScriptを使え、と言う、言語設計根幹から言うと相当勘違いしてる・・・と言うかミスリーディングを含む、あんま良くない質の問題なんですよね。
// ここから
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
</head>
<body>
<script>
var count = parseInt(prompt(), 10);
var a = Array(count)
for (let i = 0; i < count; i++) {
a[i] = parseInt(prompt(), 10);
}
alert(Math.max.apply(null, a));
</script>
</body>
</html>
ありがとうございます
さっそく
提出済ませました
前回にも
他の課題で何か怪しそうなのもがありました
質の悪いというか筋の良くない問題のように思えました
こんな先生の鼻を明かしてやりたいものです
引き続きお時間が許せれば、ご教授願えればありがたいです
osamu
No.3
- 回答日時:
> 他の課題で何か怪しそうなのもがありました
> 質の悪いというか筋の良くない問題のように思えました
多分貴方の直感は正しい。
意外と「C言語がすべての基本」って勘違いしてる人が多いんで、そういう「都市伝説」をズッポリ徹頭徹尾信じてるとそういう悪問が多くなってくる。
関数型言語は全く別のパラダイムに存在してる。従って関数型言語で「C言語のように考える」のは愚策です。
そして先にも書きましたが、見た目はC言語系構文に似せてますが、JavaScriptの実態はむしろ関数型言語です。少なくとも初期の設計目標はその辺にある。
JavaScriptのような関数型言語だと押さえるべきツボは実は次の4つしかないです。
・無名関数に慣れる事
関数式:
https://developer.mozilla.org/ja/docs/Web/JavaSc …
・Mapメソッドを使いこなす事
Array.prototype.map():
https://developer.mozilla.org/ja/docs/Web/JavaSc …
・reduceメソッドに慣れる事
Array.prototype.reduce():
https://developer.mozilla.org/ja/docs/Web/JavaSc …
・applyメソッドに慣れる事
Function.prototype.apply():
https://developer.mozilla.org/ja/docs/Web/JavaSc …
重要度は上から順に、です。
この4つは関数型言語ではどれも最重要と言って良い機能で、逆に言うとどの関数型言語にも搭載されています。
そしてこれらはC言語にはない凄まじく強力な機能で、Javaなんかでもつい最近までは入ってなくて言語設計者的には垂涎の機能でした。
実のトコ、ユーザーにとってはさほどでもなかったんで、実際これらを取り込んだJavaではしばらくユーザーを混乱させたくらい、です(現在でも継続中?)。
また、C++/C#なんかでもどっちかっつーと「謎の機能」な扱いになってますね(笑)。あっちの世界で使いこなせる人は「魔術師」扱いでしょう(笑)。
特に、Mapメソッド+無名関数は関数型言語では使いまくられるコンビネーションです。何かあったらまずこのコンビを使えないか、試行錯誤するようになれば技術が凄く上達すると思いますよ。
No.1
- 回答日時:
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
</head>
<body>
<script>
var count = parseInt(prompt(), 10);
let a = []
while (count > 0) {
a.push(parseInt(prompt(), 10));
count--;
}
alert(a.reduce(function(x, y) {return Math.max(x, y)}));
</script>
</body>
</html>
ありがとうございます
ばっちりできました
a.push(parseInt
a.reduce(function(x,y){return
を使わずにはできないでしょうか?
講義では使っていないので、その解答も教えていただければたすかります
osamu
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- Visual Basic(VBA) 1つの入力フォルダの値を読み込み、3分割をして新しい変数に代入する方法を教えていただきたいです。 読 4 2022/10/17 20:52
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
DataGridViewでセルクリックイ...
-
配列のメソッド
-
コマンドプロンプト実行後に画...
-
Refreshメソッドの使い方
-
FEM解析の読み方は?
-
Labelコントロールに数字を代入...
-
VBAでSaveAs使用し、指定してい...
-
「CA2202: オブジェクトを複数...
-
C# 演算 最大値 最小値 表現の仕方
-
クエリ文字列の"?"の後を非表示...
-
オートシェイプの位置がずれる...
-
エクセルVBAにおけるON TIMEメ...
-
VBPをダブルクリックするとたま...
-
drawStringで文字間隔の調整
-
vbaエクセルマクロ RemoveDupli...
-
javascriptからjavaを呼び出したい
-
final修飾子を使っているのに、...
-
C#で右からnカラム目に文字を挿...
-
for文(拡張)内の変数(ローカ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
final修飾子を使っているのに、...
-
JSPで<SELECT>の中にDBから持っ...
-
Labelコントロールに数字を代入...
-
エクセルVBAにおけるON TIMEメ...
-
javascriptからjavaを呼び出したい
-
DataGridViewでセルクリックイ...
-
VBPをダブルクリックするとたま...
-
onClickで関数呼出し後に、結果...
-
コマンドプロンプト実行後に画...
-
配列のメソッド
-
日本の教育って時間が無い中で...
-
Refreshメソッドの使い方
-
mainメソッドのthrows節で設定...
-
【sendkeysメソッドが動かずに...
-
C# 演算 最大値 最小値 表現の仕方
-
VBA コピーが出来ません…!
-
Application.Wait の参照設定
-
ウィンドウを最前面にできません
-
for文(拡張)内の変数(ローカ...
おすすめ情報