10 INPUT X
20 IF X=0 THEN END
30 C=X-2*INT(X/2)
40 IF C=0 THEN PRINT”偶数” ELSE PRINT”奇数”
50 GOTO 10
というプログラムはXが整数でなければ奇数と判定してしまいます。20行と30行の間に命令を追加して、Xが整数でないときは”整数でない”と表示して、次の入力を待つように修正し、整数のときだけ奇数か偶数かを判定するようにするには、
25 IF X^2>INT(X^2) THEN PRINT”整数でない”:GOTO 10
を追加する。
でよいのでしょうか?
ぜひ教えてください。
No.2
- 回答日時:
いいと思いますが、なぜxの自乗で判断するのですか?
if x <> int(x) then ...
じゃいけないの??
もちろん、gotoで飛ばしまくるより#1の方のように記述する方がいいです。
(そう書けないbasic/演習ならしかたないですが)
No.1の方のお礼にも書かせていただいたのですが、loopというのが分からないんですよ。
あとif x <> int(x) then なら負の数字の場合がダメな気がします。
No.3
- 回答日時:
>いいと思いますが、なぜxの自乗で判断するのですか?
if x <> int(x) then ...
じゃいけないの??
<>, = を使うなら、2乗の必要はないですね。
2乗にしたのは、> で判断する場合負の値も考慮したんですよね。
という事で私も少し訂正。
rem x=999は仮の初期値
x=999
do until x=0
input x
if x = int(x) then
c=x-2*int(x/2)
if c=0 then print "偶数" else print "奇数"
else
print "整数でない"
end if
loop
end
上記の内容は、
input x
と
if x = int(x) then c=x-2*int(x/2)
と
if c=0 then print "偶数" else print "奇数" else print "整数でない"
と
end if loop
で分かれ目になっているのでしょうか?
No.4ベストアンサー
- 回答日時:
>で分かれ目になっているのでしょうか?
分かれ目と言う表現が何を云わんとしているのかちょっとわかりかねます。
do until x=0
~
loop
は繰り返しの構造です。xが0になる(xに0が代入される)まで繰り返しを行う。
この繰り返し構造の中にIF文の構造が階層的に含まれています。
if x = int(x) then
~
else
~
end if
の構造の下に
if c=0 then print "偶数" else print "奇数"
のif文の構造が含まれる形です。
どうやら、プログラムの勉強をはじめたばかりの様で仕方ないのかもしれませんが、goto文を使った書き方というのは最近あまりしません。20年ぐらい前のBASICなどでは上記のような(構造化プログラミングの)書き方が出来なく、仕方なく使われてましたが。
学校でBASICの実習をしているのですが、先生も今はほとんど使われていないと言っていました。
N88BASICと打ち込んでスタートさせてます。
もしかして20年前のベーシックかも・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby パイソンプログラミング 2 2022/12/03 18:44
- Ruby プログラミング 3 2023/06/09 14:30
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- Visual Basic(VBA) 順列をランダムに発生するプログラム 1 2022/11/16 12:16
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
16進の10進変換について
-
数値英単語変換
-
【至急!!!】python言語で本を見...
-
awkの正規表現での最左最短マッ...
-
文字のカラーとフォントの指定...
-
Pythonでコンソールをクリアす...
-
Pythonでターミナルに文字を出...
-
パイソンのクラスについて
-
awk の int()に関数について
-
C言語
-
シェルスクリプトで、空白(ス...
-
PerlCGIでクエリの検索結果が途...
-
プログラミングについて 文字列...
-
画面上再読み込みをさせたいの...
-
I2C接続のLCDディスプレイを使う
-
Perl 条件一致なし 合計値 0表示
-
pythonを使ったプログラミング...
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
formで特定のinputを送信しない...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
16進の10進変換について
-
Pythonでターミナルに文字を出...
-
シェルスクリプトで、空白(ス...
-
【至急!!!】python言語で本を見...
-
pythonで演算子を変数に代入す...
-
c言語 16進数の2進数への変換
-
パイソンのクラスについて
-
I2C接続のLCDディスプレイを使う
-
関数「exists」と「defined」の...
-
pythonの*
-
変数の中は文字列か数値か調べ...
-
数値かどうかの判定方法
-
python print文のエラー
-
int(input("○○"))の使い方
-
Perlの例文でif($a==1&&$b==5&&...
-
awkの正規表現での最左最短マッ...
-
Use of uninitialized value ---
-
CGIでimgタグでalignを使うとエ...
-
swift 文字コードから文字に変...
-
javaのパッケージ構成で各パッ...
おすすめ情報