• 締切済み

VB2005

プログラムは初めての者です。 毎日10個の数字を入力して、合計・平均・計算(割り算)・一番多い数字・少ない数字・条件をつけて3つ選択するというようなプログラムを作ることが出来るのでしょうか? こういうものが作れるなら勉強しようかと思うのですが簡単で良いのでどういったことができるのか教えてもらえないでしょうか? 趣味でやるだけなので難しいことは必要ないです おねがいします

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

聞いている程度のことは、技術系の高等学校でBASICを勉強し始めて、すぐに出る例題です。 >こういうものが作れるなら なんて聞く程度の問題ではない。 この程度の場合、やり方は2つあって (1)用意された関数(メソッド)・クラスを使う方法 平均、中央値、メディアンなどはV.NETのMATHクラスには無い。 下記の自作をする必要が有る。 (別のことだがエクセル関数なら有る) (2)自分で処理ロジック(アルゴリズムといわれるものの、入り口的なもの)で計算する が有る。 このロジックは言語の種類に余り関係なく必要なスキルで、調べながらプログラムを組んで身に着けていくもので、BASICの文法書などに必ず書いてあるものではない。キホン的なものは例題で示してある本も出くわすことも有る。 例えば平均なら、1つずつ資料データを(読んで)足していって、データの最後を足した後にデータ個数で割る、といった処理。 >一番多い数字 などは、やり方が数種類考えられるし、並べ替えなど使わないと結構難しい。 >でどういったことができるのか これも方向がずれた質問。一般的に何でもできるととりあえず考えること。 問題によってはプログラムを組むのに高度な背景知識や学習や経験が必要なだけ。 内容を理解する知識 プログラムで実現する知識 >趣味でやるだけなので これも素人の質問。趣味に関連して作るプログラムが易しいとは決していえない。むしろ難しい。最近はPCゲームなどで目が肥えているので、パソコンで自作できそうと思っても、通常素人にはすぐ出来ないものだ。 質問で出ている平均などの例は趣味の代表的な課題ではない。 ーーーーー 質問からづれているが、エクセルがあるならエクセルVBA(文法はVB6当)を勉強したほうが、質問例のことなら達成は早いと思う。 関数を使う法 Sub test01() MsgBox WorksheetFunction.Average(Range("a1:A10")) MsgBox WorksheetFunction.Sum(Range("a1:A10")) MsgBox WorksheetFunction.Median(Range("a1:A10")) End Sub 処理ロジックによる法 A列データの平均 Sub test02() d = Range("A65536").End(xlUp).Row '最終行数=データ数 MsgBox d t = 0 For i = 1 To d t = t + Cells(i, "A") Next i MsgBox "合計=" & t MsgBox "平均=" & t / (i - 1) MsgBox WorksheetFunction.Average(Range("a1:A10")) End Sub これを(第2行目d = Range("A65536").End(xlUp).Row '最終行数=データ数を除いて)VB.NETのやり方に置き換えると良い。

PrinApple
質問者

お礼

計算なら簡単なプログラムかなと思い例えで書いたのですが、この例を必要としているのではなく目的はVB2008を使ってみたいという好奇心だけです。 スタートは好奇心からなら楽しくできるだろうと思っているのですが、VBAでは意味がないのです。 下にも書いたのですが足し算だけでも良いのです。 とにかく何かひとつ最後まで作ってみたいそれだけです。 いろんなサイトをみたのですが超初心者にはさっぱり><わからずなにか参考になる回答があればと期待ししているのですが・・・ ありがとうございました

  • talosoft
  • ベストアンサー率26% (6/23)
回答No.2

まず、入力した値を保存する方法が必要です。 いっぱんてきにこのような情報はファイルに保存します。 Class SampleClass '入力した値をファイルに保存 Private Sub Save() Dim Writer As New System.Io.StreamWriter(My.Application. _ Info.DirectoryPath & "\Data.txt",true,System. _Text.Encoding.Defult) Dim I as Integer For I=1 to 10 Writer.WriteLine(InputBox(Datetime.Now & " のデータを入力")) Next writer.Close() End Sub '例:足し算(同様に合計・平均・計算(割り算)・一番多い数字・少ない数字・条件をつけて3つ選択も可能です) Private Sub Plass() Dim reader As New System.IO.StreamReader(My.Application. _ Info.DirectoryPath & "\Data.txt",System. _Text.Encoding.Defult) Dim I as Integer=0 Do Until reader.EndOFStream() I+=CInt(reader.ReadLine()) Loop MsgBox("合計は " & I & "です") reader.Close() End Sub End Class '実際に使うときはえらー処理も実装する必要があります コメント VisualBasicも一種のプログラミング言語ですので何でもできると考えてかまいません。

