ここから本文です

VisualBasicの問題なのですが解説お願いします。

ysk********さん

2018/1/910:15:46

VisualBasicの問題なのですが解説お願いします。

問19です。お願いします。

InputBox,2 to kosu,Visual Basic,gokei,6 saisho,5 gokei,if x

閲覧数:
29
回答数:
3

違反報告

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

y_h********さん

2018/1/1003:35:18

どうも。エセプログラマーです。
順番にいきます。

dim kosu as integer 等の宣言部はなんとなく理解出来ていると
思いますので、割愛します。

InputBox は入力欄が出てくる便利なやつです。

kosu と x には入力欄で入力された数字が入るわけです。

仮に
kosuには4
xには5
が入力されたとしましょう。

次に下の3つにはxと同じ5が入ります。
saidai =x saisho=x gokei=x

For k = 2 to kosu
↑でkは2からNext k の段階で1ずつ増えてkがkosuである4になるまで
Next k の間をひたすら繰り返します。

今回はkosuは4なので 3回For~Nextまでを繰り返す事になります。

次の
x = InputBox で 6 が入力されたとしましょう


↓xがsaidaiよりも大きな数字だったら、 saidaiの中身をxの中身にする
If x > saidai Then saidai = x

↓xがsaisho未満だったら、 saishoの中身をxの中身にする
If x < saisho Then saisho = x

とのことなので、
この段階で saidaiの中身は6に変わります。
※現在 saidai=6 saisho=5 gokei=5

次に
gokei = gokei + x は gokei = 5 + 6
とゆうことですね。
この段階で gokeiは11に変わります。
※現在 saidai=6 saisho=5 gokei=11


For k = 2 to kosu から
ここまでを3回繰り返すわけです。

後はだいたいわかりますね。
3回繰り返しココに書くわけいかないので、
heikin = gokei / kosu
で3回繰り返した中での1回あたりの平均を計算し、

最終的に各変数の中身を
Msgboxで表示させているわけです。
saidai saisho gokei heikin

この質問は投票によってベストアンサーに選ばれました!

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

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

lin********さん

2018/1/913:57:39

kosu = InputBox("データの個数を入力")

で、もちろん、「数値」をキーボードから入力します。

x = InputBox("データを入力")

で、もちろん、1個目のデータを入力(やはり「数値」です)。

saidai = x
saisho = x
gokei = x

は、そのままです。

「saidai」、「saisho」、「gokei」という変数に、今入力した「x」の値を入れています。

これは、あとで、「最大値」や「最小値」、「合計」を出すときの初期値になります。

For k = 2 to kosu

は、1回目の入力は済んでいるので、2回目からの最初に入力した「kosu」分の回数を繰り返します。

x = InputBox("データを入力")

で、必要回数、データ入力を繰り返します。

If x > saidai Then saidai = x
If x < saisho Then saisho = x
gokei = gokei + x

は、簡単ですね。

最初に入力した値が「5」だったとします。

すると、「saidai」も「saisho」も「gokei」もすべて「5」です。

2回目に入力した値が「9」だと、「saidai」より大きいので、「saidai」を「9」にします。

しかし、「saisho」より小さくはないので、「saisho = x」は実行されません。

「If x < saisho Then」は、入力した値が、それまでの「saisho」より小さい値が入力されたら、「saisho = x」が実行され、それが新たな「saisho」(最小値)になります。

こうして、「最大値」と「最小値」が、最終的に「saidai」と「saisho」に残るわけです。

gokei = gokei + x

は、最初「x」を「5」とすると、「gokei」も「5」です。

まず、右側の「gokei」が参照され、「5」です。

次に、入力された「x」の値が「9」だとすると、「5 + 9」が実行され、新たに「gokei」に入ります。

プログラム言語で、「If」のような条件判断以外では、「=」は、「代入」であって、「等しい」という意味はありません。

それで、数学的にはあり得ない、「gokei = gokei + x」というような式が成立します。

heikin = gokei / kosu

で、最終的な「gokei」の値を「kosu」で割って、「heikin」(平均)を出しているわけです。

あとは、「MsgBox」で、それぞれの値を表示しているだけです。

bla********さん

2018/1/911:47:34

この質問につけられたタグ

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

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

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

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

閉じる

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

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

閉じる