アプリ版:「スタンプのみでお礼する」機能のリリースについて

学校で人工言語学という授業を取っているのですが、フローチャートの回の授業を休んでしまい、三日後にテストなのに全く理解できません。
ネットで色々と調べたところ、フローチャートとはプログラムを図で表したものという風に理解しているのですが、授業で渡されたプリントの図を見ても何を問いたいのかが分かりません。
以下に図を記述します。

開始

10⇒B(処理1)

0⇒A(処理2)

A+B⇒A(処理3)

B-1⇒B(処理4)

B=0(判断)
(YESなら終了、NOなら処理3へ戻る)

どうやらこの図を参考にしてAとBの下に数字を並べていき答えを出していくらしいのですが、何を意味する図なのかすら分かりません。

すごく初歩的なことなのでお恥ずかしいですが、どのように解いていくのかを初心者にも分かるように説明していただけないでしょうか。

宜しくお願いします。

A 回答 (3件)

はじめまして。



どのように解いていくか、というのは処理の流れが分かれば大丈夫なのでしょうか?

とりあえずpoisnさんの載せている図を進めていきたいと思います。

<1回目>
処理1:Bに10を代入
処理2:Aに0を代入
処理3:A+BをAに代入、すなわちA=10
処理4:B-1をBに代入、すなわちB=9
判断:B=0なら終了、B≠0なら処理3へ
   B=9ですから処理3に戻りますね。
<2回目>
処理3:A+B=10+9をAに代入。A=19です
処理4:B-1=9-1をBに代入。B=8ですね
判断:やはりB≠0なので処理3に戻ります。
<3回目>
 ・
 ・
 ・
とどんどん進めていきますと、Bは10から1ずつ減っていってますので最後には0になりますね。その時に初めて判断のパートにおいてB=0が成立し、プログラムが終了となります。そして終了時点でのAの値は、10+9+8+…+1=55です。恐らくこの図を解く、というのは終了時のAの値を求める、というものではないでしょうか。


書いている内容がわからなければまた聞いてください。どうかpoisnさんのご参考になればと思います。それでは。
    • good
    • 1
この回答へのお礼

すごく丁寧で分かりやすい解説ありがとうございます。
完全に理解することができました。
おっしゃる通り、おそらくAを求めるということだと思います。

単位が危なくてかなりあせっていたので、すごく助かりました。ありがとうございました。

お礼日時:2006/07/16 02:14

> 10⇒B



Bという変数に10という数を代入する。
って記述だと思います。

変数、代入って、授業でやりませんでしたか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
難しい問題だと勝手に思い込んでいたのですが、すごい単純な問題だったんですね。
お騒がせしてすみませんでした。

お礼日時:2006/07/16 02:17

図ではこんな感じです


|| 10→B ||
  ↓
|| 0→A ||
  ↓
|| A+B→A ||←┐
  ↓    │
|| B-1→B || │
  ↓    │
|| if B=0 ||─┘no
  ↓yes
  end

つまりifの時点でAとBの間に以下の関係があります
A B
10 9
19 8
27 7
34 6
40 5
45 4
49 3
52 2
54 1
55 0
これって1~10までの合計値ですよね。
当たり前なんですけど、楽しいですよね。
授業じゃそうでもないか。
    • good
    • 0
この回答へのお礼

さっそくのご回答ありがとうございます。
AとBの値を最後まで書いてもらい、どうゆう風に解くのか理解できました。
すごく単純な問題だったんですね。。
ありがとうございました。

お礼日時:2006/07/16 02:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!