PrinApple
質問者

お礼

出来るいうことは分かりました ありがとうがとうございます もしまたここを見に来られたら教えて頂きたいのですが、質問にも書いたのですが、これからはじめるので書いているプログラムはさっぱりわかりません。 超初心者向けのサイトはないでしょうか? とにかく足し算だけでも良いのでなにかを作ってみたいのです^^

  • Aman_Jack
  • ベストアンサー率43% (110/255)
回答No.1

例に挙げられたような「計算」や「条件判断」は、VBの基本的な機能なので、少し勉強すれば簡単にプログラムを作成することができます。 ちなみに、そういった計算の類いならエクセルの関数を使っても可能ですが、基本的なプログラミングの考え方は同じなので、エクセルでどういう式にすれば良いかをイメージできないと、VBなどでプログラミングするのは苦労するかも知れません。

PrinApple
質問者

お礼

とりあえず出来るという事が分かったのでまずは準備からします ありがとうございました

関連するQ&A

  • c言語でのプログラミング

    キーボードから複数個の正整数値を読み込み,合計値と平均値(小数第1位まで)を表示するプログラムを作りなさい。 ただし入力数値の個数はプログラミング時には決定していない。 負整数が入力されたら入力値はもうなくなったと判断することとし,負の数は計算には使用しないこととする。またデータは少なくとも1つは入力されるものとする。(p02ex15.c) 検証は1から10までの数字すべてを与え,合計値55,平均値5.5が表示されることを確かめること。 (「1,2,3,4,5,6,7,8,9,10,-1」(-1はデータ終わりの合図)を入力して確かめなさい。) また,1から5までの数字すべてを与え,合計値15,平均値3が表示されることを確かめること。 (「1,2,3,4,5,-1」(-1はデータ終わりの合図)を入力して確かめなさい。) このプログラムのソースコードを教えて下さい。 解説もよろしくお願いします。

  • VB テキストボックスの数字を自動計算させたい

    VBの講義を始めて2週間の初心者です。課題で作らないといけないプログラムがあるのですが手詰まりました。助言をお願いします。 プログラムはアメフトの試合結果を計算するものです。 全てテキストボックスを5個用意し、うち4個に1回から4回までの得点を入力し、残り1個に合計点を表示させるものです。 ボタンはありません。テキストボックスのみです。もしかしたら、合計点表示はラベルかもしれませんがなんだか判別がつきません。 また、テキストボックスに数字を入力したら自動的に計算するように、と条件が出ています。 4つのテキストボックスに数字を入力し、1つのテキストボックスまたはラベルに合計を表示させるコードってどう書けばいいのでしょうか・・・?本やサイトを参照したりもしましたがどうもうまくいかず頭に疑問符が浮かぶだけです。 授業自体はまだ始まって間もなく、ハローワールド的な導入部分、主なコントロールの紹介、変数の宣言しかやっていないのでIFなど複雑なものコードは書かないとは思いますが・・・。

  • VB2008少し理解しました^^

    3回目の質問です! お願いします。 まったく分からないところから、個人的な練習としての”足し算で答えが出させる”ところまで理解出来ました。 それで、次に進もうとしているのですが、上記の例題で入力して数字と答えが残っていく方法はデーターベースとかいうのを理解すれば良いのでしょうか? また、その記録を利用して必要なものを・・例えば3回目の計算と10回目の計算ではどちらが大きいか?・・というプログラムもデーターベースを利用してそこからデーターを取り出して必要な計算をさせるプログラムを作るということで良いのでしょうか? 初めてからまだ3回目の質問ということで、質問内容も素人内容だとは思いますが、貧乏でVB2008の本まで買う余裕がないので・・すみませんが誰かお付き合いして頂けませんでしょうか^^

  • 数字の置き換えとその平均値について

    エクセルの関数について教えてください。 1,3,2,5,4・・・ と1~5までの数字が、A1からA300まで 入力されています。その数字を 1→5、2→4、3→3、4→2、5→1と置き換えて 尚且つ置き換えた数値の平均値を求めたいのですが、 IFやCHOOSEを使って置き換えることはできたのですが、 置き換えた数字の合計や平均値が、計算されません。 どこに問題があるのか、どのように するのがいいのかおしえてくだい。 よろしくお願いします。

  • Excelでの合計予想

    Excelで日毎に売上金額を入力しております。 例えば、 1日 100 2日 100 3日 100 4日 100 5日 100 この場合、5日時点で月末合計予想は単純に3000になります。 (AVERAGE関数で一日平均を出し、×30) 1日 100 2日 100 3日 100 4日 50 5日 50 この場合、単純に計算すると5日で400なので、30日で2400。 (AVERAGE関数で一日平均を出し、×30) ただ、もしかすると6日以降はずっと50かもしれません。 そうすると2400までいきません。 ですので、例えば、直近で入力した数字(今回の場合は5日の50)が月末まで毎日続くと仮定した合計予想を出す計算式がないものかと悩んでます。 どなたかご教授のほどお願いいたします。

  • エクセルでの、たし算方法は?

    私は計算と言うと エクセル位しか知らないんですが 今迄、使った事が、ありません で、現在、平均点の計算を、してるんですが 今迄は、3ケタの数字をメモ帳に入力 それを数十個入れた後、全部を足して 平均点を出してました ちなみに入力方法は 「a652 597 b484 417 c589 688 d477…」 なんですが、数字の前に アルファベットを入力してのは 入力数を分かり易くする為で 例えば「j600」迄の入力で、平均点を出す場合 いちいち、全部の数字の数を数えなくても “j”はアルファベットの10個目ですから 10×2で、合計20個で割ってました しかし、足し算は計算機を使用してましたから 入力ミスを、する時や時間が掛かる為 これをエクセルで出来ないかと考えました ハッキリ言って、数字を入力する時に 一緒に計算機で、同時計算をすれば、一番早いんですが 入力するのに時間が短く 計算機で同時計算の余裕がありません ただ、自分でもエクセルの使用方法を検索等で調べたんですが 私が分かったのは 1セル(?)の中に全ての文字を “+”で入れて合計を出す方法と セルの中に、数字を入れて 後からセルと“+”で合計する方法です でも、全ての数字と“+”では 1セルの中が見え難くなりますし 入力後にセルと“+”では二度手間で しかも、クリックの押し間違いが出る時があります そこで聞きたいんですが セルの中に数字を入れながら、自動で計算出来る… 又は、平均点も簡単捜査で出来る方法を 御存じないでしょうか?

  • どの言語がいいのでしょう?

     今回、ちょっとしたソフトウェアを作ろうとしているのですが、どの言語を使えばいいのかわかりません。  まず、インターネットでよく見るようなチェックボックスと数字入力欄に入力します。  次に、入力された数字を計算します。  最後に、計算結果と、「チェックした内容によって変化する結果」を画面に出力します。  C言語を少し勉強した自分と、この条件にあうプログラム言語を教えてください。よろしくお願いします。

  • 同一セル内に数字・文字がある場合の計算式

    同一セル内に数字・文字がある場合の計算式 エクセルにおける表計算で困っています。 表計算をする場合、通常はセル内に数字のみを入力し合計値を求めてました。 例:100+100 合計200 しかし、同一セル内に文字が入ってきた場合は、合計値を求めても計算ができません。 例:100円+100円 合計0 セル数が少なければ電卓でも出来ますが、多い場合や平均値を求める場合に効率が悪くなります。 セル内の文字を読み取ることなく、数字データだけ読み取る方法はありますか?

  • 簡単な数式 Excel

    Excelの合計計算で (12-2-2)÷2=4 の様な割り算の入力数式を教えて下さい。 =A1-B1-C1 まではわかります。

  • エクセルについて

    エクセルでいわゆるA1のセルにいわゆる+5.09とはいッていて(単純に+プラスなしで5.09ですが)A2のセルに-4.09と入力してあッてA3のセルに-2.09と入力してある場合で、3つの数字のいわゆる合計すると5.09-4.09-2.09で-1.09になりますが、この-1.09を求めたい場合にどのような計算式を入力すれば簡単にもとめられますか?たとえば平均を求めたい場合はAVERAGE を利用すれば簡単に平均がもとめられますが、さきほどの計算式がワからる人はおしえてもらいたいのですが、お願いします。

専門家に質問してみよう