質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

解決済

1回答

375閲覧

擬似言語の処理順について

Jorrvaskr_prg

総合スコア6

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

0クリップ

投稿2022/03/09 13:52

書籍の疑似プログラムの手順がわからない

1=グー 2=チョキ 3=パー 4=OK(繰り返し中1回だけ出せ、必ず勝利する。4同士はあいこ)

①■ 回数:1, 回数≦10, +1 ②  ・太郎に入力 ③  ・花子に入力 ④ ⑤ ↑ 太郎 = 花子 ⑥   ・表示 "あいこ" ⑦ ------- ⑧  ・変数 ← 太郎 + 1 ⑨ ⑩ ↑ 変数 > 3 ⑪ ・変数 ← 1 ⑫ ↓ ⑬ ↑【 変数 = 花子 or 太郎 = 4】 【】=問題上の空欄 ⑭ ・表示 "太郎の勝ち" ⑮  ↑ 太郎 = 4 ⑯  ↓ ・太郎のOKボタンを消す ⑰ ------- ⑱ ・表示 "花子の勝ち" ⑲  ↑ 花子 = 4 ⑳  ↓ ・花子のOKボタンを消す ㉑ ↓ ㉒ ↓ ㉓■

構成自体は理解している

⑧での処理は太郎の手に+1した数字と花子の手が等しければ勝利なので行っていますが、
4以上ではグーチョキパーから外れるので⑪~⑬で1(グー)にリセットをしています。

疑問点1

⑧で+1してしまうと5になる。
そもそも4以上を1にリセットする処理を4という手があるのに入れる必要性がわからない。

疑問点2

書籍では太郎が4だった場合、⑤であいこでなければ⑫に処理が飛び、⑬~⑮を処理するような記載だが、なぜ⑧をスルーできるのか。
⑤が偽の場合、⑧が次の処理になると思うんですが、違うのでしょうか。

備考

書籍キャラ「太郎が4のとき、⑪で変数が1になっちゃいますよ?
回答「『変数=花子』の後ろに、『or 太郎 = 4』としておけば『変数=花子』の真偽に関わらず『太郎の勝ち』になります」

上記のような注釈はあれど、やはり疑問点2の理解には至らず。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

⑧で+1してしまうと5になる。
そもそも4以上を1にリセットする処理を4という手があるのに入れる必要性がわからない。

勝敗判定のロジックを理解できていない可能性があります。
「OK」を含まない手の組み合わせのうち、太郎が勝つのは以下の3通りです。

太郎の手花子の手
1(グー)2(チョキ)
2(チョキ)3(パー)
3(パー)1(グー)

いずれも、「太郎の手」の数字を1増やす(3の場合は1にする)ことで、「花子の手」の数字と一致します。これを利用して勝敗判定をしています。
4(OK)を含む場合も+1の処理は行われることになりますが、後述する理由により問題になりません。

書籍では太郎が4だった場合、⑤であいこでなければ⑫に処理が飛び、⑬~⑮を処理するような記載だが、なぜ⑧をスルーできるのか。
⑤が偽の場合、⑧が次の処理になると思うんですが、違うのでしょうか。

この説明はおかしいです。確かに「太郎」が4の場合も⑧~⑪は処理されますが、
ここで行っているのは「変数」の処理だけです。
「太郎」が4の場合は「変数」は1になりますが、結局⑫の判定において「太郎」が4であるため、
「変数」が何であろうが関係なしに⑬の処理に入ります。
つまり「太郎」が4である場合でも、⑧~⑪の処理は行うが「特に意味はない」というだけの話です。

投稿2022/03/09 16:06

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Jorrvaskr_prg

2022/03/10 00:47

変数と太郎を同一視してしまっていました! とてもわかり易かったです。ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問