ここから本文です

このようなプログラムを作りたいのですが、だれか作ってくれませんか お願いします

gey********さん

2020/6/2314:19:21

このようなプログラムを作りたいのですが、だれか作ってくれませんか
お願いします

補足文字がぼやけて、すみません

1 つの入力欄から整数 n を 10 進法で読み取り、n を 2 進法で表した文字列を表示するプロ
グラムを作成してください。数値の文字列への変換については第 17.3 節を参照してください。


以下はこのプログラムが満たすべき条件またはプログラムを作成する際の注意点です。
• 入力欄の初期値は空の文字列にしてください。入力欄の size と maxlength は 10 にしてくだ
さい。これらの属性については第 20.2.1 節を参照してください。
<input type="text" size="10" maxlength="10" · · · >
• プログラムが起動した直後と、入力欄に入力された文字列の文字数が 0 のときは下図のように
(入力されていません) と表示してください。
• 入力欄に入力された文字列を数値に変換できないときは下図のように (入力エラー) と表示し
てください。
• 入力欄に入力された文字列が表す数値が JavaScript で扱える数値の範囲内かどうかはチェッ
クする必要はありません

msg.innerText,script&amp;gt,msg&amp;quot,DOCTYPE html&amp;gt,title&amp;gt,プログラム,console.log

閲覧数:
79
回答数:
2
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

glo********さん

2020/6/2318:43:56

とりあえずは,
「お願いします!!」
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q112272309...
これの続編ということで
上記ページのコードをベースにしたコード例を書きます。



<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>学籍番号 氏名</title>
</head>
<body>
<div>
10進法で
<input type="text" size="10" maxlength="10" id="tf">
2進法で<span id="msg"></span>
</div>
<script>
var tf,msg;
onload = init;
function init() {
    tf = document.getElementById("tf");
    msg = document.getElementById("msg");
    tf.oninput = update;
    update();
}
function update() {
    if (tf.value.length == 0){
        msg.innerText = "(入力されていません)";
    }else{
        var bin = parseFloat(tf.value).toString(2);
        msg.innerText = isNaN(bin) ? "(入力エラー)" : bin;
    }
}
</script>
</body>
</html>



parseFloat() メソッドや
toString() メソッドや
isNaN() 関数ついては
そのまま Google などで検索すればわかると思います。
検索例
「JavaScript parseFloat」
「JavaScript toString 進数」
「JavaScript isNaN」

ただ
msg.innerText = isNaN(bin) ? "(入力エラー)" : bin;
の部分は Google で検索できないと思います。
○○ = △△ ? □□ : ××
このような形で登場する「? :」を三項演算子(条件演算子)と言います。

これらの言葉をキーワードとして検索してもらうと
詳細がわかると思います。
検索例「JavaScript 三項演算子」
https://www.google.co.jp/search?q=JavaScript+%E4%B8%89%E9%A0%85%E6%...

もっとも

    msg.innerText = isNaN(bin) ? "(入力エラー)" : bin;

の部分は
三項演算子(条件演算子) など使わずに

    if(isNaN(bin)){
        msg.innerText = "(入力エラー)";
    }else{
        msg.innerText = bin;
    }

のように if文 を使って書いても良いのですけどね。
if文で書くと長くなる上
if文の入れ子(ネスト)って何だか野暮ったいので
三項演算子(条件演算子) を使ってみました。

質問した人からのコメント

2020/6/26 17:42:44

いつもありがとうございます。授業はいつも例題の説明をされて、いきなり問題が出されるので、訳が分からないです。どう調べればいいのかすらわからなかったので、たすかりました。
 

ベストアンサー以外の回答

1〜1件/1件中

ria********さん

2020/6/2419:57:29

HTMLの部分はググれば絶対解決できるので自分でやったほうがいいと思います。
JavaScriptで10進数から2進数に変換するコードはこれです。


b = (n) => ~~(n.toString(2));
console.log(b(100));


アロー関数を使います。
ソースコード内の~~は小数点以下を切り捨てるという意味です。
今回は100を代入してみました。
出力結果は1100100です。

JavaScriptショートコード集
https://www.o--o.cf/

こういうサイトを参考にするといいでしょう。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる